热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3函数基础知识一

函数就是一种具有高健狀性、高使用率的代码块。Python自带了非常多的优秀的内置函数。同时允许用户自定义函数,这样大大的提高了编程的灵活性,这是每一种高

函数就是一种具有高健狀性、高使用率的代码块。Python自带了非常多的优秀的内置函数。同时允许用户自定义函数,这样大大的提高了编程的灵活性,这是每一种高级编程语言都带有的特性。内置函数可以通过查看工具指南即可达到使用的效果。这里将探讨Python自定义函数的使用技巧和关键点。

1、Python自定义函数的框架

def  function_name (formal parameters):

       function body

 return [expressions]

def 是定义函数的关键字,函数名和一对小括号是必须的。参数可以非必选,参数列表可以自由定制,可以传入几个参数或者多个参数。

2、Python函数参数的特殊传入(普通传入与其他语言无异,不赘述)

函数在定义时可以根据需求传入灵活的参数设置。通过在形参前加一个星号(*)或两个星号(**)来指定函数可以接收任意数量的实参。例如:

>>> def parameter(*args):
print(type(args))
print(args)

>>> parameter(1,2,3,4)

(1, 2, 3, 4)

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

parameter(a=1,b=4,c=4,g=6)

{'a': 1, 'b': 4, 'c': 4, 'g': 6}

有上述可知,使用一个星号传入的参数,被按照元组图tuple的形式存储起来,而是用两个星号的形参,则采用字典dictionary(键值对)。在使用两个星号形参的时候,调用参数得使用键值对keyword-value的形式传入。

3、普通参数列表也可采用键值对方式传递实参,此时的参数的顺序可以乱序。

def parameter1(name,age,gender):
    print(name,age,gender)

>>> parameter1('jack','20','man')
jack 20 man
>>> parameter1(age=20,name='jack',gender='man')
jack 20 man

函数也同样可以作为参数传入到函数体中,在函数体中照样可以接收参数。

def call_func(func,para):
    print(func(para))
if __name__=='__main__':
    call_func(lambda x:x+2,5)
   
4、函数的调用

Python中在调用函数时,需要给定和形参相同个数的实参并按顺序一一对应即可。

5、针对第2点,使用*或**来表示形参接收的个数。其实使用*表示将所有参数打包成列表list的形式传入函数体,**表示将所有的参数打包成字典dictionary的形传入函数体。既然 有打包必然有解包。故而在函数的调用的过程中,可以事先定义好列表或者字典。作为参数传入。函数会自动将解包,将一一对应传给形参。

def fib(a,b,c):
    print(a+b+c)

>>> list=[1,2,3]

>>> dict={'a':20,'b':30,'c':40}
>>> fib(*list)
6
>>> fib(**dict)
90

6、匿名函数lambda(anonymous inline function)表达式

lambda [arg1 [,arg2,.....argn]] : expression。lambda表达式可以在任何需要函数对象的地方使用,它们在语法上被限制为单一的表达式。lambda函数能接收任何数量的参数但只能返回一个表达式的值

>>> f=lambda x: x**2
>>> f(10)
100
>>> f=lambda x: x>10
>>> f(5)
False

其返回结果的结果要么是定义好的表达式,要么就是bool值。

7、函数中使用文本字符串

函式体的第一个语句可以是三引号括起来的字符串, 这个字符串就是函数的文档字符串,或称为docstring 。我们可以使用print(function.__doc__)输出文档:

def fib():   

 """ synchronized translation for 90 languages, predictive typing"""   

 return  

>>>print(fib.__doc__)

synchronized translation for 90 languages, predictive typing 


文档字符串主要用于描述一些关于函数的信息,让用户交互地浏览和输出 。建议养成在代码中添加文档字符串的好习惯。





推荐阅读
author-avatar
U友50054453
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有