目录
函数的作用
编程大师Martin Fowler先生曾说过:“代码有很多种坏味道,重复是最坏的一种!”
要写出好味道的代码,首先要解决代码重复问题。我们可以将某个固定功能放到函数中,当需要用的这个功能时,只需要‘启动’这个函数。
定义函数
格式:def name(): 命名也是符合变量命名规则,最后,可以return 一个值,其中函数中的参数,是多样的。
下图为一个我现在新接触的可变参数:
函数的参数
python中参数可以有默认值,也支持可变参数,所以定义一个函数的时候有多种方式。
总之,在函数中灵活使用参数。
模块管理函数
生活中都不能避免重名的现象,当然函数名也会有重名的现象,为了解决这个问题,就import 此模块,然后通过模块来调用,这个同名的函数。
建议自己,以后要多多使用模块,并且通过模块来调用函数,留个有疑问,如何使用一个模块中的类class。
变量的作用域
了解几个关键的概念,全局变量,局部变量,关键字 global
补充:匿名函数,又称为一句话函数,关键字:lambda
练习
现在采用这种范式来进行代码的编写
def main():
pass
if __name__ == '__main__':
main()
-
写最大公因数和最小公倍数的函数
-
判断一个数是不是回文数的函数
-
判断一个数是不是素数的函数
-
判断输入一个正整数是不是回文素数
1.
#求最大公因数
def gcd(x,y):
if x>y:
x,y = y,x
for i in range(x+1,0,-1):
if x % i ==0 and y % i ==0:
#print(i)
number = i
break
return number
#求最小公倍数
def lcm(x,y):
return (x*y/gcd(x,y))
2.
#判断一个是不是回文数
def is_palindrome(num):
temp = num
total = 0
while temp > 0:
total = total * 10 + temp % 10
temp //= 10
return total == num
3.
#判断一个数是不是素数
import math
def is_prime(num):
prime = True
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
prime = False
return prime
4.
def is_palindrome(num):
temp = num
total = 0
while temp > 0:
total = total * 10 + temp % 10
temp //= 10
return total == num
import math
def is_prime(num):
prime = True
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
prime = False
return prime
#利用上述的两个函数判断是不是 回文素数
if __name__ =='__main__':
num = int(input('请输入正整数:'))
if is_prime(num) and is_palindrome(num):
print('%d是回文素数' % num)
else:
print('%d不是回文素数' % num)