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

②基本数据类型

1. 数字类型:

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

十进制:

由字符09组成,例:10

二进制:

由字符01组成,例:0b100B10

八进制:

由字符07组成,例:0o100O10

十六进制:

由字符09afAF组成,例:0x100X10

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

一般表示:

十进制,例:0.24.6

科学计数法:

由字母eE表示为幂的符号,基数为10,例:2e4

(3) 复数类型:由浮点数类型的实数部分与虚数部分组成,表示为a+bja+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

xy的和。

x-y

xy的差。

x*y

xy的积。

x**y

xy次幂。

x/y

xy的商。

>>> 6/2

3.0  浮点数。

>>> -6/2

-3.0  #浮点数。

x//y

xy的整数商。

>>> 2.6//1

4.0

>>> -2.6//1

-5.0

x%y

xy求余。

>>> 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  #xy次幂向z求余。

>>> pow(2,4)

16

>>> pow(2,4,6)

4

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

-2

round(x[,d])

x进行取整。  #保留d位小数。

>>> round(2.5)  #正浮点数。

2  #.1f5时,则不进位。

>>> round(2.55)

3  #当末尾为5时,则将进位。

>>> round(2.5555,2)

2.56  #当末尾为5时,则将进位。

>>> round(-2.5)  #负浮点数。

-2  #.1f5时,则将进位。

>>> round(-2.55)

-3  #当末尾为5时,则不进位。

>>> round(-2.5555,2)

-2.56  #当末尾为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)

求字符串strASCII码最大的字符。

min(str)

求字符串strASCII码最小的字符。

str()

生成一个空字符串。

chr(x)

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

ord(x)

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

>>> chr(21703)

''

>>> ord("")

21703

oct(x)

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

hex(x)

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

>>> oct(2022)

'0o3746'

>>> hex(2022)
'0x7e6'

(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) 比较运算符:

<

小于。

<=

小于等于。

>

大于。

>=

大于等于。

==

等于。

!=

不等于。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖醋白菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值