Python学习笔记-Day3-python函数
1.为什么要用函数?
提高代码重复利用率,减少代码冗余。封装模块化代码,便于调用
2.函数声明定义(注意:函数先声明后调用)
注意:函数的reture循环中的exit功能一样(函数不执行,终止)
函数默认返回值:None(空)
形参:形式参数,用于函数接收实际参数。可理解为函数参数占位符
例如:def name(x) x就属于形参,用来接收调用函数时传递的实参
实参:实际参数,调用函数时传递的实际参数
例如:name('tom') tom就属于实参。用于传递给函数形参,便于函数体处理
3.函数参数类别
1.普通参数
2.默认参数(设置默认参数。必须放在传参尾部)
3.指定参数
4.动态参数
* (循环每个元素,放入元组中)
** (循环每个元素,放入字典中)
5.万能参数
3.1.普通参数
3.2.默认参数
3.3.指定参数
3.4.动态参数
注意:
传参不带* 传入参数会被当作一个整体被函数体处理
传参带* 传入参数会被拆分独立的元素被函数体处理
3.5.万能参数 (可混合传参)
4.字符串格式化传参方式
课堂小知识:python 传递函数参数方式是引用传参
5.python变量作用域
变量根据调用范围分类:
全局变量:函数体外变量,为全局变量。函数可调用
局部变量:函数内部变量只能函数内部调用,(局部变量)
全局变量,作用域只读
global 函数名 函数体内声明全局变量
5.1全局变量,建议定义大写
5.2三目运算
5.3lambda表达式(匿名函数)
6.pythony异常处理 try except
异常处理内容比较多,网上摘抄了部分介绍
什么是异常?
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
异常处理
捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法:
以下为简单的try....except...else的语法:
try: <语句> #运行别的代码 except <名字>: <语句> #如果在try部份引发了'name'异常 except <名字>,<数据>: <语句> #如果引发了'name'异常,获得附加的数据 else: <语句> #如果没有异常发生
try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。
- 如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
- 如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
- 如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。


![clipboard[1] clipboard[1]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154011397-1093596977.png)
![clipboard[2] clipboard[2]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154012678-1602003304.png)
![clipboard[3] clipboard[3]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154014272-430484266.png)
![clipboard[4] clipboard[4]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154015678-1353247229.png)
![clipboard[5] clipboard[5]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154017272-588619216.png)
![clipboard[6] clipboard[6]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154018881-38808611.png)
![clipboard[7] clipboard[7]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154020491-1389149769.png)
![clipboard[8] clipboard[8]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154022163-1371611023.png)
![clipboard[9] clipboard[9]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154023506-1317066436.png)
![clipboard[10] clipboard[10]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154025350-929037738.png)
![clipboard[11] clipboard[11]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154026881-109957165.png)
![clipboard[12] clipboard[12]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154027975-954635877.png)
![clipboard[13] clipboard[13]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524154029506-19837932.png)
浙公网安备 33010602011771号