python的数据类型
标准数据类型
Python3 中有六个标准的数据类型:
Number(数字)
int --python3中所有整型统一由int表示(所有正整数,0和负整数)
float --在混合计算时,Python会把整型转换成为浮点数
bool --bool型继承了int型,他是int的子类
complex --复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
String(字符串) --存放少量数据
字符串属于不可变数据类型,内部机制为了节省空间,相同的两个字符串表示相同的一个对象。a = ‘123’ b = ‘123’ a is b :True
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
int、bool、str三种数据类型之间的转换
int转bool,非0即True
print(bool(0))
print(bool(12))
print(bool(-3))
bool转int,True的值为1,False的值为0
print(int(True))
print(int(False))
str转bool,非空即为True
s = input('请输入内容:')
if s:
print('有内容')
else:
print('无内容')
运行结果:
False
True
True
1
0
请输入内容:
无内容
and、not、or三者混合运算
先后级:not(非)>and(与)>or(或)
print(1 and 2)
print(1 or 2)
print(0 and 2)
print(0 or 2)
print(not (1 and 2) or (0 and 2))
print(not (1 and 2) or 0 or 2)
运行结果:
2
1
0
2
0
2
反斜杠\在字符串中的用法
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
print('abcd\n')
print('abcd\n')
print(r'abcd\n')
运行结果:
abcd
abcd\n
abcd\n
字符串可以用一对单引号或者一对双引号表示,也可以混合使用。使用一对‘’‘可以表示多行字符串。另外反斜杠 \还可表示续航符,续行符之后,续行符后面什么都不能 出现,必须换行(必须换行写内容)。
a = '''
bugfuyegfyugeudvbebviu
vehbviyegiileblq
bkhbuycftfoa
gtrgmoijlo
'''
b = 'bugfuyegfyugeudvbebviu'
'vehbviyegiileblq'
'bkhbuycftfoa'
'gtrgmoijlo'
print(a)
print(b)
运行结果:
bugfuyegfyugeudvbebviu
vehbviyegiileblq
bkhbuycftfoa
gtrgmoijlo
bugfuyegfyugeudvbebviuvehbviyegiileblqbkhbuycftfoagtrgmoijlo
格式化输出
%用法
字符串操作符%
%s 字符串 ---采用str()的显示
%r 字符串 ---采用repr()的显示
3. %c 单个字符
4. %b 二进制整数
5. %d 十进制整数
6. %i 十进制整数
7. %o 八进制整数
8. %x 十六进制整数
9. %e 科学计数法格式化定点数 ---保留小数点后面六位有效数字,指数形式输出
10. %E 上同,基底写为E
11. %f 格式化定点数 ---保留小数点后面六位有效数字
12. %F 上同,用大写的F表示
13. %g 根据值大小自动选%f,%e ---在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
14. %G 上同,用其对应的大写形式表示
格式化辅助命令:
m.n :m最小总宽度,n小数点后位数:’%12.4f’%23456.789
print("%+10x" % 10)
print("%10x" % 10)
print("%+10x" % -10)
print("%-10x" % 10)
print("%-10x" % -10)
print('%x'% 10)
print('%x'% -10)
运行结果 :
+a
a
-a
a
-a
a
-a
转义字符:字符串前r避免转义:r’\n\t‘ ---原始字符串
\n:换行符
\t:横向制表符
\b:退格符
\r:回车
\v:纵向制表符
\f:换页符
\o,\x:八进制和十六进制
\0:空字符串
print('12345\t22222\t33333')
print('小明\t张三\t李富贵')
print('aqww\taqqq\tyukk')
运行结果:
12345 22222 33333
小明 张三 李富贵
aqww aqqq yukk
\r 能将光标定位到当前行的行首
\b则是将光标回退一位
光标的含义:光标后面的输出内容均会消失,光标回退后,后面位置的内容都会被抹除
>>> print('11111\b2222')
11112222
>>> print('\b2222')
2222
>>> print('111111\r')#光标回到行首因为没有输入,所以不消除
111111
>>> print('111111\r2')
211111
应用举例:
name = input('请输入你的姓名:')
age = int(input('请输入你的年龄:'))
job = input('请输入你希望从事的工作:')
msg = '我叫%s,今年%d岁,希望从事的工作是%s,目前学习进度还未达到100%%'%(name,age,job)
print(msg)
运行结果:
请输入你的姓名:小迪
请输入你的年龄:20
请输入你希望从事的工作:数据分析师
我叫小迪,今年20岁,希望从事的工作是数据分析师,目前学习进度还未达到100%
format用法
相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
基本用法
(1)不带编号,即“{}”
(2)带数字编号,可调换顺序,即“{1}”、“{2}”
(3)带关键字,即“{a}”、“{b}”
进阶用法
(1)< (默认)左对齐、> 右对齐、^ 中间对齐、= (只用于数字)在小数点后进行补齐
(2)取位数“{:4s}”、"{:.2f}"等xxxxxxxxxx