网站关键词在线优化,做化学科普网站的目的,高唐网页定制,做网站客户需求「作者主页」#xff1a;士别三日wyx 「作者简介」#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」#xff1a;小白零基础《Python入门到精通》 函数 1、函数的调用2、函数的参数2.1、变量的就近原则2.2、传递参数2.3、形参和实… 「作者主页」士别三日wyx 「作者简介」CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」小白零基础《Python入门到精通》 函数 1、函数的调用2、函数的参数2.1、变量的就近原则2.2、传递参数2.3、形参和实参2.4、位置参数2.5、缺省参数2.6、可变类型和不可变类型2.7、关键字参数 3、匿名函数4、函数的返回值 函数就是一段「封装」起来的「代码」目的是提高代码的「模块性」和「复用性」。
「模块性」把具有「独立功能」的代码封装成一个模块同时可以增加可读性 「复用性」把需要「使用多次」的代码封装成一个模块函数后续直接调用函数提高开发效率。
语法
def 函数名():代码使用 def 关键字定义函数后面跟函数名后面跟括号()括号里用来定义参数多个参数之间使用逗号间隔函数的内容以冒号:开始并且缩进最后可以选择用 return 结束函数结束的同时返回一个值。
实例创建一个函数
def function1():print(hello pyton)1、函数的调用
创建的函数默认「不执行」需要「调用」才会执行使用 函数名() 调用函数。
# 1、创建函数
def function1():print(hello pyton)# 2、调用函数
function1()输出
hello pyton2、函数的参数
参数可以给函数「传递变量」函数利用收到的变量进行具体的操作。
2.1、变量的就近原则
Python中的变量遵守「就近原则」比如函数里面和外面有两个名字相同的变量函数就会使用「里面」的变量而不是外面的变量。
# 函数外面的变量
money 18def function1():# 函数里面的变量money 20print(money)function1()开发时如果搞混了这些「名字相同」的变量可能会出现意料之外的情况。为了避免出现这类问题函数采用了参数传递的方式。 2.2、传递参数
给函数传两个参数并在函数内调用
name ZhangSan
money 18def function1( name, money):print(我的名字是, name, 我有, money, 块钱)function1( name, money)输出
我的名字是 ZhangSan 我有 18 块钱2.3、形参和实参
函数创建时括号里的参数叫「形参」形式参数用来接收参数。
函数调用时括号里的参数叫「实参」实际参数用来实际使用。
形参和实参的「名字」可以「不同」。
比如我把参数名字随便改成其他的名字仍然可以正常调用。当然实际开发时建议根据作用来命名参数。
name ZhangSan
money 18# 1、函数定义时接收形参
def function1( a, b):print(我的名字是, a, 我有, b, 块钱)# 2、函数调用时传入实参
function1( name, money)输出
我的名字是 ZhangSan 我有 18 块钱2.4、位置参数
函数调用时参数的「数量」和「位置」必须和函数创建时一样。
name ZhangSan
money 18def function1( a, b):print(第一个参数, a)print(第二个参数, b)function1( name, money)输出
第一个参数 ZhangSan
第二个参数 18如果参数的「数量不对」会报错 TypeError。 如果参数的「位置不对」会不符合预期。
name ZhangSan
money 18def function1( a, b):print(我的名字是, a, 我有, b, 快钱)function1( money, name)输出
我的名字是 18 我有 ZhangSan 快钱2.5、缺省参数
缺省参数也叫「默认参数」在函数定义时给参数指定「默认值」。
拥有默认值的参数在函数调用时可以「不传值」
如果传值参数就会使用传入的新值如果不传值参数就会使用默认值
name ZhangSan
money 18# 1、参数设置默认值
def function1( a, b 28):print(我的名字是, a, 我有, b, 块钱)# 2、传值
function1( name, money)
# 3、不传值
function1( name)输出
我的名字是 ZhangSan 我有 18 块钱
我的名字是 ZhangSan 我有 28 块钱2.6、可变类型和不可变类型
Python变量的类型中整型、字符串、元组属于「不可变类型」列表、字典等属于「可变类型」。
函数接收「不可变类型」的参数采用「值传递」只是修改另一个复制的变量不会改变原变量的值。函数接收「可变类型」的参数采用「引用传递」会改变原变量的值。
str1 ZhangSan
list1 [1, 2, 3]# 修改传入的参数
def function1( str, list):str * 2list.append(4)function1( str1, list1)print(str1)
print(list1)输出
ZhangSan
[1, 2, 3, 4]2.7、关键字参数
函数调用时可以按照「参数关键字」给参数「赋值」。使用这种方式可以不受参数顺序的限制。
name ZhangSan
money 18def function1( a, b):print(我的名字是, a, 我有, b, 块钱)# 关键字参数传参
function1( bmoney, aname)输出
我的名字是 ZhangSan 我有 18 块钱3、匿名函数
匿名函数不需要 def 来声明函数而是用 lambda 表达式来创建函数。常用于处理简单的场景。
语法
函数名 lambda [参数] : 代码块lambda 表达式的格式是固定的因此只能封装有限的代码进去。
实例创建一个匿名函数返回两个数相加之和。
function1 lambda num1, num2: num1 num2result function1(1, 2)
print(result)输出
34、函数的返回值
关键字 return 可以让函数返回一个值比如将函数的执行结果返回或者返回一个自定义的值。
返回多个值需要用逗号间隔如果不指定值就返回None。
def function1(a, b):return a bdef function2(a, b):return 自定义的值def function3(a, b):return 第一个值, 第二个值def function4(a, b):returnprint(function1(1, 2))
print(function2(1, 2))
print(function3(1, 2))
print(function4(1, 2))输出
3
自定义的值
(第一个值, 第二个值)
Nonereturn 还有退出函数的作用 return 后面的代码不会被执行如果一个函数内有多个 return 则只返回第一个 return 的返回值。
def function1(a, b):return a bprint(return后面的代码)return 第二个返回值print(function1(1, 2))输出
3