【2022年二级Python】②基本数据类型

证书

为确保该篇文章内容的可靠性,先在此附上本人的二级Python语言程序设计证书加以证实。

【2022年二级Python】②基本数据类型

②基本数据类型

1. 数字类型:

(1) 整数类型:包括正整数、负整数与零,不同进制的整数可以直接进行运算。

十进制:

由字符0至9组成,例:10。

二进制:

由字符0与1组成,例:0b10或0B10。

八进制:

由字符0至7组成,例:0o10或0O10。

十六进制:

由字符0至9、a至f或A至F组成,例:0x10或0X10。

(2) 浮点数类型:指带有小数点的数字类型。

一般表示:

十进制,例:0.2,4.6。

科学计数法:

由字母e或E表示为幂的符号,基数为10,例:2e4。

(3) 复数类型:由浮点数类型的实数部分与虚数部分组成,表示为a+bj或a+bJ。

>>> (2+4j).real  #获取实部。

2.0

>>> 2+4j.real

2.0

>>> (2+4j).imag  #获取虚部。

4.0

>>> 2+4j.imag

6.0

整数或浮点数与复数的运算结果均为复数。

>>> 4-(2-2j)

(2+2j)  #复数。

>>> 4.0-(2-2j)

(2+2j)  #复数。

2. 数字类型的运算:

(1) 数值运算操作符:

+x

x的本身。

-x

x的负值。

x+y

x与y的和。

x-y

x与y的差。

x*y

x与y的积。

x**y

x的y次幂。

x/y

x与y的商。

>>> 6/2

3.0  浮点数。

>>> -6/2

-3.0  #浮点数。

x//y

x与y的整数商。

>>> 2.6//1

4.0

>>> -2.6//1

-5.0

x%y

x向y求余。

>>> 6%5

1

>>> -6%5

4

注:数值运算操作符若与等号连接可以组成增强赋值操作符。

>>> a=2

>>> a+=4  #与a=a+4等值。

>>> a

6

>>> a=2

>>> a-=4  #与a=a-4等值。

>>> a

-2

(2) 数值运算函数:

abs(x)

x的绝对值。

divmod(x,y)

(x//y,x%y),输出结果为二元组形式。

>>> divmod(2,4)

(0, 2)

>>> divmod(22,4)

(5, 2)

>>> divmod(22,-4)

(-6, -2)

max(x1,…,xn)

x1,…,xn的最大值,n的值没有限制。

min(x1,…,xn)

x1,…,xn的最小值,n的值没有限制。

pow(x,y[,z])

(x**y) %z。  #x的y次幂向z求余。

>>> pow(2,4)

16

>>> pow(2,4,6)

4

>>> pow(2,4,-6)

-2

round(x[,d])

将x五舍六入。  #保留d位小数。

>>> round(2.5)

2

>>> round(2.6)

3

>>> round(2.55,1)

2.5

3. 真假无:TrueFalseNone

>>> 2<4

True

>>> type(True)

<class 'bool'>

>>> 2>4

False

>>> type(False)

<class 'bool'>

>>> def test():

        return

>>> type(test())

<class 'NoneType'>

4. 字符串类型及格式化:

注:字符串类型为字符的有序集合,根据字符串的不同长度,有以下两种:

单行字符串:

>>> print('a')

a

>>> print("a")

a

多行字符串:

>>> print('''a

a''')  #单引号。

a

a

>>> print("""a

a""")  #双引号。

a

a

注:当需要在字符串中使用特殊字符时,则采用反斜杠为转义字符的起始符号。

\'  #单引号。

\"  双引号。

\\  #反斜杠。

\n  #换行符。

>>> print(""哈哈哈哈"")

SyntaxError: invalid syntax

>>> print("\"哈哈哈哈\"")

"哈哈哈哈"

注:字符串的序号体系有以下两种:

←反向递减序号

-5

-4

-3

-2

-1

0

1

2

3

4

正向递减序号→

(1) 索引:<字符串或字符串变量名>[序号]

>>> ("珍珠 奶茶")[0]

'珍'

>>> ("珍珠 奶茶")[-5]

'珍'

>>> str="珍珠 奶茶"

>>> str[0],str[-5]

('珍', '珍')

(2) 切片:<字符串或字符串变量名>[起始:结束[:步长]]

>>> ("珍珠 奶茶")[0:2]

'珍珠'

>>> ("珍珠 奶茶")[0:4:2]

'珍 '

>>> str="珍珠 奶茶"

>>> str[0:2],str[0:4:2]

('珍珠', '珍 ')

(3) 基本的format()格式化方法:将字符串进行格式化操作,根据操作的不同类型,有以下两类:

(a) 基本使用:"<模板字符串>".format(<参数>)

注:模板字符串内包括字符串与槽,槽内可以包括参数序号,根据格式的不同状况,有以下三种:

若模板字符串仅有一个槽,则直接对应方法中的参数。

>>> "{}说:珍珠奶茶超级好喝!".format("小红")

'小红说:珍珠奶茶超级好喝!'

若模板字符串有多个槽并且无指定序号,则按序对应方法中的参数。

>>> "{}说:{}奶茶超级好喝!".format("小红","珍珠")

'小红说:珍珠奶茶超级好喝!'

若模板字符串有多个槽并且有指定序号,则按号对应方法中的参数。

>>> "{1}说:{0}奶茶超级好喝!".format("珍珠","小红")

'小红说:珍珠奶茶超级好喝!'

(b) 格式控制:"{: <填充><对齐><宽度><,><.精度><类型>}".format(<参数>)

注:槽内除了可以包括参数序号,还可以包括格式控制标记,根据格式的不同状况,有以下几种:

:

仅为引导符号,非格式控制标记。

<填充>

当槽的输出宽度大于变量宽度时,用于填充的字符。

<对齐>

<左,>右,^居中,若无该值,则默认左对齐。

>>> s="黑糖奶茶"

>>> "{:*^8}".format(s)

'**黑糖奶茶**'

>>> s="珍珠奶茶"

>>> "{:*!^8}".format(s)  #使用填充控制标记时,该参数仅限一个。

ValueError: Invalid format specifier

>>> s="波霸奶茶"

>>> "{:*8}".format(s)  #没有对齐控制标记时,则不可以进行填充。

ValueError: Invalid format specifier

<宽度>

槽的输出宽度,若该值小于变量宽度,则输出原变量。

>>> s="珍珠奶茶"

>>> "{:6}".format(s)

'珍珠奶茶  '

>>> s="珍珠奶茶"

>>> "{:2}".format(s)

'珍珠奶茶

<,>

数字的千位分隔符,可以用于整数或浮点数。

>>> "{:,}".format(222444666)

'222,444,666'

>>> "{:,}".format(222444.666)

'222,444.666'

<.精度>

可以用于浮点数的小数位数或字符串的最大长度。

>>> "{:.2f}".format(2222.2222)

'2222.22'

>>> "{:.2}".format("珍珠奶茶")

'珍珠'

<类型>

根据数字的不同类型,有以下两类:

整数型:

b  #二进制。

d  #十进制。

o  #八进制。

c  #Unicode字符。

x/X  #小/大写十六进制。

>>> "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(2022)

'11111100110,ߦ,2022,3746,7e6,7E6'

浮点数型:

e:输出浮点数对应的小写字母e的指数形式。

E:输出浮点数对应的大写字母E的指数形式。

f:输出浮点数的标准浮点形式。

%:输出浮点数的百分形式。

>>> "{0:e},{0:E},{0:f},{0:%}".format(22.22)

'2.222000e+01,2.222000E+01,22.220000,2222.000000%'

5. 字符串类型的操作:

(1) 字符串操作符:包括连接符、逻辑运算符、比较运算符。

>>> x="A"

>>> y="B"

>>> x+y

'AB'

>>> "A" in "AB"

True

>>> "C" in "AB"

False

>>> 2<4

True

>>> "A">"B"

False

(2) 处理函数:

len(str)

求字符串str的长度。

max(str)

求字符串str中ASCII码最大的字符。

min(str)

求字符串str中ASCII码最小的字符。

str()

生成一个空字符串。

chr(x)

返回Unicode编码x表示的单字符。

ord(x)

返回单字符x表示的Unicode编码。

>>> chr(21703)

'哇'

>>> ord("哇")

21703

hex(x)

返回整数x对应八进制数的小写形式字符串。

oct(x)

返回整数x对应十六进制数的小写形式字符串。

>>> hex(2022)

'0x7e6'

>>> oct(2022)

'0o3746'

(3) 处理方法:

str.lower()

将字符串中所有大写字母转换为小写。

str.upper()

将字符串中所有大写字母转换为大写。

>>> "I like you.".lower()

'i like you.'

>>> "I like you.".upper()

'I LIKE YOU.'

str.split()

将字符串按指定字符进行切片。

str.count()

计算指定字符在该字符串中的出现次数。

>>> "I like you.".split("i")

['I l', 'ke you.']  #返回列表类型。

>>> "I like you.".count("i")

1

str.replace(old,new)

将字符串中的旧字符替换成新字符。

>>> "I like you.".replace("you","him")

'I like him.'

str.center(width[,fillchar])

将字符串按指定宽度居中,可以填充字符。

>>> "like".center(2)

'like

>>> "like".center(6)

' like '

>>> "like".center(8,"*")

'**like**'

>>> "like".center(8,"%*")  #使用fillchar参数时,该参数仅限一个。

TypeError: The fill character must be exactly one character long

str.join()

将指定元素按序插入字符串间。

str.strip()

将字符串头尾的指定字符删除。

>>> "*".join("like")

'l*i*k*e'

>>> "%*like*%".strip("%")

'*like*'

str.isalpha()

判断字符串是否仅由中英文组成。

>>> "like喜欢".isalpha()

True

>>> "like 喜欢".isalpha()

False

6. 类型判断和类型间转换。

(1) 类型判断:使用type()函数对变量进行类型判断,可以用于任何数据类型。

>>> type(6)

<class 'int'>

>>> type(6.6)

<class 'float'>

>>> type(6j)

<class 'complex'>

>>> type("6")

<class 'str'>

(2) 类型间转换:

int()

将变量x转换为整数,x可以为浮点数或字符串。

float()

将变量x转换为浮点数,x可以为整数或字符串。

str()

将变量x转换为字符串,x可以为整数、浮点数、复数。

>>> int(2.2)

2

>>> int("2")

2

>>> float(2)

2.0

>>> float("2.2")

2.2

>>> str(2)

'2'

>>> str(2.2)

'2.2'

>>> str(2+2j)

'(2+2j)'

7. 逻辑运算和比较运算。

(1) 逻辑运算符:

not

表达单个条件的“否”关系。

>>> not True

False

>>> not False

True

and

表达多个条件间的“与”关系。

>>> "2"and"4"and"6"in"246"

True

or

表达多个条件间的“或”关系。

>>> a=4

>>> if a ==2 or 4:

print("哈哈")

哈哈

(2) 比较运算符:

<

小于。

<=

小于等于。

>

大于。

>=

大于等于。

==

等于。

!=

不等于。

上一篇:MySQL模糊查询再也用不着 like+% 了


下一篇:根据邮箱查询教师信息