计算机二级python学习教程(3) python语言基本数据类型

 更新时间:2019年05月16日 14:06:43   作者:李维山  
这篇文章主要为大家详细介绍了计算机二级python学习教程的第3篇,python语言基本数据类型,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) 计算机二级python学习教程(2)

3.1 数字类型

数字类型:整数类型、浮点数类型、复数类型。

整数类型:十进制、二进制、八进制和十六进制。

#不同进制的整数之间可以直接运算
>>> 0x3F2/1010
1.0
>>> (0x3F2+1010)/0o1762
2.0

浮点数类型:必须带有小数部分,小数部分可以是0,例如1010.0。表示方法有一般表示(只有十进制)和科学计数法。数值范围和小数精度受不同计算机系统的限制,一般认为没有范围限制。有不确定尾数。

#科学计数法 格式:<a>e<b> = a*10的b次方 (或E)
>>> print(1.01e3)
1010.0
>>> print(-1.01E-3)
-0.00101
 
#浮点数不确定尾数
>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1 + 0.2 == 0.3
False
 
#使用round()函数四舍五入 限定保留尾数 去掉不确定尾数
>>> round(0.1 + 0.2,3) == 0.3
True

复数类型:含有虚数单位(j)的数。可以看作是二元有序实数对(a, b),表示为:a + bj,a是实数部分,简称实部,b是虚数部分,简称虚部。当b为1时,1不能省略,1j表示复数,j表示Python程序中的一个变量。

#获得实数部分
>>> (1.23e4+5.64e4j).real
12300.0
 
#获得虚数部分
>>> (1.23e4+5.64e4j).imag
56400.0
>>> 

3.2 数字类型的运算

9个基本的数值运算操作符:


>>> 2+5
7
>>> 2-5
-3
>>> 2*5
10
>>> 2/5
0.4
>>> 2//5
0
>>> 2%5
2
>>> 5%2
1
>>> -5
-5
>>> +5
5
>>> 2**5
32

 整数和浮点数运算结果为浮点数,整数/整数结果为浮点数,整数或浮点数与复数运算结果为复数。

增强赋值操作符:+=、-=、*=、/=、//=、%=、**=

>>> x=3
>>> x**=3 #等价于x = x**3
>>> print(x)
27

数值运算函数:

#绝对值
>>> abs(-666)
666
 
#返回二元组(x//y,x%y),即(整数商,除法余数)
>>> divmod(10,3)
(3, 1)
 
#x的y次幂,即x**y
>>> pow(3,3)
27
 
#x的y次幂%z (模运算与幂运算同时进行 速度更快)
>>> pow(55,1999999,10000)
4375
 
#四舍五入
>>> round(6.6)
7
 
#保留小数尾数四舍五入
>>> round(3.1415926,3)
3.142
 
#取最大值
>>> max(1,2,3,4,5,0.1)
5
 
#取最小值
>>> min(1,2,3,4,5,0.1)
0.1

3.3 字符串类型及格式化

单行字符串可以由一对单引号(')或双引号(")作为边界来表示,单引号和双引号作用相同。

多行字符串可以由一对三单引号(''')或三双引号(""")作为边界来表示,两者作用相同。

>>> print('这是"单行字符串"')
这是"单行字符串"
 
>>> print("这是'单行字符串'")
这是'单行字符串'
 
>>>print("""这是'多行字符串'的第一行
这是'多行字符串'的第二行
""")
这是'多行字符串'的第一行
这是'多行字符串'的第二行
 
>>>print('''这是"多行字符串"的第一行
这是"多行字符串"的第二行
''')
这是"多行字符串"的第一行
这是"多行字符串"的第二行

语言转义符: \ 。例如:\n表示换行、\\表示反斜杠、\'表示单引号、\"表示双引号、\t表示制表符(TAB)等。

>>> print("既需要'单引号'又需要\"双引号\"")
既需要'单引号'又需要"双引号"

字符串的索引:

>>> "青青子衿,悠悠我心。"[-5]
'悠'
 
>>> s = "青青子衿,悠悠我心。"
>>> s[5]
'悠'

字符串的切片:

>>>"青青子衿,悠悠我心。"[8:4]
''
 
>>>"青青子衿,悠悠我心。"[:4]
'青青子衿'
 
>>>"青青子衿,悠悠我心。"[5:]
'悠悠我心。'
 
>>>print("青青子衿,悠悠我心。"[5:])
悠悠我心。

format()方法使用:"包含{ }的字符串模板".format(逗号分隔的参数1,2,3...)   参数从0开始编号,{ }代表槽

>>> "{}曰:学而时习之,不亦{}。".format("孔子","说乎")
'孔子曰:学而时习之,不亦说乎。
>>> "{1}曰:学而时习之,不亦{0}。".format("说乎","孔子")
'孔子曰:学而时习之,不亦说乎。'

format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。{<参数序号>: <格式控制标记>}  

>>>s = "等级考试"
>>>"{:25}".format(s)  #左对齐,默认
'等级考试
   '
>>>"{:^25}".format(s)  #居中对齐
'  等级考试  '
 
>>>"{:>25}".format(s)  #右对齐
'   等级考试'
 
>>>"{:*^25}".format(s)  #居中对齐且填充*号
'**********等级考试***********'
 
>>>"{:+^25}".format(s)  #居中对齐且填充+号
'++++++++++等级考试+++++++++++'
 
>>>"{:十^25}".format(s) #居中对齐且填充汉字“十”
'十十十十十十十十十十等级考试十十十十十十十十十十十'
 
>>>"{:^1}".format(s)  #z指定宽度为1,不足变量s的宽度
'等级考试'
 
>>>"{:.2f}".format(12345.67890)
'12345.68'
 
>>>"{:>25.3f}".format(12345.67890)
'  12345.679'
 
>>>"{:.5}".format("全国计算机等级考试")
'全国计算机'
 
>>>"{:b},{:c},{:d},{:o},{:x},{:X}".format(425)
'110101001,Ʃ,425,651,1a9,1A9'
 
>>>"{:e},{:E},{:f},{:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
 
>>>"{:.2e},{:.2E},{:.2f},{:.2%}".format(3.14) # 对比输出
'3.14e+00,3.14E+00,3.14,314.00%'
 
#常用的format()方法格式控制信息
>>>"{:.2f}".format(3.1415926) # 输出小数点后两位
'3.14'
 
>>>"{:x}".format(1010)  # 输出整数的十六机制形式
'3f2'
 
>>>"{:.5}".format("这是一个很长的字符串") # 输出字符串的前5位
'这是一个很'
 
>>>"{:-^10}".format("PYTHON") # 居中并填充
'--PYTHON--'

 3.4 字符串类型的操作

字符串操作符:

#连接两个字符串x与y
>>> "PHP" + "是世界上最好的语言"
'PHP是世界上最好的语言'
 
#复制n次字符串x
>>> "lws"*3
'lwslwslws'
 
#如果x是s的子串,返回True,否则返回False
>>> name = "lws"
>>> l in name
>>> "l" in name
True

字符串处理函数:

#返回字符串x的长度
>>> len("lws")
3
 
#返回任意类型x所对应的字符串形式
>>> str(0x3f)
'63'
 
#返回Unicode编码x对应的单字符
>>> chr(10000)
'✐'
 
#返回单字符x表示的Unicode编码
>>> ord("和")
21644
 
#返回整数x对应十六进制数的小写形式字符串
>>> hex(1010)
'0x3f2'
 
#返回整数x对应八进制数的小写形式字符串
>>> oct(-255)
'-0o377'

字符串处理方法:采用<a>.func(x)形式调用。方法仅作用于前导对象<a>

#str.split(sep) 能够根据sep分隔字符串str,分割后的内容以列表类型返回。
>>> "Python is an excellent language.".split()
['Python', 'is', 'an', 'excellent', 'language.']
 
>>> "Python is an excellent language.".split('a')
['Python is ', 'n excellent l', 'ngu', 'ge.']
 
#str.count(sub)方法返回字符串str中出现sub的次数,sub是一个字符串。
>>>"Python is an excellent language.".count('a')
3
 
#str.replace(old, new)方法将字符串str中出现的old字符串替换为new字符串,old和new的长度可以不同。
>>>"Python is an excellent language.".replace('a', '#')
'Python is #n excellent l#ngu#ge.'
 
>>>"Python is an excellent language.".replace('Python', 'C')
'C is an excellent language.'
 
str.center(width, fillchar)方法返回长度为width的字符串,其中,str处于新字符串中心位置,两侧新增字符采用fillchar填充,当width小于字符串长度时,返回str。其中,fillchar是单个字符。
>>>"Python".center(20, "=")
'=======Python======='
 
>>>"Python".center(2, "=")
'Python'

3.5 类型判断和类型间转换

Python语言提供type(x)函数对变量x进行类型判断,适用于任何数据类型。

n = eval(input('请输入一个数字:'))
if type(n) == type(123):
print("输入的数字是整数。")
elif type(n) == type(11.3):
print("输入的数字是浮点数。")
else:
print("无法判断输入类型。")

通过内置的数字类型转换函数转换:

#浮点数或字符串转换为整数
>>> int(10.01)
10
 
#整数或字符串转换为浮点数
>>> float(10)
10.0
 
#整数或浮点数转换为字符串
>>> str(10.0)
'10.0'

第三章结束

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python获取指定网段正在使用的IP

    Python获取指定网段正在使用的IP

    这篇文章主要介绍了Python获取指定网段正在使用的IP的示例代码,帮助大家更好的利用python进行测试,感兴趣的朋友可以了解下
    2020-12-12
  • pycharm 激活码及使用方式的详细教程

    pycharm 激活码及使用方式的详细教程

    这篇文章主要介绍了pycharm 激活码及使用方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • DjangoRestFramework 使用 simpleJWT 登陆认证完整记录

    DjangoRestFramework 使用 simpleJWT 登陆认证完整记录

    Djangorestframework-simplejwt是Django REST Framework框架的一个jwt插件,使用 python http 工具进行接口测试的方法文中给大家提到,重点给大家分享djangorestframework-simplejwt 使用记录及登陆认证的完成过程,感兴趣的朋友跟随小编一起看看吧
    2021-06-06
  • Matplotlib绘制混淆矩阵的实现

    Matplotlib绘制混淆矩阵的实现

    对于机器学习多分类模型来说,其评价指标除了精度之外,常用的还有混淆矩阵和分类报告,下面来展示一下如何绘制混淆矩阵,这在论文中经常会用到。感兴趣的可以了解一下
    2021-05-05
  • 基于Python实现图片文字合成工具

    基于Python实现图片文字合成工具

    这篇文章主要为大家详细介绍了如何基于Python实现图片文字合成工具,实现处理图片文件、在图片上添加文本等功能,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • 学会这个炫酷图表利器pyecharts,还怕不被公司重用?

    学会这个炫酷图表利器pyecharts,还怕不被公司重用?

    前段时间,公司高层要看上半年度项目组业绩数据分析,没办法,硬着头皮也要上!说到数据分析,肯定离不开数据的可视化,毕竟图表比冷冰冰的数字更加直观,Boss只想一眼就能看出趋势和结论.今天我们就聊一聊 pyecharts 中几种常用的图表, ,需要的朋友可以参考下
    2021-06-06
  • pandas和spark dataframe互相转换实例详解

    pandas和spark dataframe互相转换实例详解

    这篇文章主要介绍了pandas和spark dataframe互相转换实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 对Pandas DataFrame缺失值的查找与填充示例讲解

    对Pandas DataFrame缺失值的查找与填充示例讲解

    今天小编就为大家分享一篇对Pandas DataFrame缺失值的查找与填充示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python smtplib发送多个email联系人的实现

    python smtplib发送多个email联系人的实现

    这篇文章主要介绍了python smtplib发送多个email联系人的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Python学习之时间包使用教程详解

    Python学习之时间包使用教程详解

    本文主要介绍了Python中的内置时间包:datetime包 与 time包 ,通过学习时间包可以让我们的开发过程中对时间进行轻松的处理,快来跟随小编一起学习一下吧
    2022-03-03

最新评论