导图社区 Python
Python基础知识——语句(超详细版)导图涵盖简单语句(print、import、赋值等)、复杂语句(if条件语句、for循环、while循环、嵌套循环等)等丰富的知识点,同时补充了三元操作、range函数、enumerate函数相关知识点,每一知识点都附加详细代码举例,帮助你更好理解Python知识,搭建全面、立体的知识框架 阅读一图即可轻松掌握Python知识👍 关注我获取更多优质导图哦(Python基础知识/高中文言文/高中历史思维导图)
编辑于2023-07-08 11:08:35 北京市Python语句
简单语句
简单语句(print、import、赋值等)
- print print ("hello , world ")
- import module name(模块名称) # M e t h o d 1 : i m p o r t m o d u l e n a m e import math # M e t h o d 2 : f r o m m o d u l e n a m e i m p o r t c l a s s n a m e o r f u n c t i o n n a m e from math import factorial from math import factorial , e , pi #一次性导入多个 # M e t h o d 3 : i m p o r t m o d u l e n a m e a s l o c a l m o d u l e n a m e #自定义名字 import math as m from math import factorial as fact # M e t h o d 4 : f r o m m o d u l e n a m e i m p o r t from math import*(不推荐,导入所有,占内存)
赋值
赋值语句:如简单赋值,多重赋值,多元赋值,增强赋值,交换赋值等 – 简单赋值 a =3 – 多重赋值 m = n = k = 100 – 多元赋值 x , y , z = 3 ,4 ,5 – 增强赋值 a=2 y=1 a*=3 赋值出的a是原始的a乘以3 y+=4 赋值出的y是原始的y加上4 i='pyt' i+='hon' 赋值出的是python
交换赋值: 如何替换两个变量的值 * 使用中间变量 x , y = 3 ,4 z = x x = y y = z
python更便捷的方法 x , y = 3 ,4 x , y = y , x
一些补充: 赋值不改变id(地址) 拷贝会改变id(地址) 赋值后 改变一个 另一个会跟着变 拷贝后 改变一个 另一个不会跟着变(特殊情况:(1)浅拷贝 改变复杂类型元素(eg.列表[])复杂元素随原始改变,复杂元素id与原id一致) (2)深拷贝:把所有类型的元素都复制过来 改变原始的复杂类型元素 复杂元素不随原始改变,id与原id不一致) 拷贝: (1)浅拷贝 a.copy import copy #引入copy模块 copy.copy () #copy模块中的浅拷贝 (2)深拷贝 deepcopy import copy #引入copy模块 copy.deepcopy() #copy模块中的深拷贝
复杂语句
If 条件语句
注意事项:根据python的缩进规则,如果if语句判断是True,就执行下方缩进的语句。 - 必须要通过缩进方式来表示语句块的开始和结束。 - 缩进常用四个空格(Tab键) - 不要忽略冒号:
if statement
age = 20 if age >= 18: print (" Your age is", age ,", so you ’re an adult now .")
if - else statement
- 添加else语句: 如果if判断是False,不执行if的内容,而执行else内容。 - 执行特点是从上往下判断,一旦得到结果True,就是忽略下面的语句。 if condition / expression : statement1 else : statement2 - If条件判断语句所在行和else所在行都要以冒号结尾,而执行语句行要缩进。 - condition表达式结果为True,则执行statement1; 否则,执行statement2。
age = 16 if age >= 18: print (’Your age is ’, age ,", so you ’re an adult now .") else : print (" You ’re still a minor .")
if - elif - else statement
如果判断条件有多个时,则可以使用if...elif条件句或者if...elif...else条件句,如下: if condition1 : statement1 elif condition2 : statement2 else : statement3
grade = 75 if grade >= 85: print (" Excellent ") elif grade >=75: print (" Good ") elif grade >=60: print (" Pass ") else : print (" Fail ")
For 循环
For循环语句用于遍历一个序列对象(如列表、字符串等)中的所有元素, 并依次按照命令 进行处理缩进部分的语句。
Python中for循环的语法形式为: for variable in sequence : statements - 此处的statements表示单个语句或者一个语句块(由多个语句组成)。 - 语句或者语句块需要缩进。
(1)将每个元素打印出来 由于print自带换行,因此每个元素竖向排列 eg. alice bob cindy 特殊情况:横向排列 eg. A=['alice','bob','cindy'] for i in A: print(i,end='*') (结果为 alice*bob*cindy*) (2)求和 B=[1,2,3,4] c=0 for j in B: c+=j 结果为1+2+3+4的和
Exercise: 现在有一组Option strike prices, 我们想使用for loop对其取自然对 数ln,并保留两位小数。 strike = [670,670,635,645,670,635,645,670,620,625] import math strike = [670 ,670 ,635 ,645 ,670 ,635 ,645 ,670 ,620 ,625] log_strike = [] for i in strike : log_strike . append ( round ( math . log ( i ) ,2)) print ( strike_log )
简写(列表表达式): log_strike = [ round ( math . log (i ) ,2) for i in strike ]
While 循环
While循环用于循环执行程序,以处理需要重复处理的任务。 有些命令在执行之处无法确定遍历结构,这就需要根据条件进行循环的语法(不需 要提前确定循环次数),while循环又称为无线循环、条件循环。 While循环的停止条件是用户自己设定的。
while expression : statements - 当 while循环的expression为True时,执行statements代表的语句或者语句块内容; - 当expression为False时,跳出循环,直接执行 statements下面一行的代码。
while loop
count = 0 while count < 9: print (" The count is:", count ) count += 1 print (" Done !")子主题
while/else loop
count = 0 while count < 5: print ( count , " is less than 5") count += 1 else : print ( count , " is equal or more than 5")
Nested 嵌套循环
- continue语句:表示不执行continue下面的语句,而接着遍历执行循环语 句。即结束当前当次循环,不执行continue下面的语句,返回执行下一次循 环。 - break语句:表示停止当前循环语句,执行循环语句下面的语句。即结束循 环,else下面语句也不执行, 从循环代码后继续执行。 - pass语句: 表示空语句、空操作,是为了保持程序结构的完整性,执行时系 统没有任何反应,一般用做占位语句
三元操作
a = 6; b = 4 "a>b" if a >b else "b >=a"
a = X if expression else Z
- 当expression返回值为True时,执行语句a=X; - 当expression返回值为False时,执行语句a=Z。 a = 4**3 if {} else "A" #” A ” a = 4**3 if {1} else "A" # 6 4
range()函数
range()是个内建函数,最常用于for循环, 可以创建一个整数元素组成的序列。 一般形式是range(start,stop[,step])。 函数的参数必须是整数,默认从start=0开始; step默认值是1。
range(101)可以生成0-100的整数, 总共101个元素。 E.g. range(1,1001): 生成的是从1开始到1000的整数, 总共1000个元素 a = list ( range (101)) b = list ( range (1 ,1001))
1)start=开始的数 stop=结束的数 不包含该数 step=步长 不写的话默认为1 range(start,stop[,step]) eg.list(range(0,10,2)) 结果是[0,2,4,6,8] 2)range函数求和 c=0 for j in (range(1,1001)): c+=j 结果为一到一千的求和
enumerate(列举)
lst = ['a','b','c','d'] a = list ( enumerate ( lst )) a Out[57]: [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
b = list ( enumerate ( lst ,1)) b Out[59]: [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
for i ,j in enumerate ( lst ,1): print (i ,j ) 1 a 2 b 3 c 4 d
dct = {"a": 1, "b": 2, "c": 3, "d": 4} for i ,j in enumerate ( dct ): print (i ,j ) 0 a 1 b 2 c 3 d
enumerate()是python的内置枚举函数, 多用于在for循环中得到元素 索引和元素值组合 语法: enumerate ( sequence , [ start =0])