函数学习总结
2019-04-28 08:23:06来源:博客园 阅读 ()
定义
自己总结:就相当于现实中各种用途的工具,有着对数据进行各种处理的功能(实质就是比较复杂的变量?!)
分类
自定义函数和Python语言已经定义过的常用的内置函数
自定义函数的组成部分
def 函数名(参数1,参数2...): ''' 函数的描述及功能 ''' 语句1 语句2 return 返回值
自己理解:
①def:是内置函数名(保留标识符),用于自定义一个自定义函数,实现需要内置函数没有的功能
②函数名:就是标识符(?!),相当于工具的名字,方便调用和区分
③参数:根据功能要求可有可无,分为形式参数和实际参数,形参本质就是变量名,有位置形参、默认形参;实参就是变量值,有位置实参、关键字实参,两者可以混用,规则是所有位置实参必须都在关键字实参左边,一个形参有且只能对应一个实参。如果形参为:“*args”,表示用来接收溢出的位置实参,相当于把位置实参作为一个元组,遍历元组取元素的值分别作为实参运行函数,相对应的实参就为:“*(实参)”,表示:*后面的分别取出溢出实参如果形参为**wdargs表示用来接收溢出关键字实参,相当于把关键字实参作为一个字典,遍历字典取键值对作为关键字实参运行函数。如果实参
使用**{key1:value,key2:value};这是把**后面的参数遍历取出当做关键字实参应用
④语句就是实现函数功能的过程代码,定义函数阶段只检测语法,是把函数语句当做字符串存储在内存中,不执行,调用阶段才执行具体代码
⑤return:标识符,函数结束的标志;返回值可以是任意个数的任意数据类型,0个:None,1个:值本身,多个:依元组形式返回
使用
调用函数格式:函数名(参数),调用之后才会执行语句
例子
1、
def far(): ''' 打印“from far” ''' print('from far') return def foo(): ''' 打印“from foo” ''' print('from foo') return far() foo() ''' 结果: from far from foo '''
2、
def func(): '''实验毫无意义''' name = 'Jim' age = '18' hobby_list = ['read', 'write'] return name, age, hobby_list name, age, hobby_list = func() print(f'name,age,hobby_list: {name, age, hobby_list}') ''' 结果: name,age,hobby_list: ('Jim', '18', ['read', 'write']) '''
3、
def register(name, hobby, hobby_list=[]): hobby_list.append(hobby) print(f' {name} like {hobby}') print(f'{name} like {hobby_list}') register('Jim', 'reading',) register('Gru', 'bedthings',) register('Dru', 'money',) ''' 结果: Jim like reading Jim like ['reading'] Gru like bedthings Gru like ['reading', 'bedthings'] Dru like money Dru like ['reading', 'bedthings', 'money'] '''
4、
def register(name, hobby, hobby_list=None): if hobby_list == None: hobby_list = [] hobby_list.append(hobby) print(f'{name} like {hobby}') print(f'{name} like {hobby_list}') register('Jim', 'reading',) register('Gru', 'bedthings',) register('Dru', 'money',)
''' 结果: Jim like reading Jim like ['reading'] Gru like bedthings Gru like ['bedthings'] Dru like money Dru like ['money'] '''
5、
def func(x, y, *args, **kwargs): print(x, y, args, kwargs) print(x, y, *args, kwargs) func(1, 2, 3, *(4, 5),) func(1, 2, c=8, **{'a': 6, 'b': 7}) ''' 结果: 1 2 (3, 4, 5) {} 1 2 3 4 5 {} 1 2 () {'c': 8, 'a': 6, 'b': 7} 1 2 {'c': 8, 'a': 6, 'b': 7} '''
6、
def index(l, name, age, sex): print(f"{l}, name: {name}, age: {age}, sex: {sex}") def wrapper(*args, **kwargs): print(f"args: {args}") print(f"kwargs: {kwargs}") index(*args, **kwargs) wrapper(1, name='nick', sex='male', age=19) ''' 结果: args: (1,) kwargs: {'name': 'nick', 'sex': 'male', 'age': 19} 1, name: nick, age: 19, sex: male '''
实现注册、登录功能函数
def register(): """注册功能""" username = input('username: ').strip() pwd = input('password: ').strip() with open('38a.txt', 'a', encoding='utf8') as fa: fa.write(f"{username}: {pwd}\n") fa.flush() register() def login(): """登录功能""" while True: inp_username = input('username: ').strip() inp_pwd = input('password: ').strip() if inp_username == 'Jim' and inp_pwd == '123': print('欢迎你,Jim') break else: print('用户名或者密码错误') login()
原文链接:https://www.cnblogs.com/HGJBKY/p/10777351.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Python学习日记(十) 生成器和迭代器 2019-08-13
- fetchone函数和fetchall函数返回值的区别 2019-08-13
- python学习-53 正则表达式 2019-08-13
- Python之装饰器笔记 2019-08-13
- Python基础总结之初步认识---class类的继承(终)。第十六天 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash