网站建设论文答辩自述,网站开发需要兼容到ie几,北航做网站公司,百度不收录网站吗目录
❤ 无参函数
❤ 有参函数
❤ 空函数
❤ 什么是返回值#xff1f;
❤ 为什么要有返回值#xff1f;
❤ 什么是函数调用#xff1f;
❤ 为何用调用函数#xff1f;
❤ 函数调用的三种形式
❤ 形参和实参
形参
实参
❤ 位置参数
位置形参
位置实…目录
❤ 无参函数
❤ 有参函数
❤ 空函数
❤ 什么是返回值
❤ 为什么要有返回值
❤ 什么是函数调用
❤ 为何用调用函数
❤ 函数调用的三种形式
❤ 形参和实参
形参
实参
❤ 位置参数
位置形参
位置实参
❤ 关键字实参
❤ 默认形参
❤ 总结 python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502
❤ 无参函数
定义函数时参数是函数体接收外部传值的一种媒介其实就是一个变量名
在函数阶段括号内没有参数称为无参函数。需要注意的是定义时无参意味着调用时也无需传入参数。
如果函数体代码逻辑不需要依赖外部传入的值必须得定义成无参函数。
def func():print(hello nick)func() # hello nick
❤ 有参函数
在函数定义阶段括号内有参数称为有参函数。需要注意的是定义时有参意味着调用时也必须传入参数。
如果函数体代码逻辑需要依赖外部传入的值必须得定义成有参函数。
def sum_self(x, y):求和res xyprint(res)sum_self(1,2) # 3
❤ 空函数
当你只知道你需要实现某个功能但不知道该如何用代码实现时你可以暂时写个空函数然后先实现其他的功能。
def func():pass
❤ 什么是返回值
函数内部代码经过一些列逻辑处理获得的结果。
def func():name nickreturn namename func()
print(name) nick ❤ 为什么要有返回值
现在有一个需求比较两个人的月薪然后想获取月薪较大人的年薪。
如果需要在程序中拿到函数的处理结果做进一步的处理则需要函数必须要有返回值。
需要注意的是 return是一个函数结束的标志函数内可以有多个return只要执行到return函数就会执行。return的返回值可以返回任意数据类型return的返回值无个数限制即可以使用逗号隔开返回多个值 0个返回None 1个返回值是该值本身 多个返回值是元组 # 为什么要有返回值
def max_self(salary_x, salary_y):if salary_x salary_y:return salary_xelse:return salary_ymax_salary max_self(20000, 30000)
print(max_salary*12) 360000 # 函数返回多个值
def func():name nickage 19hobby_list [read, run]return name, age, hobby_listname, age, hobby_list func()
print(fname,age,hobby_list: {name,age,hobby_list}) name,age,hobby_list: (nick, 19, [read, run]) ❤ 什么是函数调用
第一次讲函数其实就讲了函数的调用但是你不得不再次更新你对函数调用的印象。函数名(…)即调用函数会执行函数体代码直到碰到return或者执行完函数体内所有代码结束。
函数运行完毕所有代码如果函数体不写return则会返回None。 def foo():passprint(foo()) None ❤ 为何用调用函数
很愚蠢的一个问题但是我们依然得回答使用函数的功能。
❤ 函数调用的三种形式 def max_self(x,y):if xy:return xelse:return y# 1.
max_self(1,2)
# 2.
res max_self(1,2)*12
# 3.
max_self(max_self(20000,30000),40000)
❤ 形参和实参
形参
在函数定义阶段括号内定义的参数称之为形式参数简称形参本质就是变量名。 def func(x, y):print(x)print(y)
实参
在函数调用阶段括号内传入的参数称之为实际参数简称实参本质就是变量的值。 func(1, 2)
❤ 位置参数
位置形参
在函数定义阶段按照从左到右的顺序依次定义的形参称之为位置形参。
def func(x, y):print(x)print(y)
特点按照位置定义的形参都必须被传值多一个不行少一个也不行。
位置实参
在函数调用阶段按照从左到右的顺序依次定义的实参称之为位置实参。 func(1, 2)
特点按照位置为对应的形参依次传值。 ❤ 关键字实参
在调用函数时按照keyvalue的形式为指定的参数传值称为关键字实参。 func(y2, x1)
特点可以打破位置的限制但仍能为指定的形参赋值。
注意 可以混用位置实参和关键字实参但是位置实参必须在关键字实参的左边。可以混用位置实参和关键字实参但不能对一个形参重复赋值。 func(x, y2)
func(y2, x) # SyntaxError: positional argument follows keyword argument
func(x, x1) # NameError: name x is not defined ❤ 默认形参
在定义阶段就已经被赋值。
def func(x, y10):print(x)print(y)func(2)
特点在定义阶段就已经被赋值意味着在调用时可以不用为其赋值。
注意 位置形参必须放在默认形参的左边。默认形参的值只在定义阶段赋值一次也就是说默认参数的值在函数定义阶段就已经固定了。 m 10def foo(xm):print(x)m 111
foo() # 10
默认参数的值通常应该是不可变类型。 # 演示形参是可变类型
def register(name, hobby, hobby_list[]):hobby_list.append(hobby)print(f{name} prefer {hobby})print(f{name} prefer {hobby_list})register(nick, read)
register(tank, zuipao)
register(jason, piao) nick prefer read nick prefer [read] tank prefer zuipao tank prefer [read, zuipao] jason prefer piao jason prefer [read, zuipao, piao] # 修改形参是可变类型代码
def register(name, hobby, hobby_listNone):if hobby_list is None:hobby_list []hobby_list.append(hobby)print(f{name} prefer {hobby})print(f{name} prefer {hobby_list})register(nick, read)
register(tank, zuipao)
register(jason, piao) nick prefer read nick prefer [read] tank prefer zuipao tank prefer [zuipao] jason prefer piao jason prefer [piao] ❤ 总结
实参的应用取决于个人习惯 形参的应用 大多数情况的调用值一样就应该将该参数定义成位置形参大多数情况的调用值一样就应该将该参数定义成默认形参