# 一般情况下多个 return 语句是搭配分支语句/循环语句的# 用来判断 num 是不是奇数defisOdd(num):
if num % 2 == 0:
returnFalseelse:
returnTrueprint(isOdd(10))
print(isOdd(19))
2. 一次返回多个值:用逗号分隔,接收时用多个变量接收
# 写一个函数,返回平面上的一个点(横坐标,纵坐标)defgetPoint():
x = 10
y = 20return x, y # 可以返回两个值# a, b = getPoint() # 接收所有返回值# 如果只想用其中一个可以使用 _ 占位
_, b = getPoint() # 忽略 x,只接收 y
(4)变量作用域
变量的作用域决定了'变量能在哪些地方使用',核心规则:
局部变量:函数内部定义的变量,仅在函数内部生效;
全局变量:函数外部定义的变量,函数内部可访问,但修改时需要用 global 声明;
同名变量:不同作用域可存在同名变量(本质是不同变量,互不影响)。
x = 10deftest():
x = 20print(f'函数内部:{x}')
test()
print(f'函数外部:{x}')
x = 10# 全局变量在函数里也可以使用deftest():
global x
x = 20
test()
print(f'x = {x}')
1.3 函数的进阶用法(嵌套 + 递归)
(1)链式调用:把一个函数的返回值,作为另一个函数的参数
defisOdd(num):
if num % 2 == 0:
returnFalsereturnTruedefadd(x, y):
return x + y
# result = isOdd(10)# print(result)# print(isOdd(add(5, 5)))
(2)嵌套调用:函数内部调用其他函数
deftest():
print("hello")
test()
# 嵌套调用可以有很多层defa():
num = 10print("函数 a")
defb():
num = 20
a()
print("函数 b")
defc():
num = 30
b()
print("函数 c")
defd():
num = 40
c()
print("函数 d")
d()
# 5. 使用下标来访问列表元素
a = [1, 2, 3, 4]
print(a[2]) # 3# 6. 使用下标来修改列表元素
a = [1, 2, 3, 4]
a[2] = 100print(a)
# 7. 超出下标有效范围,就会出现异常# a = [1, 2, 3, 4]# a[100] = 0# print(a) # IndexError: list assignment index out of range# 8. 可以使用内建函数 len 来获取列表的长度
a = [1, 2, 3, 4]
print(len(a))
# 9. Python 中的下标,其实还可以写成负数!!!# 例如写成 -1,其实等价于 len(a) - 1
a = [1, 2, 3, 4]
print(a[len(a) - 1]) # 4print(a[-1]) # 4
循环遍历:
# 1. 使用 for 循环来遍历列表# 不会改变原来的数组# a = [1, 2, 3, 4, 5]# for elem in a:# elem = elem + 10# print(elem)# print(a)# 2. 使用 for 循环遍历,通过下标的方式# 会改变原来的数组# a = [1, 2, 3, 4, 5]# for i in range(0, len(a)):# a[i] = a[i] + 10# print(a)# 3. 使用 while 循环,通过下标遍历这个列表
a = [1, 2, 3, 4, 5]
i = 0while i < len(a):
print(a[i])
i += 1
# 1. 使用 in 来判定某个元素是否在列表中存在# a = [1, 2, 3, 4]# print(1 in a)# print(10 in a)# print(1 not in a)# 2. 使用 index 方法,来判定当前元素在列表中的位置
a = [1, 2, 3, 4]
print(a.index(2))
print(a.index(3))
# print(a.index(10)) # 会报错
# 1. 使用 pop 删除列表中的最末尾的元素
a = [1, 2, 3, 4]
a.pop()
print(a)
# 2. 使用 pop 还能删除任意位置的元素
a = [1, 2, 3, 4]
a.pop(1)
print(a)
# 3. 使用 remove 方法,可以按照值来进行删除
a = ["aa", "bb", "cc", "dd"]
a.remove("cc")
print(a)
# 1. 使用 + 针对两个列表进行拼接# a = [1, 2, 3, 4]# b = [5, 6, 7, 8]# c = b + a# print(c)# 2. 使用 extend 来进行拼接# 这个拼接是把后一个列表的内容拼接到前一个列表里头
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = a.extend(b) # extend 不返回任何内容
a.extend(b)
print(a) # a 这里改变了print(b)
# 3. 使用 += 来进行拼接
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
a += b # a = a + bprint(a)
print(b)