Python 自学笔记(七)
1.定义函数和调用函数
1-1.定义函数
定义函数的语法书写:def 函数名(参数名)(注:括号内可以为空,也可以为多个参数,多个参数间用逗号隔开即可)
由上可以看出,函数默认返回None
2.函数的重要概念
2-1.默认参数
默认参数必须放在位置参数之后。若调用函数时没有传递参数就为默认值,但是如果调用时向默认参数传递了数据,测默认参数被新参数代替。
2-2、不定长参数
一个星号*加上参数名。当传入此处的参数数量不确定时使用。数据类型为元祖(元祖(tuple)):写法是把数据放在小括号()中,它的用法和列表用法类似,主要区别 在于列表中的元素可以随时的修改,但元组中的元素不可更改。列表一样,元组是可迭代的对象,这意味着我们可以用for循环来遍历它。
当默认参数在不定长参数后面的时候,若想更改默认参数,需要注明参数=‘参数’,例如
注意:当有参数在不定长参数后面,且没有默认值的时候,在调用函数的时候一定要写成 参数=‘具体数据’,的形式,不然报错。例如
2-3、return语句
其实长度计算语句len()也是个内置函数,他的格式大概如下:
3、变量作用域
3-1、局部变量
在函数内定义的变量,仅能在函数内部使用(局部作用域)
变量a只能在函数内部使用
3-2、全局变量
所有函数之外复制的变量,可以再程序的任何位置使用(全局作用域)
3-3、global语句
可以将局部变量转换为全局变量,一般写在函数体的第一行
注意:局部变量和全局变量尽量不要重名,系统会混淆,从而报错。
4扩展
4-1、list()函数
可以将数据转换成列表
4-2、reversed()函数
reversed()函数可以将数据反转,从后往前迭代。
reversed()之后,第二次for循环、list()、tuple()以及join()得到的结果都为空,原因就是b不是反转列表本身,而是一个列表反向迭代器,所以直接输出函数返回值会是类似于乱 码,且reversed()之后,只在第一次遍历时返回值。
最新文章
- 剑指Offer面试题:12.在O(1)时间删除链表结点
- [WPF系列]Adorner应用-自定义控件ImageHotSpot
- Jmeter学习(三十三)调试工具Debug Sampler
- 【代码笔记】iOS-登陆单例
- EntityFramework Core 学习笔记 —— 包含与排除属性
- Unity 模型导入导出
- LC_ALL=C
- linux-搜索
- if...else..的错误用法
- 360度角转AS3角度
- WebService详解(二)
- bzoj 4556 字符串
- wordpress升级版本时出现错误“Maximum execution time of 30 seconds exceeded”
- oracle 锁表 and 解锁
- JWT-Token登陆校验
- HDFS恢复误删操作的方法
- Python3 sqlacodegen 根据已有数据库生成 ORM 使用的 model.py
- 【CF903G】Yet Another Maxflow Problem 线段树
- Elasticsearch 常用基本查询
- Java_String_Arrays_Character_BigDecimal_Calendar_Math_System
热门文章
- 苹果APP内购客户付款成功,没收到相应虚拟产品的解决办法
- Nginx 之 Rewrite 规则
- Android笔记(二十五) ListView的缓存机制与BaseAdapter
- Warning | 3719 | 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
- Java学习笔记——第3篇
- html知识补充
- Java中的经典算法之快速排序(Quick Sort)
- [CSS] The :empty Pseudo Selector Gotchas
- Spring事务管理器
- hbase的region