1. 变量
以下关键字不能声明为变量名:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
2. 常量
常量是指一旦初始化后就不能修改的固定值。
变量名都设为大写字母。如:
BIR_OF_CHINA = 1949
3. 注释
单行注释:#
多行注释:'''被注释内容''' 或 """被注释内容"""
4. 流程控制之--if语句
格式1:
if 判断条件:
执行语句……
范例:
if 5 > 4 :
print(666)
执行结果
666
格式2
if 判断条件:
执行语句……
else:
执行语句……
范例:
if 4 > 5 :
print("我请你喝酒")
else:
print("喝什么酒")
执行结果
喝什么酒
格式3
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
范例1:
num = int(input("请输入您的数字:"))
if num == 1:
print("一起看书")
elif num == 2:
print("一起画画")
elif num == 3:
print("新开了一家博物馆,去看看")
else:
print("您猜错了")
执行结果
请输入您的数字:1
一起看书
请输入您的数字:2
一起画画
请输入您的数字:3
新开了一家博物馆,去看看
请输入您的数字:4
您猜错了
范例2:
score = int(input("请输入分数:"))
if score > 100:
print("最高分才100分!")
elif score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 60:
print("C")
elif score >= 40:
print("D")
else:
print("您太笨了")
执行结果
请输入分数:110
最高分才100分!
请输入分数:67
C
请输入分数:10
您太笨了
4.1 if嵌套
范例:
name = input("请输入名字:")
age = int(input("请输入年龄:"))
if name == "snake":
if age >= 22:
print("可以成家了")
else:
print("还是小屁孩")
else:
print("名字错了。。。")
执行结果
请输入名字:snake
请输入年龄:22
可以成家了
4.2 三元运算(if语句)
变量 = 条件返回True的结果 if 条件 else 条件返回False的结果
必须要有结果
必须要有if和else
只能是简单的情况
范例:
a = 1
b = 5
c = a if a>b else b #三元运算
print(c)
执行结果
5
5. 流程控制之--while循环
5.1 无限循环
格式:
while 判断条件:
执行语句……
范例:
while True:
print("a")
print("b")
print("c")
执行结果
a
b
c
a
b
c
.
.
.
5.2 终止循环1--改变条件使其不成立
范例1:从1到5。标志位方式
count = 1
flag = True # 标志位
while flag:
print(count)
count = count + 1
if count > 5:
flag = False
执行结果
1
2
3
4
5
范例2:从1到5。
count = 1
while count <=5 :
print(count)
count = count + 1
执行结果
1
2
3
4
5
5.3 终止循环2--break
范例1:从1到5。
count = 1
while True:
print(count)
count = count + 1
if count > 5:
break
执行结果
1
2
3
4
5
5.4 continue
范例:
count = 0
while count <= 100:
count = count + 1
if count > 5 and count < 95:
continue
print("loop", count)
print("------out of while loop------")
执行结果
loop 1
loop 2
loop 3
loop 4
loop 5
loop 95
loop 96
loop 97
loop 98
loop 99
loop 100
loop 101
------out of while loop------
5.5 while...else...
while 后面的 else 作用是指,当 while 循环正常执行完,中间没有被 break 中止的话,就会执行 else 后面的语句
范例1(无break):
count = 0
while count <= 5:
count += 1
print("Loop",count)
else:
print("循环正常执行完成")
print("------ out of while loop ------")
执行结果
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完成
------ out of while loop ------
范例2(有break)
count = 0
while count <= 5:
count += 1
if count == 3:
break
print("Loop",count)
else:
print("循环正常执行完成")
print("------ out of while loop ------")
执行结果
Loop 1
Loop 2
------ out of while loop ------
6. 流程控制之--for循环
范例1
s = 'fhdsklfds'
for i in s:
print(i)
执行结果
f
h
d
s
k
l
f
d
s
范例2
现有列表li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds'],请依次列出列表中的内容,包括列表中的列表
方法1:(简易型)
li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds']
for i in li:
if type(i) == list:
for k in i:
print(k)
else:
print(i)
执行结果
1
2
3
5
alex
2
3
4
5
taibai
afds
方法2:(进阶型)
li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds']
for i in range(len(li)):
if type(li[i]) == list:
for j in li[i]:
print(j)
else:
print(li[i])
执行结果
1
2
3
5
alex
2
3
4
5
taibai
afds
7. 格式化输出
格式化方式一:%占位符
简易型:
name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
height = int(input("请输入您的身高:"))
msg = "我叫%s,今年%d,身高%d" %(name,age,height)
print(msg)
执行结果
请输入您的姓名:kl
请输入您的年龄:12
请输入您的身高:166
我叫kl,今年12,身高166
升级型:
name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
job = input("请输入您的工作:")
hobbie = input("请输入您的爱好:")
msg = '''------ info of %s ------
Name: %s
Age: %d
Job: %s
Hobbie: %s
学习进度是30%%
------ end ------''' %(name,name,age,job,hobbie)
# 学习进度是30%%: 第一个%是对第二个%的转译,告诉Python解释器这只是一个单纯的%,而不是占位符。
print(msg)
执行结果
请输入您的姓名:ozil
请输入您的年龄:31
请输入您的工作:football
请输入您的爱好:music
------ info of ozil ------
Name: ozil
Age: 31
Job: football
Hobbie: music
学习进度是30%
------ end ------
8. 字符编码
8.1 字节单位换算
8bit(比特位)=1Byte(字节);
1024Byte(字节)=1KB(千字节);
1024KB(千字节)=1MB(兆字节);
1024MB=1GB;
1024GB=1TB;
B是Byte的缩写,B就是Byte,也就是字节(Byte);b是bit的缩写,b就是bit,也就是比特位(bit)。B与b不同,注意区分,KB是千字节,Kb是千比特位。
1MB(兆字节)=1024KB(千字节)=1024*1024B(字节)=1048576B(字节);
9. 数据类型转换
9.1 int --> bool
非零 转换成 bool:结果为True
零 转换成 bool:结果为False
范例:
print(bool(2))
print(bool(-2))
print(bool(0))
执行结果:
True
True
False
9.2 bool --> int
范例:
print(int(True))
print(int(False))
执行结果:
1
0
9.3 str --> bool
# 空字符串是False
s = "" -----> False
# 非空字符串都是True
s = "0" -----> True
# 老师的例子,但这个例子好像有问题
s # 前端传入后端
if s: # 表示 if s == False
print('你输入的为空,请重新输入')
else:
pass
9.4 str ----> list
s = "hello world!"
print(s.split())
print(s.split("o"))
print(s.split("l"))
print(s.rsplit("o"))
print(s.rsplit("o",1))
s = "alex wusir taibai"
l1 = s.split()
print(l1)
s2 = ';alex;wusir;taibai'
l2 = s.split(';')
print(l2)
l3 = s.split('a')
print(l3)
执行结果
['hello', 'world!']
['hell', ' w', 'rld!']
['he', '', 'o wor', 'd!']
['hell', ' w', 'rld!']
['hello w', 'rld!']
['alex', 'wusir', 'taibai']
['alex wusir taibai']
['', 'lex wusir t', 'ib', 'i']
9.5 list ---> str
li = ['taibai','alex','wusir','egon','女神',]
s = '++++'.join(li)
s2 = ''.join(li)
print(s)
print(s2)
执行结果
taibai++++alex++++wusir++++egon++++女神
taibaialexwusiregon女神
9.6 老师的彩蛋
while True: 此法执行效率低
pass
while 1: 此法执行效率高
pass
10. 运算符
10.1 逻辑运算
- 优先级关系:() > not > and > or
范例:
print(3>4 or 4<3 and 1==1)
print(1 < 2 and 3 < 4 or 1>2)
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
执行结果
False
True
True
False
False
False
- x or y 与 x and y
x or y,x 为 True,则返回x
print(1 or 2)
print(3 or 2)
print(0 or 2)
print(0 or 100)
执行结果:
1
3
2
100
x and y, x 为 True,则返回y
print(1 and 2)
print(0 and 2)
执行结果:
2
0
10.2 成员运算
in:如果在指定的序列中找到值返回 True,否则返回 False。
not in:如果在指定的序列中没有找到值返回 True,否则返回 False。
范例1
s = 'fdsa苍井空fdsalk'
if '苍井空' in s:
print('您的评论有敏感词...')
执行结果
您的评论有敏感词...
范例2
s = 'fdsafdsalk'
if '苍井空' not in s:
print('您的评论很健康...')
执行结果
您的评论很健康...