(一)整数类型
特别注意:
①整数类型时不可变数据类型;②注意各进制的引导符号,引导符号会在赋值时用到
③二进制不能出现2,八进制不能出现8
num1=987 #默认十进制
num2=0b1010101 #使用二进制表示整数
num3=0o765 #使用八进制表示整数,八进制不能出现8
num4=0x87ABF #使用十六进制表示整数
(二)浮点数类型
注意:
①浮点数必须带有小数部分,没有要补零;②两浮点数运算会产生不确定尾数;③函数round()可限定保留位数④浮点数类型时不可变数据类型
round(number,位数),对number保留位数,是逗号分开。
print(0.1+0.2) #输出结果时0.30000000000000004,具有不确定尾数,因为在计算机中是以二进制数进运算
print(round(0.1+0.2,1))#输出结果是0.3,保留一位小数
(三)复数类型
复数的应用:复数类型在科学计算中十分常见
(四)字符串类型
1,基本字符串类型
单行字符串使用单引号或双引号括起来,多行字符串使用三引号括起来。
city="北京"
address="其他"
info="""联系人:王某
电话:1233466
地址:不详"""
print(city)
print(address)
print(info) #输出三引号中的多行字符串
2,转义字符
print("大家\n欢迎你") #遇到\n即换行
print("大家\t欢迎你") #\t是制表符占8个空格位置,前面不满8个空格位置则用空格补齐;若满8个空格位置,则重新开辟8个空格位置
print("他说:\"要吃饭\"") #直接在句子中输出双引号
print(r"大\n家\n欢\n迎\n你") #直接输出大\n家\n欢\n迎\n你,转义字符失效原样输出
字符串界定符即为字符串的双引号或者单引号
3,字符串的索引
正向索引:序号从0开始
反向索引:从末尾的序号-1开始
s=helloworld
print(s[0],s[-10])
#以上输出结果都是h
print("大家欢迎你"[4])
print("大家欢迎你"[-1])
#输出结果相同
4,字符串的切片
注意:①若不指定N,则N默认从0开始
②若不指定M,则M默认切到字符串结尾
s="helloworld"
print(s[2:7])
print(s[-8:-3])
#以上输出相同,都为llowo
print(s[:5]) #输出为hello
print(s[5:]) #输出为world
5,字符串类型的操作
x="2022"
y="北京冬奥会"
print(x+y) #拼接字符串
print(10*x) #x的内容输出10次
print(x*10) #x的内容输出10次
print("北京" in y) #输出为True
(五)布尔类型
x=True
print(x) #输出为True
print(type(x)) #输出为<class:bool>
print(True+10) #输出11
print(False+10) #输出10
(六)数据类型之间的转换
1,基础转换
float类型转换为int类型,只保留整数部分,不会四舍五入,无论正数负数
改正:bin(x)将一个整数转换为二进制字符串
#将str类型转为int类型
print(int("100")+int("200")) #输出300
#将str类型转为float类型
print(float("3.14")) #输出float类型3.14
#将str类型转为int类型报错的情况
print(int("18a")) #报错 value error
print(int("3.14")) #报错 value error
#将str转为float报错情况
print(float("18a.987")) #value error
print("十进制转成十六进制:"+hex(26472))
print("十进制转成八进制:"+oct(26472))
print("十进制转成二进制:"+bin(26472))
#以上都是转成字符串
2,eval()函数
s="3.14+3"
print(s,type(s)) #输出:3.14+3 <class:str>
x=eval(s)
print(x,type(x)) 输出:6.1400001 <class:float>
#eval()函数去掉s的双引号,变成了表达式,且计算结果为float类型
#eval()常与input()配合使用,用来获取用户输入的数值型
age=eval(input("你的年龄:")) #该步将str转为int
print(age,type(age))
#使用eval()报错的情况
print(eval("hello")) #报错nameerror:hello is not defined
#因为eval()去掉双引号后,就变为标识符hello,且该标识符在前面为声明