函数
求和问题
def sum_of_num(i1,i2):
result = 0
for i in range(i1,i2+1):
result += i
return result
print(sum_of_num(3,50))
程序而言:函数就是对程序逻辑进行结构化或者程序化的一种编程方法。
built-in function 内置函数—> BIF
函数的定义
声明函数的一般
def function_name(arg1,arg2, ... ,argn):
'''statements'''
func_statements
return value
说明如下:
1.函数代码块以 def 关键词开头,后接函数标识符名称和小括号 ()。
2.任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
3.函数的第一行语句可以选择性地使用文档字符串----用于存放函数说明。
4.函数内容以冒号起始,并且缩进。
5.return [表达式] 结束函数,选择性的返回一个值给调用方。不带表达式的return相当于返回 None。
其中参数列表和返回值不是必须的,return后也可以不跟返回值,甚至连 return也没有。
对于return后没有返回值的和没有return语句的函数都会返回None值
有些函数可能既不需要传递参数,也没有返回值。
没有参数时,包含参数的圆括号也必须写上,圆括号后也必须有“:”。
def add(x,y):
'''求和'''
return x+y
print(add._doc_)
def info(x,y):
info = {
"name":x,"age":y}
return info
print(info("love",999))
# {'name': 'love', 'age': 999}
函数调用
函数参数
- 不传参函数
- 参数函数
- 顺序
函数返回值
函数参数种类
形参和实参
-
形参
- 只有在调用时才分配内存单元。调用结束后,即释放所分配的内存单元。因此,形参只在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量。
-
实参
- 实参是一个确定的值,能够传递给形参。
- 作为位置
- 实参是一个确定的值,能够传递给形参。
def test(x,y):
print(x)
print(y)
print('1'.center(10,'*'))
test(1,2)
print('2'.center(10,'*'))
test(x=1,y=2)
print('3'.center(10,'*'))
test(y=1,x=2)
print('4'.center(10,'*'))
test(2,x=1) # 错误
print('5'.center(10,'*'))
test(2,y=2)
test(x,y) # 错误
位置参数
def usr_manage(name,age,job,hobby="Trip"):
print("用户管理系统".center(16,'-'))
print("\tNamr:\t",name)
print("\tAge:\t",age)
print("\tJob:\t",job)
print("\tHobby:\t",hobby)
usr_manage("Jack",21,"IT")
usr_manage("Tom",20,"IT","Coding")
usr_manage("Jim",