python基础,变量,常量,python内置管理,列表,解压缩,python与用户交互,格式化输出的三种方式。
1.花式赋值有两种方式
1.1链式赋值
a = 10 b = 10 c = 10
a = b = c =10
print(a,b,c) # 10 10 10
1.2 交叉赋值(python独有)
a = 1
b = 2
a,b = b ,a
print(a,b) # 2,1
2. 列表 []
列表:就是一列表格(一列表格中可以储存多个元素)
用途:描述一个人的爱好 read / run /music
1.作用:储存多个(任意数据类型)元素
2.定义方式,[]内是隔开多个元素(任意数据类型)
s_list = list('abcdefg')
print(s_list) # ['a', 'b', 'c', 'd', 'e', 'f', 'g']
3.使用方法
索(搜索)引(位置/引路) 分为:正向索引和逆向索引(负数)
liangjing_list = ["piaoliang","guai","dongshi",[100, 2],9]
res = liangjing_list
print (res[0]) #guai
print(res[2]) #dongshi
print(res[-1]) #9
print(res[-2][-1]) # 2
3.字典 dict
set:集合 []
"""
如果是字符串,会把每一个字符都单独作为一个元素放到新的集合中,[存在无序,去重的特征]
如果是字典,只保留键,形成一套新的集合.[存在无序,去重的特征]
如果是其他容器,只是单纯的在原数据的两边套上{} [存在无序,去重的特征]
"""
# 如何给列表去重?
lst = [1,2,3,4,5,6,7,8,8,7,6,"a","a"]
setvar = set(lst) # 先转换为集合 去重
lst = list(setvar) # 再转换为列表 弊端:顺序可能被转换成集合时被打乱
print(lst)
字典 dict {}
1.作用:存储多个值,但是每个值都由描述信息
定义方式和使用方法:{}内用逗号隔开多个键(描述,用字符串):值(具体的值,可以为任意数据类型)
dic = {}
yuyang_info_list = ['yuyang', 170, 160, 'female', ['jiao', '666', '233', 'piao']]
yuyang_info_dict = {'name': 'yuyang', 'weight': 170, 'height': 160, 'gender': 'female','hobby_list': ['jiao', '666', '233', 'piao'], 'dict': {'a': [{'b': 1}, 2, 3]}}
#村不是目的,取值才是目的。
print(yuyang_info_list[0])
# 字典没有索引
print(yuyang_info_dict['name']) #yuyang
print(yuyang_info_dict['height'])#160
print(yuyang_info_dict['hobby_list'])
4.布尔类型(bool)
了解:布尔bool --->布尔是个人名
布尔值:只有两种表达方式(Ture 真的 ,False 假的)
作用:用作逻辑判断,条件成立为True,条件不成立为False。(布尔值不直接打印,特定情况下触发的)
布尔值为假的十种类型bool
布尔类型为假的十种情况:0, 0.0 , 0j , False , '' , () ,set() , {} , [] , None ( None 是python的关键字 代表空的什么也没有,一般是作为初始化操作的)
5.解压缩
解(解开)压缩(容器数据类型):只针对2-3个元素容器类型的解压
lt = [1, 2, 3, 4, 5]
# print(lt[1],lt[2],lt[3]) #2,3,4
# s1,s2,s3,s4,s5 = lt
# print(s1,s2,s3,s4,s5) # 1,2,3,4,5
# 单个下划线表示这个东西不需要(约定俗成)
# s1,_,_,_,_ = lt
# print(s1) # 1
# print(_) # 5 # 可以打印,但是不要去打印(不指定默认取最后一个)
# *_: *把后面的元素全部合成放到列表里去了(自己描述,你描述的就是真理)
lt = [1, 2, 3, 4, 5]
s1,*_,s5 = lt
print(s1) # 1
print(_) #2,3,4
6.python 与用户交互
含义:与用户()交互(用户说一句,计算机(python程序)就答一句)
height = 180
print(height)#180
input的使用:
1.让程序暂停,等待用户输出
2.接受永远是字符串
特殊符号的打印
print('🈲🐟🐏')
print("1 + 1 = 2 " + chr(9804)) #(改变chr中的数,就能打印出不同的符号)
print("这个字符♉的Unicode值是:" + str(ord("♉"))) #改变ord中的数就能得到相应的答应的数
7.格式化输出的三种方式
(1)# f让{}变得有特殊意义,让{}内的普通字符变成了变量名
name = "Owen"
height = 191
weight = 176
print(f'my name is{name} my height is{height} my weight is{weight}')
s1 = 'Owen '
s2 = 'handsome'
print(s1 + s2) #Owen handsome
print(f'{s1}{s2}') #Owen handsome
# print(f'{s1}') # f让{}变得有特殊意义,让{}内的普通字符变成了变量名
(2)%好占位符
s1 = 'Owen'
s2 = 'handsome'
print('%s %s'%(s1,s2))#Owen handsome
(3) format 的使用:
s1 = 'Owen'
s2 = 'handsome'
print('{} {}'.format(s1,s2)) #默认:s1-->0 s2-->1 Owen handsome
print('{1} {1}'.format(s1,s2)) # handsomehandsome
format传参使用:
-
顺序传参
strvar = "{}向{}开了一枪,饮弹而亡" res = strvar.format("田志平","陈雄风") print(res)
-
索引传参
strvar = "{1}给{0}一个大大的拥抱" res = strvar.format("郝佳伟","麦杰康") print(res) # 麦杰康给郝佳伟一个大大的拥抱
-
关键字传参
strvar = "{who2}向{who1},扫射,嘴里喊着 , 丫子给给" res = strvar.format(who1 = "邹港城",who2 = "王青") print(res)
-
容器类型传参 [] () {}
strvar = "{0[1]}向{1[1]}抛媚眼,鼻血直冒3万多尺" res = strvar.format(["庄哲浩","罗群华","龙俊成","潘智慧"] , ("谢文婷","邓石山","周鑫") ) print(res) strvar = "{group1[3]}向{group2[2]}抛媚眼,鼻血直冒3万多尺" res = strvar.format(group1 = ["庄哲浩","罗群华","龙俊成","潘智慧"] , group2=("谢文婷","邓石山","周鑫") ) print(res) # 在字符串format 格式化的时候,如果获取的是字典当中的某个值,一定不要在键的两边加引号.因为此时字典中的键作为参数(变量)来进行传输 strvar = "{group1[0]}向{group2[zwc]}抛媚眼,鼻血直冒3万多尺" res = strvar.format(group1 = ["庄哲浩","罗群华","龙俊成","潘智慧"] , group2={"zwc":"中文菜","ly":"刘毅"} ) print(res)