python数据类型与其他方法
1.数据类型之列表(list)
1.列表的本质
列表的本质就是能够存储多种数据,并且能够方便的获取整体或则局部,而且还是有序的
2.列表的基本使用
L1 = [11, 22, 33]
如上方所示,列表就是一个中括号括起来然后在括号中填写元素,元素与元素之间逗号隔开
并且元素可以是任意数据类型 L2 = ['tony', 11, 11.23 ,[11,22]]
1.1列表的索引取值
列表存放数据之后还需要取出来,列表的取值是按索引取值
L1 = [11,22,33,44,55,66]
如果想全部取出
print(L1)
这样就可以全部取出并且打印
如果我要取出33的话想我这样操作即可:
print(L1[2]) # 33
如果索引超出了范围那么python就会报错
print(L1[555]) # 报错
主意:在IT中的开头是按0开始数的 所以在列表L1中11的索引是0 22的索引是1 依次下去
2.数据类型之字典(dict)
1.字典的本质
字典的本质也是能够存储多种数据,并且能够方便的获取整体或则局部,并且有描述信息,字典是无序的
2.字典的基本使用
d1 = {'name':'tony','age':18,'hobby':'run'}
如上述所写 字典是大括号括起来然后在里面编写元素,元素的形式为K:V键值对
"name":'tony'就是一对k:V键值对 每对键值对逗号隔开
k是对v的描述信息,一般为字符串
v是真是的数据值,可以是任意数据类型
2.1字典的按K取值
因为字典是无序的,所以字典取值是按k取得
d1 = {'name': 'tony', 'age': 18, 'hobby': 'run'}
如果我想要取出tony的年龄这样操作即可
print(d1['age']) # 18
如果字典里没有你要的k你还要取得话是会报错的
print(d1['denger']) # 报错
3数据类型之布尔值(bool)
1.布尔值的本质
布尔值就是判断一个事物的对与错,布尔值只有两种状态,要么对 要么错
2.基本使用
is_right = True
is_delete = False
True表示的是 真、正确、可以
False表示的是 假、错误、不行
主意:在写布尔值时 True与False的首字母必须大写
3.简绍
布尔值别看简单,它在一些程序中是非常常见的,使用频率也是非常高的
存储布尔值的名字一般用 is 开头 '君子协定'
在一个程序中如果遇到is开头的变量名那么它的值必定是布尔值
4.布尔值的类型装换
在程序中所有的数据类型都可以转换成布尔值
布尔值为False的数据有
0, None, [], {}...
其他的都是True
4.数据类型之元祖(tuple)
1.元祖的本质 外号:不可变的列表
元祖的本质其实能够存储多个数据 并且能够方便的获取整体或者局部
与列表的区别在于元组内数据值不能"直接修改" 而列表可以
2.元祖的作用
元祖一般存放的是一些只能看不能改的数据
3.基本使用
t1 = (11,22,33)
如上方所写,元祖是按小括号括起来,然后在小括号中写元素,元素与元素之间按逗号隔开
4.与列表的对比
L1 = [11,22,33,44,55]
t1 = (1,2,3,4,5,6)
4.1首先它们两的取值是一样的都是按索引取值
print(L1[0]) # 11
print(t1[0]) # 1
4.2列表是能够修改的 元祖是不能修改的
L1[0] = 'tony'
print(L1) # ['tony', 22, 33, 44, 55] 列表是能被修改的
t1[0] = 'tony'
print(t1[0]) # 报错
5.数据类型之集合(set)
1.集合是用于去重和关系运算的
去重:是把一个集合中重复的元素给去除掉留一个
关系运算:是判断两个集合的关系
2.基本使用
s1 = {1,2,3,4,5,6}
集合就是一个大括号括起来,然后在大括号中写入元素,元素与元素之间用逗号隔开
3.定义一个空集合
因为集合和字典的差不多都是用大括号括起来
所以怎么定义空集合呢
s = {}
d = {}
print(type(s),type(d)) # dict 两个都是空字典
如何定义空集合呢
ss = set()
print(type(ss)) # set
这样就能定义一个空集合了
6.与用户的交互
1.输入
想计算机传递信息
关键字:input() # 获取用户的信息
比如获取一个用户的用户名
name = input('请输入您的用户名:')
1.先获取用户输入的数据
2.再赋值给左边的名字name
3.之后就可以通过名字name反复的使用用户输入的数据
print(name)
主意:用input获取到数据类型都为字符串(str)
6.2输入
1.向计算机外界传递信息
关键字:print() # 打印数据
2.括号可以放什么
print(123) # 括号能放数字
name = 'tony'
print(name) # 括号能放变量名
print(11,22,33,44) # print能够打印多个数据
3.换行符
\n \r \r\n 这三个就是换行符
最早的换行符是 \r\n
不过现在的换行符普遍为\n
4.换行符的使用
print('tony', 'jason', 'kevin')
如果不适用换行符是一行打印
print(' tony\n', 'jason\n', 'kevin\n')
如果使用了换行符那么元素之间就可以换行打印
7.格式化输出
格式化输出有两种 %s %d
7.1%s的使用
比如我要打印一段信息
info = "亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx"
上面的xxx要换成真是的数据
可以这样写
info = "亲爱的%s你好!你%s月的话费是%s,余额是%s"
print(info % ('tony', 5, 100, 666))
也可以这样
print("亲爱的%s你好!你%s月的话费是%s,余额是%s" % ('tony', 5, 999, -100))
7.2%d的使用
%d的使用与%s是差不多的
只不过%d只能允许数字站位其他的不行,而%s可以帮所有数据类型站位
print("亲爱的%d你好!你%d月的话费是%d,余额是%d" % ('tony', 5, 100, 9999)) # 报错
因为'tony'不是整型,只要把'tony'换成数字类型即可
产生固定位数的数据(总共8位 不够则使用0填充)
print('%08d' % 123) # 00000123
08可以换成其他的比如 04 05 06都可以
8.基本运算符
1.算数运算符
加减乘除
加 +
减 -
乘 *
除 /
整除 //
幂指数 **
取模 %
可以简便写法
eg:
x += 10 等同于 x = x + 10
x -= 10 等同于 x = x - 10
x *= 10 等同于 x = x * 10
以此类推
2.比较运算符
== 就是比较两边是否相等
!= 就是比较两边是否不相等
9.多种赋值符号
91.链式赋值
x = 10
y = 10
z = 10
可以简写为
x = y = 10
9.2交叉赋值
m = 10
n = 20
如何让m与n的值互换
m = 10
n = 20
print(m, n)
t = m # 先把m的值赋值给t
m = n # 然后再把n的值赋值给m 这样m与10就会解除绑定
n = t # 最后再把t的值赋值给n 这样n就会与20解除绑定
print(m, n) # 这样就可以把它们两的值互换
不过这样也可以简写
m, n = n, m # 这样也可以吧m与n的值互换
print(m,n)
9.3解压赋值
l1 = ['tony','jason','kevin']
name1 = l1[0]
name2 = l1[1]
name3 = l1[2]
print(name1)
print(name2)
print(name3)
这种也有简便写法
l1 = ['tony','jason','kevin']
name1, name2, name3 = l1 # 一行代码就可以写
但是左边的变量名要与列表的元素个数要一样,多一个少一个都会报错
但是这样也是有办法的
如果一个列表中有很多的元素我只要开头和结尾不要中间的
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a, *b, c = l1 # *号是特殊符号这样写的话就是把不要的数据组织成列表然后赋值给变量名b
print(a, b, c)
10 今日作业
# 获取用户信息并打印出下列格式
# ------------ info of XXX -----------
# Name : XXX
# Age : XXX
# gender : XXX
# Job : XXX
# ------------- end -----------------
方式一:
name = input('请输入用户名>>>:')
age = input('请输入您的年龄>>>:')
gender = input('请输入您的性别>>>:')
job = input('请输入您的工作>>>:')
info = "Name :%s\nAge :%s\nGender :%s\nJob :%s"
print(('info of %s ' % name).center(30, '*'))
print(info % (name, age, gender, job))
print('end'.center(30, '*'))
方式二:
name = input('请输入用户名>>>:')
age = input('请输入您的年龄>>>:')
gender = input('请输入您的性别>>>:')
job = input('请输入您的工作>>>:')
print(("info of %s" % name).center(30, '*'))
print("""
name:%s
age:%s
gender:%s
job:%s
""" % (name, age, gender, job))
print('end'.center(30, '*'))