Day06 - 函数与模块
函数的作用与定义
函数的主要作用可以重复调用。
Python中定义函数可以用def
关键字来定义函数,和变量一样每个函数都有一个名字,且命令规则跟变量命名规则一致。函数执行完成可以用return
关键字返回所需数据。
函数的参数
在Python中,函数的参数可以是默认值,也可以支持可变参数。
当我们导入模块时,除定义函数外不想运行其他的模块函数,为了达到这样的效果。需要在执行代码时,加上
if __name__ == '__main__':
# 要执行的函数或代码块
__name__
是Python中一个隐含变量,它代表模块的名字。只有Python解释器直接执行的模块的名字才是__main__
变量作用域
Python查找变量时会按照局部作用域➡嵌套作用域➡全局作用域➡内置作用域的顺序进行搜索。可以使用global
关键字设置全局作用域,使用nonlocal
设置嵌套作用域。
项目中应减少全局变量的使用,避免发生意料之外的错误。
练习
练习1:实现求最大公约数和最小公倍数的函数。
def gcd(x, y):
# 确保x表示的是两个数中 较大的
if x > y:
x, y = y, x
for num in range(x, 0, -1):
if x % num == 0 and y % num == 0:
return num
def lcm(x, y):
num = x * y // gcd(x, y)
return num
练习2:实现判断一个数是不是回文数的函数。
思路:回文数指的是正反读都是一样的,也就是刚好中心对称,两边数字一样。如124421
def is_palindrome(num):
s = str(num)
return s == s[::-1]
if __name__ == '__main__':
print(is_palindrome(12321))