基本数据类型
数值型
Python 中的数据皆是对象,比如被熟知的 int 整型对象、float 双精度浮点型、bool 逻辑对象,它们都是单个元素。举两个例子。
前缀加0x
,创建一个十六进制的整数:
0xa5 # 等于十进制的 165
使用e
创建科学计数法表示的浮点数:
1.05e3 # 1050.0
容器型
可容纳多个元素的容器对象,常用的比如:list 列表对象、 tuple 元组对象、dict 字典对象、set 集合对象。Python 定义这些类型的变量,语法非常简洁。
举例如下。
使用一对中括号 []
,创建一个 list 型变量:
lst = [1,3,5] # list 变量
使用一对括号()
,创建一个 tuple 型对象:
tup = (1,3,5) # tuple 变量
但需要注意,含单个元素的元组后面必须保留一个逗号,才被解释为元组。
tup = (1,) # 必须保留逗号
否则会被认为元素本身:
In [14]: tup=(1)
...: print(type(tup))
<class 'int'>
使用一对花括号{}
另使用冒号:
,创建一个 dict 对象:
dic = {'a':1, 'b':3, 'c':5} # dict变量
仅使用一对花括号{}
,创建一个 set 对象:
s = {1,3,5} # 集合变量
整数
整数
英文为integer
,简写做int
。代码世界的整数
,和我们数学课本中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。
比如在下面的代码框中,赋值语句中的数字都是整数
:
a = 20
b = -600
c = 684190
d = 0
首先,整数
可以不穿名为引号
的马甲,直接跟print()函数组团搞输出,比如下列代码:
print(666)
#打印整数
666
#打印结果
但是由于没有引号
这层皮的保护,整数
只能单独“行动”。一旦碰上其他文字类数据,譬如中文、英文。整数
这个脆皮刺客,立马被报错秒杀。
print(6小灵童)
print(6skr)
#打印数据
SyntaxError: invalid syntax
#终端显示结果:报错:无效语法
整数的“灵活多变”又体现在它的用处上,它不仅可以脱离引号
被直接打印,还可以和运算符号结合,进行数学计算
。
print(499*561+10620-365)
print((5025-525)/100+18*17)
#结果
290194
351.0
字符串
注意 Python 中没有像 C++ 表示的字符类型(char),所有的字符或串都被统一为 str 对象。如单个字符 c
的类型也为 str。
str 类型会被经常使用,先列举 5 个被高频使用的方法。
strip 用于去除字符串前后的空格:
In [1]: ' I love pythontn '.strip()
Out[1]: 'I love python'
replace 用于字符串的替换:
In [2]: 'i love python'.replace(' ','_')
Out[2]: 'i_love_python'
join 用于合并字符串:
In [3]: '_'.join(['book', 'store','count'])
Out[3]: 'book_store_count'
title 用于单词的首字符大写:
In [4]: 'i love python'.title()
Out[4]: 'I Love Python'
find 用于返回匹配字符串的起始位置索引:
In [5]: 'i love python'.find('python')
Out[5]: 7
浮点数
整数是不带小数点的数字,那么相对的,带小数点的数字,就是浮点数。非常好识别,比如下列代码中的数字都是浮点数
。
浮点数的英文名是float
1.0
3.14159
-0.33
数据拼接
+拼接
注意:+号拼接只可以接字符串
hero1 = '亚瑟'
hero2 = '李白'
achieve = 'hell world'
print(hero1+achieve+hero2)
print(hero2+achieve+hero1)
亚瑟hell world李白
李白hell world亚瑟
字符串拼接数字需要转换为字符串,不然会出错
hero1 = '亚瑟'
hero2 = '李白'
achieve = 666
print(hero1+achieve+hero2)
print(hero2+achieve+hero1)
TypeError: can only concatenate str (not "int") to str
#TypeError:只能将str(而不是“int”)连接到str
hero1 = '亚瑟'
hero2 = '李白'
achieve = 666
print(hero1+str(achieve)+hero2) #使用str()函数转换为字符串
print(hero2+str(achieve)+hero1) #使用str()函数转换为字符串
亚瑟666李白
李白666亚瑟
数据转换
负责转换数据类型的函数一共有3种:str()
、int()
和float()
。
str()函数
str()
函数能将数据转换成其字符串类型
hero1 = '亚瑟'
hero2 = '李白'
achieve = 666
print(hero1+str(achieve)+hero2) #两者输出结果是一样的
print(hero1+'666'+hero2)
亚瑟666李白
亚瑟666李白
int()函数
将数据转换为整数类型
只转换数字类型的
bug = '666'
hair = '0'
print(int(bug)+int(hair)) #转换为整数类型,才可以计算
print(bug+hair) #没转换会像字符串一样拼接
666 #计算得出的结果
6660 #拼接得出的结果
float()函数
float()
函数也可以将整数
和字符串
转换为浮点类型
只转换数字类型的
height = 183.5
weight = 79
age = '30'
print(float(height))
print(float(weight))
print(float(age))
183.5
79.0 #转换为浮点数
30.0 #转换为浮点数