重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
def 函数名():
创新互联建站专注于企业成都全网营销推广、网站重做改版、奈曼网站定制设计、自适应品牌网站建设、HTML5、商城系统网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为奈曼等各大城市提供网站开发制作服务。
函数体
return 返回值
def 函数名(非可选参数,可选参数):
函数体
return 返回值
def 函数名(参数,*b):
函数体
return 返回值
函数名 = lambda 参数 : 表达式
例1:f = lambda x , y : x + y
调用:f(6 + 8) 输出:14
例2: f = lambda : "没有参数的lambda函数!"
调用: print(f()) 输出: 没有参数的lambda函数!
当你在一个程序中使用变量名时,python创建、改变或查找变量名都是在所谓的命名空间中进行的,也就是我们要说的变量的作用域。在代码中给一个变量赋值的地方决定了这个变量将存在于哪一个命名空间,也就是他的可见范围。
def之中的变量名和def之外的变量名并不冲突,一个在def之外被赋值(例如,在另外一个def之中或者在模块文件的顶层)的变量X与在这个def之中赋值的变量X是完全不同的变量。
所以我们看出,变量的作用域完全是由变量在程序文件中源代码的位置而决定,而不是由函数调用决定。
说了这么多概念,还是用例子说话吧!
x = 99 def func(): x = 88 print(x) func() print(x) 88 99
这里就可以看出,在这个模块文件中:语句X=99,我们创建了一个名为X的全局变量(在这个函数所在的模块文件中可见),但是X=88这个赋值语句创建了一个本地变量X(只在def语句内是可见的)。
尽管这两个变量都是X,但是他们作用域可以把它们区别开来。实际上,函数的作用域有助于防止程序之中变量名的冲突,并且有助于函数成为更加独立的程序单元。
那下面我们接着展开具体介绍函数的四个作用域:LEGB,即L本地作用域,E内嵌作用域,G全局作用域和B内置作用域。
在一个函数中定义的是本地作用域,而模块(也就是一个xxx.py文件)中定义的是全局作用域。而内置作用域,我们使用时是直接使用变量名而不需要导入任何模块,比如一些内置的函数名:print等等
这里再强调一下python中所谓的全局作用域:
全局作用域的作用范围仅限于单个文件,别被全局二字所迷惑,这里的全局指的是一个文件的顶层的变量名仅对于这个文件内部的代码而言是全局的,在python中听到全局,你就应该想到模块二字。
变量名由模块文件隔开,并且必须精确的导入一个模块文件才能够使用这个文件中使用的变量名。
再说说本地作用域:每次对函数的调用都创建一个新的本地作用域,赋值的变量名除非声明为全局变量或非本地变量,否则均为本地变量。在默认的情况下,所有函数定义的内部变量名都位于本地作用域(与函数调用相关的)内。
再来看一个例子来演示一下这两种作用域:
x = 99 def func(y): z = x + y return z print(func(1)) 100
这个例子中出现了全局
因为参数给内置函数传递值的时候,内置函数拿到这个值首先会对这个值的类型进行判断,如果是数组会对他进行怎样的初始化,如果是单个的常数会对他进行怎样的初始化,这些查看一下内置函数的源代码就明白了
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
定义一个函数
可以定义一个由自己想要功能的函数,以下是简单的规则:
1.函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
2.任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3.函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4.函数内容以冒号起始,并且缩进。
5.return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法
Python 定义函数使用 def 关键字,一般格式如下:
1
2
def 函数名(参数列表):
函数体
默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
示例
让我们使用函数来输出"Hello World!":
1
2
def hello() :
print("Hello World!")
输出结果
hello()
Hello World!
在python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后在缩进块中编写函数体,函数的返回值用return语句返回
def 函数名([参数1,参数2,...,参数n]):
函数体
函数代码以def关键词开头,后接函数标识符名称和圆括号():
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数
函数的第一行语句可以选择性的使用文档字符串-用于存放函数说明
函数内容以冒号起始,并且缩进
return[表达式]结束函数,选择性的返回一个值给调用方,不带表达式的return相当于返回None