1.变量
1.变量名只能包含字母,数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,如变量名为message_1,但不能将其命名为1_message。
2. 变量名不能包含空格,但可以使用下划线来分隔其中的单词。如,变量名greeing_message,但变量名greeting message会引发错误。
3.变量名应言简意赅。如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
4.慎用小写字母l和大写字母O,因为他们可能被人看成数字1和0.
5.不要将Python关键字和函数名作为变量名,即不要用Python保留用于特殊用途的单词,如print
python 关键字
False class finally is return None continye for lambda try Ture
def from nonlocal while and del global not with as elif if
or yield assert else impor pass break excep in raise
2.数据类型
数字
字符串
集合:无序,即无序存索引相关信息
元组:有序,需要存索引相关信息,不可变
列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
1.字符串:
字符串就是一系列的字符。在python中用引号括起来的都是字符串,其中引号可以是单引号,也可以是双引号,甚至的三引号。
可相加:字符串的拼接。
可相乘:str * int
2.数字(int)
1.整数 不带小数点的数 (int)
整数的运算 加(+)减(-)乘(*)除(/)取余(%)
2.浮点数 pyhon将带小数点的数字都称为浮点数。
字符串转化成数字:int(str) 条件:str必须是数字组成的。
数字转化成字符串:str(int)
3.bool:布尔值。 True False。
#int ----> str
i = 1 s = str(i)
#str ---> int
s = '123' i = int(s)
# int ----> bool 非零转换成bool True 0 转换成bool 是False
# print(bool(2))
# print(bool(-2))
# print(bool(0))
# #bool --->int
# print(int(True)) # 1
# print(int(False)) # 0
str --->bool
#s = "" ----->
print(bool(s)) -->False #非空字符串都是True
#s = "0" ----->
print(bool(s)) --->True 即使引号里面是空格 也返回True
逻辑运算
#and or not
#优先级,()> not > and > or
# print(2 > 1 and 1 < 4) #F
# print(2 > 1 and 1 < 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2) # T
# print(3>4 or 4<3 and 1==1) # F
# print(1 < 2 and 3 < 4 or 1>2) # T
# print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) # T
# print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) # F
# print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F
# print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F
'''x or y x为 True即非零,则返回x ,x为False即是零,返回y'''
# print(1 or 2) # 1
# print(3 or 2) # 3
# print(0 or 2) # 2
# print(0 or 100) # 100
# print(2 or 100 or 3 or 4) # 2
'''x and y x为 True即非零,则返回y,x为 False即零,则返回x
# print(1 and 2) #2
# print(0 and 2) #0
#print(2 or 1 < 3) #2
# print(0 or 4 and 3 or 2) # 3
# print(3 > 1 or 2 and 2) # True
6 or 3 < 2 # 当前面是数字和逻辑运算一起是,按前面的数字进行运算 即x or y x为 True即非零,则返回x , 6为True 返回6
0 and 5>4 # 0为False 则返回0
0 or 5< 4 # 0为False,则返回5<4,5<4即为False 所以答案是False
2>1 and 3 #当前面是逻辑运算的时候,按逻辑运算进行运算 2>1 为True True and 3则返回 3
3<1 or 4 # 3<1 为False False or 4 则返回 4
字符串的索引与切片:
#索引 是根据 索引值找元素,开始的索引值是0,最后以给索引值是-1.
s = "aBcduydllHJKKLJUSgsa"
s1 = s[0]
print(s1) # 找出第一个元素并输出 ----> a
s2 = s[2]
print(s2) #找出第3个元素并输出----> c
s3 = s[-1]
print(s3) # 找出最后一个元素并输出-----> a
s4 = s[-2]
print(s4) #找出倒数第二给元素并输出 -----> s
#切片 也是根据索引值找元素,它有一个范围,注意的是切片取元素 顾头不顾尾
s5 = s[0:4]
print(s5) # 找出第一个到第三个元素并输出 ----> aBcd
s6 = s[0:-1]
print(s6) # 找出第一个到倒数第二个元素并输出 ----> aBcduydllHJKKLJUSgs
s7 = s[:]
print(s7) #找出所有元素并输出 --->aBcduydllHJKKLJUSgsa
#s[首:尾:步长] 可以实现跳着取元素
s8 = s[0:8:2]
print(s8) #从第一个到第七个,隔一个取一个并输出 ----->acud
s9 = s[4:0:-1]
print(s9) #从第5个到第二个,反着取并输出 ----> udcB
s10 = s[7::-1]
print(s10) ##从第8个到第一个,反着取并输出 ----> ldyudcBa
s11 = s[5::-2]
print(s11) ##从第6个到第一个,反着取隔一个取一个并输出 ----> ydB
s12 = s[-1::-3]
print(s12) ##从倒数第一个取到第一个,反着每隔两个取出并输出 ---->aSLJluB
s13 = s[::-2]
print(s13) ## 从倒数第一取到第一个 反着每隔两个取出并输出---->agULKHlydB
s14 = s[0:10:-1]
print(s14) # 不知道取什么值,没有任何输出
# 字符串的操作:
s = " pdhDmckr%sdf aff爱d "
s1 = s.capitalize() #首字母大写
print(s1) ----> Pdhdmckr%sdf aff爱d
s2 = s.title() # #被特殊字符(包括空格,特殊字符,汉字,数字)隔开的每个单词首字母大写
print(s2) ----> Pdhdmckr%Sdf Aff爱D
s3 = s.upper() # 全部大写
print(s3) ---> PDHDMCKR%SDF AFF爱D
s4 = s.lower() # 全部小写
print(s4) ---> pdhdmckr%sdf aff爱d
s5 = s.swapcase() #大小写反转
print(s5) ---> PDHdMCKR%SDF AFF爱D
s6 = s.center(30,"~") #字符串居中,不够30字符,两端用“~”填充
print(s6) ---->~~~~ pdhDmckr%sdf aff爱d ~~~~~
s7 = s.strip() # 默认删除两端空格 # s.strip("#") 是删除前后两端的 # 号 删什么 可以替换
print(s7) ----->pdhDmckr%sdf aff爱d
s8 = s.lstrip() #默认删除左端空格
print(s8) ---->pdhDmckr%sdf aff爱d
s9 = s.rstrip() #默认删除右端空格
print(s9) ----> pdhDmckr%sdf aff爱d
s10 = s.replace("d", "s") #把字符串中的“d”换成“s” # replace(old,new,count)
print(s10) ---> pshDmckr%ssf aff爱s
s11 = s.replace("d", "s", 1) #把字符串中的第一个“d”换成“s
print(s11) ---> pshDmckr%sdf aff爱d
s12 = s.replace("d", "s", 2) #把字符串中的前两个“d”换成“s
print(s12) ”---> pshDmckr%ssf aff爱d
s13 = s.count("d") # 计算出“d" 在字符串中出现的次数,并输出结果,返回的是int
print(s13) ----> 3
s14 = s.count("d",2,18) #以切片的形式寻找索引值2到18中出现”d“的次数
print(s14) ----->2
s15 = s.split("d") #把字符串,以"d"分开,不显示"d‘并以列表形式输出
print(s15) "--->[' p', 'hDmckr%s', 'f aff爱', ' '] 最后一个空字符串 是因为原字符串中最后有个空格
s16 = s.find("%") #通过元素”%“找其索引位置
print(s16) ---->9 #为什么是9因为字符串的开头有个空格
s17 = s.find("w") #通过元素"w" 找索引值,找不到返回-1.输出为int类型
print(s17) ----->-1 # index() 也是通过元素找索引,找不到报错
s18 = s.startswith("w") # 判断字符串是不是以”w“开头,返回的是bool值
print(s18) ---->Fasle
s19 = s.starswih("m"5,12) #判断字符串中第5个索引值到第12个所引值之间是不是以"m"开头
print(s19) ----->True
s20 = s.endswith(" ") #判断字符串是否以" "(空格)结尾
print(s20) ,------>True
s21 = s.isdigit() #判断字符串只由数字组成 返回bool值
s22 = s.isalpha() # 判断字符串只由字母组成
s23 = s.isalnum() # 判断字符串由字母或数字组成
#格式化输出
% 占位符 # % s d %s 是字符串 %d 是数字
# name = input('请输入姓名')
# age = input('请输入年龄')
# height = input('请输入身高')
# msg = "我叫%s,今年%s 身高 %s" %(name,age,height)
# print(msg)
"""name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobbie = input('你的爱好:')
msg = '''------------ info of %s -----------
Name : %s
Age : %d
job : %s
Hobbie: %s
------------- end -----------------''' %(name,name,int(age),job,hobbie) print(msg)"""
name = input('请输入姓名')
age = input('请输入年龄')
height = input('请输入身高')
msg = "我叫%s,今年%s 身高 %s 学习进度为3%%s" %(name,age,height) #如想输出% 就多加一个%
print(msg)
#format的三种玩法 格式化输出
# s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('浩,36,'girl','浩)
# print(s)
# name = input('请输入名字:')
# s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')
# print(s)
# name = input('请输入名字:')
# s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')
# print(s)
while循环
while 条件:
循环体 无限循环。
终止循环:1,改变条件,使其不成立。 2,break
continue
'''ps: while True:
pass
while 1: #效率高
pass