python基础语法2
变量数据类型与类型转换列表添加列表元素修改元素删除列表元素组织列表创建数值列表操作列表元组元组转列表字典创建字典列表取值字典删除增加修改变量
变量命名要求:
1.只能是一个词
2.只能包含字母、数字、下划线
3.不能用数字开头
变量定义位置不同影响作用域
全局变量可以在定义时加global
有本地变量,实例变量等
数据类型与类型转换
字符串str,用引号'11111'
括起来
浮点数float,带小数点的数字
整数int,不带小数点的数字
转换成str:对数据没有要求
转换成float:符合浮点数规则的字符串和整型数据
转换成int:符合整数规则的字符串和浮点数(抹零取整,向下取整)
如果对一个浮点数要进行四舍五入,可以加0.5
a = 3.6print(int(a))#3print(int(a+0.5))#4
列表
注意,引用列表元素时要使用方括号[ ],不能用()
会出现“list object is not callable”的错误
name=['A','B','C'] #定义一个名为name的列表a,b,c=name#将name里的元素逐个赋值给a b cprint(a,b,c) #一次输出多个,用,间隔,换行输出(a,'\n',b,'\n')print(name(-3))#逆序访问for i in name:print(i) #将列表元素依次赋值给i,从0位开始检索遍历
添加列表元素
append()函数,在列表末尾加
>>>name.append('D') >>>print(name)['A','B','C','D']
insert()函数,在指定位置加
>>>name.insert(1,'b')['A','b','B','C']
修改元素
直接修改
>>>name[2]='D'>>>print(name)['A','B','D']
删除列表元素
del()函数,删除指定位置元素
>>>del name[1]>>>print(name)['A','C']
remove()函数,不知道位置,知道要删除那个元素
>>>name.remove('C')>>>print(name)['A','B']
pop()函数,删除指定位置元素,并继续使用该元素
>>>name1=name.pop(0)>>>print(name,'\n',name1)['B','C']A
组织列表
永久性排序sort()函数`name.sort()#按照字母顺序name.sort(reverse=Ture)#按照字母逆
a = ['python', 'ruby', 'c', 'java']a.sort()#按照字母顺序排列print(a)#['python', 'ruby', 'c', 'java']a.sort(reverse=True)#加上True 按照字母逆序排开print(a)#['c', 'java', 'python', 'ruby']
临时排序sorted()
a = ['python', 'ruby', 'c', 'java']print(a)#['python', 'ruby', 'c', 'java']sorted(a)#['c', 'java', 'python', 'ruby']print(a)#['python', 'ruby', 'c', 'java']print(sorted(a))#['c', 'java', 'python', 'ruby']
倒着打印列表reverse(),永久性修改了排列的元素
name.reverse()print(name)#['C','B','A']
创建数值列表
range()函数,生成一系列数字
list()函数,将里面的参数转换成列表,还可以进行简单运算
>>>c=list(range(1,10))>>>d=list(range(1,10,2))>>>min(c)>>>max(c)>>>sum(c)
操作列表
切片:,相当于把列表其中的一部分切出来。要创建切片,可以指定第一个元素和最后一个元素的位置,切片到达第二个元素的前一个元素停止切片,类似于函数range( )
复制列表:要使用切片复制,用赋值‘=’仅仅是指向第一个列表
a = ['python', 'ruby', 'c', 'java']#切片print(a[1:3])#['ruby', 'c']print(a[:2])#['python', 'c']print(a[2:])#['c', 'java']print(a[-3:])#倒数第三个到最后一个 ['ruby', 'c', 'java']#复制a.append('css')b=a[:]c=aprint(a)#['python', 'ruby', 'c', 'java', 'css']print(b)#['python', 'ruby', 'c', 'java']print(c)#['python', 'ruby', 'c', 'java', 'css']
元组
用小括号()定义,不可修改
name1=('张三','李四','王五')name2=('张三',)#元组中只有一个元素时,要加上','否则就会被当成运算符
元组可以用下标取值,可以倒数取值
元组转列表
num=(1,2,3)num1=list(num)print(num)#(1,2,3)print(num1) #[1,2,3]
字典
字典使用花括号 {} 或 dict 来创建,字典是可以嵌套使用的字典是成对出现的,字典以键 (key) 值 (value) 对形式体现键与值之间用冒号 : 分隔,每个键值对之间用逗号 , 分隔开字典的 key 是唯一的,而 value 可以重复出现创建字典
用花括号{}或者dict函数,和fromkeys
emp1={'name':'zhangs','age':22,'sex'='男'}emp2=dict(name='zhangs',age=22,sex='男')#运行效果一样emp3=dict.fromkeys(['name','age','sex'])print(emp3)#{'name':None,'age':None,'sex':None}emp4=dict.fromkeys(['name','age','sex'],'N/A')print(emp4)#{'name':'N/A','age':'N/A','sex':'N/A'}
列表取值
两种方式
1.在字典名后用方括号输入key
2.get取值,如果不存在key,返回None或者是指定值
emp1 = {'name':'zhangs','age':22,'sex'='男'}print(emp1['name'])#zhangsa = emp1.get('name')print(a)#zhangsb = emp1.get('jobs','其他')print(b)#其他
字典删除增加修改
增加与修改操作一样,只不过是看元素是不是在字典里原本就有
#单个新增修改emp1={'name':'zhangs','age':22,'sex'='男'}emp1['name']='lis'#批量新增修改emp.update(dept='推广部',job='职员')
删除可用pop和popitems
emp1={'name':'zhangs','age':22,'sex'='男'}sex=emp1.pop('sex')#删除指定键和对应值,pop返回值,即sex==男a=emp1.popitems()#删除最后一个键值对,返回一个元组,a==('sex','男')
用clear清空列表
emp1.clear()#emp1是一个空字典,输出为{}