流程控制<二>
2018-07-17 04:05:58来源:博客园 阅读 ()
上一篇:Numbers、Strings、Lists 笔记<一>
阅读网址:Python3.7教程
- 如果需要修改迭代中的数据,建议先赋值一个副本(e.g:序列,切片复制的副本作为迭代)
>>> words=['dbibiubiubi'] >>> for w in words[:]: ... words.append('haha') ... print(words) ... ['dbibiubiubi', 'haha']
- 需要修改一系列数字,使用range函数很方便,该函数可以产生一个等差序列,正、负都可以
>>> for i in range(0,8,3): ... print(i) ... 0 3 6 >>> for i in range(0,-9,-3): ... print(i) ... 0 -3 -6 >>>
- pass语句什么都不做,当语法上需要语句时可以使用,但它不做任何操作
>>> def myFunc(a): ... pass ... >>>
- 函数名可以被解释器识别为用户定义/内置函数的类型
- 函数没有任何return,会返回一个None
>>> def myFunc(): ... pass ... >>> print(myFunc()) None >>>
- in关键字,测试序列是否包含某个特定的值
>>> 7 in [4.5,7] True >>> '5' in '34345' True >>>
- 函数的参数默认值时在‘函数定义范围内’上进行评估的
>>> test=5 >>> def myFunc(a=test): ... print(a) ... >>> test=7 >>> myFunc() 5 >>>
- 当函数的参数默认值是可变对象例如列表,在不同时候调用函数,会出现共享参数值情况,此时,建议把缺省值默认为None
>>> def myFunc(value=[]): ... value.append(6) ... print(value) ... >>> myFunc() [6] >>> myFunc() [6, 6] >>> myFunc() [6, 6, 6] >>>
>>> def myFunc(value=None): ... if value==None: ... value=[] ... value.append(6) ... print(value) ... >>> myFunc() [6] >>> myFunc() [6] >>> myFunc() [6] >>>
- 在可变参数*args之后出现的参数都是关键字参数
>>> def myFunc(*args,test=1): ... print('args:',args) ... print('test:',test) ... >>> myFunc(3,4,54,'enen') args: (3, 4, 54, 'enen') test: 1 >>> myFunc(3,4,54,test='enen') args: (3, 4, 54) test: enen
- 列表参数可以使用*,字典参数可以使用**
>>> def myFunc(*args,**dicts): ... print('args:',args) ... print('dicts',dicts) ... >>> a=[3,4,5,56] >>> b={'A':'b','B':'b'} >>> myFunc(*a,**b) args: (3, 4, 5, 56) dicts {'A': 'b', 'B': 'b'} >>>
- Lambda表达式可以作为函数的语法糖(e.g:作为函数的嵌套函数返回值、作为参数)
>>> def make_incrementor(n): ... return lambda x: x + n ... >>> f = make_incrementor(42) >>> f(0) 42 >>> f(1) 43
>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')] >>> pairs.sort(key=lambda pair: pair[1]) >>> pairs [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
- 函数注释查看(e.g:查看文档注释,查看参数期待类型)
>>> def myFunc(): ... """hahahhahah ... hehehehehehe ... """ ... pass ... >>> print(myFunc.__doc__) hahahhahah hehehehehehe >>>
>>> def f(ham: str, eggs: str = 'eggs',apple:int=9): ... pass ... >>> print(f.__annotations__) {'ham': <class 'str'>, 'eggs': <class 'str'>, 'apple': <class 'int'>} >>>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Python连载30-多线程之进程&线程&线程使用 2019-08-13
- Python连载25-函数tell&write&writeline$&a 2019-07-24
- Python连载24-函数list&read&seek 2019-07-24
- python中time.strftime不支持中文,报错UnicodeEncodeError: 2019-07-24
- Django源码安装xadmin报错Apps aren't loaded yet. 2019-07-24
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