Python 语言基本语法元素-----2. 基本数据类型

本文详细介绍了Python中的数字类型,包括整数、浮点数和复数的表示与运算,以及数字类型的运算规则。此外,还讲解了字符串的表示、格式化方法和常见操作,如连接、切片、查找等。最后,提到了类型判断和转换函数的应用。
摘要由CSDN通过智能技术生成

3.1 数字类型

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

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

#不同进制的整数之间可以直接运算

>>> 0x3F2/1010

1.0

>>> (0x3F2+1010)/0o1762

2.0

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

#科学计数法 格式:e = 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'

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

#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'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值