当前位置:小鱼儿玄机二站 > 操作系统 > Python3基础之函数用法,python3函数用法

Python3基础之函数用法,python3函数用法

文章作者:操作系统 上传时间:2019-09-24

诚如的话,函数(function)是组织好的、可重复使用的、具有自然功效的代码段。函数能增高使用的模块性和代码的重新利用率,在Python中早就提供了很多的内建函数,举个例子print(),同一时间Python还同意客商自定义函数。

Python3基础之函数用法,python3函数用法

相似的话,函数(function)是团体好的、可重复使用的、具备一定意义的代码段。函数能增加利用的模块性和代码的再一次利用率,在Python中已经提供了好些个的内建函数,举例print(),同时Python还同意客户自定义函数。

本文就来实例总计一下Python3的函数用法,具体内容如下:

一、定义

概念函数使用主要字def,后接函数名和位于圆括号( )中的可选参数列表,函数内容以冒号开首何况缩进。一般格式如下:

def 函数名(参数列表): 
  """文档字符串""" 
  函数体 
  return [expression] 

在意:参数列表可选,文书档案字符串可选,return语句可选。

示例:

def fib(n): 
  """Print a Fibonacci series""" 
  a, b = 0, 1 
  while b < n: 
    print(b, end=' ') 
    a, b = b, a+b 
  print() 

fib(2000) # call 
f = fib  # assignment 
f(2000) 

函数名的值是一种顾客自定义的函数类型。函数名的值能够被给予另五个名字,使其也能作为函数使用。

二、函数变量作用域

在函数内部定义的变量具有三个局地作用域,在函数外定义的享有全局成效域。注意:在函数内部可以援用全局变量,但力不能及对其赋值(除非用global进行宣示)。

a = 5     # 全局变量a 

def func1(): 
  print('func1() print a =', a) 

def func2(): 
  a = 21  # 局部变量a 
  print('func2() print a =', a)  

def func3(): 
  global a 
  a = 10  # 修改全局变量a 
  print('func3() print a =', a) 

func1() 
func2() 
func3() 
print('the global a =', a) 

三、函数调用

1、普通调用

与其余语言中函数调用同样,Python中在调用函数时,必要加以和形参相同个数的实参并按梯次依次对应。

def fun(name, age, gender): 
  print('Name:',name,'Age:',age,'Gender:',gender,end=' ') 
  print() 

fun('Jack', 20, 'man') # call 

2、使用首要字参数调用函数

函数也能够经过keyword=value 情势的首要性字参数来调用,因为大家明显提出了对应提到,所以参数的相继也就无关重要了。

def fun(name, age, gender): 
  print('Name:',name,'Age:',age,'Gender:',gender,end=' ') 
  print() 

fun(gender='man', name='Jack', age=20) # using keyword arguments 

3、调用具有默许实参的函数

Python中的函数也足以给一个或多少个参数钦点暗中认可值,那样在调用时可以选用性地省略该参数:

def fun(a, b, c=5): 
  print(a+b+c) 

fun(1,2) 
fun(1,2,3) 

只顾:平时状态下默许值只被总括贰遍,但假如暗中同意值是一个可变对象时会有所区别, 如列表, 字典, 或好多类的靶未时。举个例子,上面包车型大巴函数在随之的调用中会积累参数值:

def fun(a, L=[]): 
  L.append(a) 
  print(L) 

fun(1) # 输出[1] 
fun(2) # 输出[1, 2] 
fun(3) # 输出[1, 2, 3] 

4、调用可变参数函数

通过在形参前加三个星号(*)或多个星号(**)来钦点函数还不错放肆数量的实参。

def fun(*args): 
  print(type(args)) 
  print(args) 

fun(1,2,3,4,5,6) 

# 输出: 
# <class 'tuple'> 
# (1, 2, 3, 4, 5, 6) 

def fun(**args): 
  print(type(args)) 
  print(args) 

fun(a=1,b=2,c=3,d=4,e=5) 

# 输出: 
# <class 'dict'> 
# {'d': 4, 'e': 5, 'b': 2, 'c': 3, 'a': 1} 

从多少个示范的输出能够看出:当参数形如*args时,传递给函数的妄动个实参加会议按岗位被包裹进贰个元组(tuple);当参数形如**args时,传递给函数的跋扈个key=value实参加会议被包裹进贰个字典(dict)。

5、通过解包参数调用函数

上一些谈到传递大肆数量的实参时会将它们打包进一个元组或字典,当然有包装也就有解包(unpacking)。通过 单星号和双星号对List、Tuple和Dictionary进行解包:

def fun(a=1, b=2, c=3): 
  print(a+b+c) 

fun()  # 正常调用 
list1 = [11, 22, 33] 
dict1 = {'a':40, 'b':50, 'c':60} 
fun(*list1)  # 解包列表 
fun(**dict1) # 解包字典 

# 输出: 
# 6 
# 66 
# 150 

注:*用于解包Sequence,**用以解包字典。解包字典会拿走一多种的key=value,故本质上正是行使首要字参数调用函数。

四、lambda表达式

lambda关键词能创立小型佚名函数。lambda函数能选取任何数据的参数但不得不回到叁个表达式的值,它的貌似格局如下:

lambda [arg1 [,arg2,.....argn]] : expression 

lambda表明式能够在其他索要函数对象的地方使用,它们在语法上被限制为单一的表达式:

f = lambda x, y: x+y 
print(f(10, 20)) 

def make_fun(n): 
  return lambda x: x+n 

f = make_fun(15) 
print(f(5)) 

五、文书档案字符串

函式体的第贰个语句能够是三引号括起来的字符串, 那一个字符串就是函数的文书档案字符串,或称为docstring 。大家得以采取print(function.__doc__)输出文书档案:

def fun(): 
  """Some information of this function. 
  This is documentation string.""" 
  return 

print(fun.__doc__) 

文书档案字符串首要用来描述一些关于函数的音讯,让客户交互地浏览和出口。建议养成在代码中添Gavin档字符串的好习于旧贯。

正文就来实例总计一下Python3的函数用法,具体内容如下:

python332函数在帮忙文书档案怎看?

1.以此怎么看,小编不可能领会;2.全局变量局地变量有哪些分别吧? 差异断定有的,不然名字就没要求区分了。全局的功用域十分的大,一般在程序代码中另各省方都得以调用,局地变量一般只在函数内部使用。3.函数,说白了正是贯彻分化功效的代码段,举个例子MAX(a,b,c,...)函数,求最大值, MIN(a,b,c,...)函数,求最小值等、、、、还会有比非常多。函数一般只晓得使用办法(比方所需参数,重返值)和落到实处际效果益就行。  

一、定义

python33中使用pyqt4编写gui时用到selfconnect函数

好久不用QT4了。 影象中它对于这种事件槽的连接格局有部分正式。 假如不符合标准,就算不提醒出错。代码也经过编译也不可能用。

第一个可能是您的exit函数不对。你在函数的发端打贰个print ("here"),然后看看调控台有未有出口

其多少个恐怕quit()的办法就像不太对。 作者也不太记得了。

最棒的措施是你将它的例证代码拿过来重新编译一遍。 看看例子里的退出按键能否用。假如无法用只怕正是QT的本子难点,也说不定是python3的原因。 倘使能用就将它的代码复制过来再试。

若果你试通过一回,基本上就能够了。 下一次照着成功的事例抄就成了。

从前也屡屡相遇过事件槽不可能用的事态,平时是书写的正规不对。 这一个还从未稳重去想过原因。  

一般的话,函数(function)是团队好的、可重复使用的、具备自然效果的代码段。函数能增加运用的...

概念函数使用首要字def,后接函数名和位于圆括号( )中的可选参数列表,函数内容以冒号开始而且缩进。一般格式如下:

def 函数名(参数列表): 
  """文档字符串""" 
  函数体 
  return [expression] 

在意:参数列表可选,文档字符串可选,return语句可选。

示例:

def fib(n): 
  """Print a Fibonacci series""" 
  a, b = 0, 1 
  while b < n: 
    print(b, end=' ') 
    a, b = b, a+b 
  print() 

fib(2000) # call 
f = fib  # assignment 
f(2000) 

函数名的值是一种客商自定义的函数类型。函数名的值能够被予以另四个名字,使其也能当做函数使用。

二、函数变量成效域

在函数内部定义的变量具有叁个片段功能域,在函数外定义的具备全局功效域。注意:在函数内部能够援引全局变量,但力所不如对其赋值(除非用global进行宣示)。

a = 5     # 全局变量a 

def func1(): 
  print('func1() print a =', a) 

def func2(): 
  a = 21  # 局部变量a 
  print('func2() print a =', a)  

def func3(): 
  global a 
  a = 10  # 修改全局变量a 
  print('func3() print a =', a) 

func1() 
func2() 
func3() 
print('the global a =', a) 

三、函数调用

1、普通调用

与任何语言中函数调用一样,Python中在调用函数时,必要加以和形参同样个数的实参并按顺序依次对应。

def fun(name, age, gender): 
  print('Name:',name,'Age:',age,'Gender:',gender,end=' ') 
  print() 

fun('Jack', 20, 'man') # call 

2、使用首要字参数调用函数

函数也足以通过keyword=value 情势的基本点字参数来调用,因为大家显明提议了对应涉及,所以参数的顺序也就无关紧要了。

def fun(name, age, gender): 
  print('Name:',name,'Age:',age,'Gender:',gender,end=' ') 
  print() 

fun(gender='man', name='Jack', age=20) # using keyword arguments 

3、调用具备暗许实参的函数

Python中的函数也得以给一个或多个参数钦赐暗中同意值,那样在调用时方可选用性地省略该参数:

def fun(a, b, c=5): 
  print(a+b+c) 

fun(1,2) 
fun(1,2,3) 

瞩目:常常情况下私下认可值只被总括三遍,但假诺私下认可值是八个可变对象时会有所分歧, 如列表, 字典, 或好些个类的对象时。举个例子,上边包车型大巴函数在随之的调用中会积累参数值:

def fun(a, L=[]): 
  L.append(a) 
  print(L) 

fun(1) # 输出[1] 
fun(2) # 输出[1, 2] 
fun(3) # 输出[1, 2, 3] 

4、调用可变参数函数

因而在形参前加二个星号(*)或四个星号(**)来指定函数能够选择任性数量的实参。

def fun(*args): 
  print(type(args)) 
  print(args) 

fun(1,2,3,4,5,6) 

# 输出: 
# <class 'tuple'> 
# (1, 2, 3, 4, 5, 6) 

def fun(**args): 
  print(type(args)) 
  print(args) 

fun(a=1,b=2,c=3,d=4,e=5) 

# 输出: 
# <class 'dict'> 
# {'d': 4, 'e': 5, 'b': 2, 'c': 3, 'a': 1} 

从五个示范的输出能够看来:当参数形如*args时,传递给函数的随便个实参加会议按职分棉被服装进进一个元组(tuple);当参数形如**args时,传递给函数的即兴个key=value实参加会议被包裹进二个字典(dict)。

5、通过解包参数调用函数

上或多或少聊起传递狂妄数量的实参时会将它们打包进一个元组或字典,当然有包装也就有解包(unpacking)。通过 单星号和双星号对List、Tuple和Dictionary进行解包:

def fun(a=1, b=2, c=3): 
  print(a+b+c) 

fun()  # 正常调用 
list1 = [11, 22, 33] 
dict1 = {'a':40, 'b':50, 'c':60} 
fun(*list1)  # 解包列表 
fun(**dict1) # 解包字典 

# 输出: 
# 6 
# 66 
# 150 

注:*用以解包Sequence,**用以解包字典。解包字典会收获一多级的key=value,故本质上就是使用首要字参数调用函数。

四、lambda表达式

lambda关键词能创制迷你佚名函数。lambda函数能收到任何数据的参数但只好回去贰个表明式的值,它的形似情势如下:

lambda [arg1 [,arg2,.....argn]] : expression 

lambda表达式能够在别的部供给要函数对象的地点接纳,它们在语法上被限定为单一的表明式:

f = lambda x, y: x+y 
print(f(10, 20)) 

def make_fun(n): 
  return lambda x: x+n 

f = make_fun(15) 
print(f(5)) 

五、文书档案字符串

函式体的率先个语句能够是三引号括起来的字符串, 这几个字符串正是函数的文书档案字符串,或称为docstring 。大家能够行使print(function.__doc__)输出文档:

def fun(): 
  """Some information of this function. 
  This is documentation string.""" 
  return 

print(fun.__doc__) 

文书档案字符串重要用以描述一些关于函数的音信,让客商交互地浏览和出口。建议养成在代码中添Gavin档字符串的好习于旧贯。

本文由小鱼儿玄机二站发布于操作系统,转载请注明出处:Python3基础之函数用法,python3函数用法

关键词: