Python 常用函数
一、自定义函数
1、使用 def 关键字定义函数
def 函数名([参数名...]):
函数体(代码块)
return 表达式
函数名()
注意:函数须先定义,后使用
没有 return 语句的函数定义,Python 都会在末尾加上 return None
二、系统函数
print(var1,var2,sep='分隔符',end='结束符') # 打印
len(string) # 字符长度,py3不区分中英文
type(var) # 查看数据类型
input('msg') # 提示用户输入信息
三、变量作用域
1、全局作用域(函数外的变量)
2、局部作用域(函数内的变量,可以调用全局变量)
1、局部变量不能在全局作用域内使用 2、局部作用域不能使用其他局部作用域内的变量 3、全局变量可以在局部作用域中读取 4、名称相同的局部变量和全局变量(尽量避免相同)
3、使用 global 关键字来声明调用的是全局变量
有 4 条法则,区分变量是局部还是局作用域: 1.变量在全局作用域中使用,全局变量。 2.函数中,变量使用 global 语句,全局变量。 3.函数内变量没有用在赋值语句中,全局变量。 4.否则,变量用于函数中的赋值语句,局部变量。
四、异常处理
try:
rst = 10 / 5
except ZeroDivisionError:
print('Error: Invalid argument.')
五、案例
1、Collatz 序列
分析条件:编写一个名为 collate()的函数,它有一个名为 number 的参数。如果参数是偶数,那么 collate()就打印出 number // 2,并返回该值。如果 number 是奇数,collate()就打印并返回 3 * number + 1。然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collate(),直到函数返回值1(令人惊奇的是,这个序列对于任何整数都有效,利用这个序列,你迟早会得到 1!既使数学家也不能确定为什么。你的程序在研究所谓的“collate序列”,它有时候被称为“最简单的、不可能的数学问题”)。
def collate(number):
rst = number % 2
if rst == 0:
print('number // 2 = ' + str(number // 2))
return number // 2
else:
print( '3 * number + 1 ' + str(3 * number + 1))
return 3 * number + 1
num = int(input('Number:'))
i = 0
while True:
num = collate(num)
if 1 == num:
break
i += 1
print('循环次数:'+str(i))
2、验证用户输入的是否是整数
isNumber = input('Number:')
try:
number = int(isNumber)
print(number)
except ValueError:
print('类型不正确')

浙公网安备 33010602011771号