Python3 有六个标准的数据类型:
-
Number(数字)
-
String(字符串)
-
List(列表)
-
Tuple(元组)
-
Set(集合)
-
Dictionary(字典)
数字(Number)、字符串(String)、元组(Tuple)是不可变的数据类型,列表(List)、集合(Set)、字典(Dictionary)是可变的。
不可变指的是值本身不可变,但变量是可变的。比如:
1 a="hello wolrd" 2 a=10 3 print(a) #10
“hello world”这个字符串本身是不可变的,我们不能修改这个字符串本身,但我们可以修改指向这个字符串的变量。
python中没有数组这一数据类型,但可以使用列表、元组代替数组。
查看数据类型
1、可用type()查看值、变量的数据类型:
a=1 print(type(a)) # <class 'int'> print(type(1)) #可直接使用值
2、可用isinstance()判断变量类型:
1 a=1 2 b=isinstance(a, int) #返回值是bool类型 3 print(b) #True 4 5 b=isinstance(1,int) #第一个参数也可以使用具体的值
3、如果不再使用某些变量,可用del删除变量
1 a=1 2 del a #删除变量 3 print(a) #报错 4 5 6 a,b=1,"hello" 7 del a,b #可同时删除多个变量,逗号分隔
数字(Number)
Python3 支持4种数字: int、float、bool、complex(复数)
1 a,b,c,d=1,1.2,True,4+3j 2 print(c+1) #2
bool型有两个值:True、False,首字母要大写。参与算数运算时,True代表1,False代表0。
需要注意的算数运算符:
1 print(6/4) #除法,结果是浮点型 2 print(4/4) #1.0 3 4 print(6//4) #整除,只保留整数部分,1 5 6 print(2**3) #乘方,2的3次方(幂),8
强制类型转换:
1 a,b=1,2.3 2 float(a) #将a强制转换为float型,并返回转换后得到的值1.0 3 int(b) #将b强制转换为int型,并返回转换后得到的值2 4 print(a) #1 5 print(b) #2.3 6 7 """ 8 注意,变量的值并没有发生改变 9 a=1.2 10 int(a) 返回转换后得到的值1,a的值仍是1.2,没有变 11 print(int(a)) 1 12 """
构造复数:
- complex(x) //返回复数x+0j,x为实部,虚部为0
- complex(x,y) //返回复数x+yj
x,y本身的值并不改变。
字符串(String)
1、定义
1 a="hello" #可使用双引定界 2 b=' world!' #也可以使用单引定界 3 c="""hello #多行字符串可使用三个单引或三个双引定界,类似html中的<pre>标签,会保留格式。 4 world!""" 5 6 7 d=""ok"" #特殊字符要使用转义 8 print(d) 9 10 print(r" ") #可在字符串前面加一个r或R,表示原始字符串,这样就不会解析表示的特殊字符。此句代码原样输出 11 12 print(a+b) # +号是字符串连接符 13 print(1+a) #数字和字符串不能相加,会报错
2、字符串索引、截取
1 a="hello" #可使用双引定界 2 3 print(a) #整个字符串 4 5 print(a[0]) #某个字符,下表索引,可使用负数。0表示左起第一个,-1表示右起第一个。h 6 print(a[-1]) #o 7 8 print(a[0:3]) #截取字符串。hel,截取范围是[start,end),和java一样,包含start,不包含end 9 print(a[1:]) #可缺省start或end,缺省时默认start为0,end为-1 10 print(a[:3]) #
3、字符串的成倍增加
1 a="hello"*3 #字符串可与数字相乘。3个hello连接在一起。 2 print(a) #hellohellohello 3 4 print("*"*50) #分隔线效果
4、字符串的成员判断
1 print("H" in "hello") #False 2 print("H" not in "hello") #True
返回值是bool型。
5、 字符串的格式化输出
1 print("我是%s,我今年%d岁"%("小明",20)) #我是小明,我今年20岁
"字符串格式"%(值1,值2,....)
如果只有一个值,可缺省%后面的()。
格式与C语言中的相同。
符 号 | 描述 |
---|---|
%c | 字符 |
%s | 字符串 |
%d | 整数 |
%u | 无符号整型 |
%o | 无符号八进制数 |
%x | 无符号十六进制数,x可大写 |
%f | 浮点数,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数,e可大写 |
格式化操作辅助指令:
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
m.n | m 是显示的最小总宽度,n 是小数点后的位数 |
若格式不匹配,会自动转换为对应的格式输出:
1 a=1.2323 2 print("%d"%(a)) #1