
使用if语句,对条件进行判断
age = 20
if age > 18:
print("我要上大学了!")
elif age < 10:
print("我还未成年")
else:
print("我正在上学")给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了
注意不要少写了冒号
:
elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>当我们用if ... elif ... elif ... else ...判断时,会写很长一串代码,可读性较差。
如果要针对某个变量匹配若干种情况,可以使用match语句。
score = 'B'
match score:
case 'A':
print('score is A.')
case 'B':
print('score is B.')
case 'C':
print('score is C.')
case _: # _表示匹配到其他任何情况
print('score is ???.')将match理解为变相的watch判断即可
case _:可以理解为default:
match语句还可以匹配列表,功能非常强大。
我们假设用户输入了一个命令,用args = ['a', 'b']存储,下面的代码演示了如何用match匹配来解析这个列表:
str = input()
if str == "":
str = ["a","b","c"] # 输入为空时,默认输入为["a","b","c"],否则输入为输入的st
elif str == "test":
str = str.split()
match str:
case ["a","b","c"]:
print("Hello")
case ["test"]:
print("World")
case _: # 通配符,相当于default
print("default")使用列表判断,意味着判断的标准会是
数组并且必须满足判断条件才会执行对应的case
在Python中用的多的是for…in循环,依次将list中的元素迭代输出
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
# Michael
# Bob
# Tracysum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)对于等差数列的生成,python中可以使用range()方法进行生成
它可以生成一个整数序列;
sum = 0
for x in range(101): # range(101)就可以生成0-100的整数序列
sum = sum + x
print(sum)只要条件满足,就不断循环,条件不满足时退出循环。
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)如下例子是死喜欢,即永远不会停止循环的循环
while True:
print("死循环")在循环中,break语句可以提前退出循环
在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
for num in range(100):
if num == 50:
continue # 跳过本次循环,继续下一次循环
elif num == 99: # 当num等于99时,跳出循环
break # 跳出循环
else: # 当num不等于50时,打印num
print(num)>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
def test(str):
print(str)
test("hello function")若是函数体内执行到
return语句,就代表函数已经执行完毕,并将 return 后面携带的变量结果返回。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。
def abs(a,b):
c = a + b
return c
print(abs(1,2)) # 3调用参数时,如果参数个数不对,会抛出错误
>>> abc(1, 2, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: my_abs() takes 2 positional argument but 3 were given在Python中,函数可以返回多个值
def test(str):
print(str)
return str,"Hello","World","Python"
strArr = test("hello function")
print(strArr) # ('hello function', 'Hello', 'World', 'Python')当不明确具体的传参时,我们可以在为函数定义时,给实参一个默认值
def test2(a,b,c="zhangsan"):
print(a,b,c)
test2(1,2) # 1 2 zhangsan
test2(1,2,"lisi") # 1 2 lisi默认值的数据类型可以是基本数据类型中的任意一种