Python

it2022-05-05  91

个人笔记,仅作学习记录,如有错误烦请指正

Python运算符:常见算术运算符:+、-、*、/、%(加减乘除、取余运算)除了常见算术运算符之外,Python中还包括://、**(双斜线表示取整除,双星号表示次方)注意: Python中没有++、--(自增、自减)运算符 Python算术表达式中只要包含除法运算,结果为浮点类型

赋值运算符:=、+=、-=、*=、/=、%=、//=、**=

比较运算符:>、<、==、!=、>=、<=

Python中特殊比较语法:a>b>c

a = 100 b = 200 c = 300 if a<b<c: print("yes") else: print("no")

Python中的特殊写法:a>b>c,其他语言如C/C++、Java中没有这种语法

 

成员运算符:in、not in这两个运算符用来判断元素是否存在于容器中身份运算符:is、is not这两个运算符用来判断两个元素是否为同一引用

判断三个数的最大值:

num1 = 4 num2 = 6 num3 = 3 max_num = 0 if num1>num2: max_num = num1 else: max_num = num2 if num3>max_num: max_num = num3 print("三个数中的最大值为:%d"%max_num)

 

逻辑运算符:and、or、not(and和or运算符存在短路效果,not表示非,非真即假,非假即真)如:

n1 = 10 n2 = 20 n3 = 30 if n1>n2 and n3>n2: print("yes")

此处,因为and表示两个条件必须都成立结果才为True但n1>n2不成立,所以and后面的n3>n2直接不判断,结果为False

if n1<n2 or n3<n2: print("yes")

此处,因为or表示两个条件只要其中一个成立结果就为True当n1<n2成立时,or后面的n3<n2直接不判断,结果为True

 

关于运算符优先级的疑问:or、and的优先级问题,and的优先级高于or?如:

def fc1(a, b): print("fc1") return a+b def fc2(a, b): print("fc2") return a+b def fc3(a, b): print("fc3") return a+b if fc1(2, 2)>3 or fc2(2, 2)>3 and fc3(3, 3)<5: print("yes")

谁的优先级高?实际上and和or出现在一个表达式中时是从左往右进行判断的

 

while循环:

num = 0 while num<10; print(num) num += 1

 

while嵌套:九九乘法表

num = 9 temp1 = 1 while temp1<=num: temp2 = 1 while temp2<=temp1: print("%d*%d=%d "%(temp2, temp1, temp1*temp2), end="") temp2 += 1 print() temp1 += 1

 

while循环必须要有终止条件,且该条件肯定会被满足,否则会造成死循环

 

continue关键字:此关键字用于循环中,当遇到该关键字时,结束当次循环,进行下次循环break关键字:此关键字用于循环中,当遇到该关键字时,跳出当前循环,继续执行循环体外的语句

 

Python中的while/for循环比较特殊的语法:

while/for...: ...... else: ......

else中的语句不管while的条件满不满足,且是否会执行while内部代码,else中的语句最后会被执行一次有一个例外是遇到break跳出循环,此时else也被跳过,不会执行

print语句:1:

name = "laowang" age = 21 print("我的名字是%s,今年%d岁"%(name, age))

print的用法一,用%s, %d, %o, %x, %f等作为占位符,然后字符串后面用百分号加上变量名来表示占位处需要输出的变量的值有多个变量可用元组表示,会自动拆包2:

name = "laowang" age = 21 print("我的名字是"+name+"今年,"+str(age)+"岁")

print的用法二,可以直接用加号连接字符串进行输出变量类型如不是字符串,需将变量转为字符串类型

转载于:https://www.cnblogs.com/LoveOpenSource/p/7464478.html


最新回复(0)