Python函数
前言:本章代码不具备可执行性,仅用作辅助概念解释
1.函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
def 函数(形参): #形参:保存在形参中的值,在函数返回后就丢失 函数体 函数(实参) #实参:调用函数时传递给函数的信息
2.返回值:函数返回的值(函数调用求值的结果)
2.1用def语句创建函数时,可以用return语句指定应该返回什么值。如果在return语句中使用了表达式,返回值就是该表达式的结果。
2.2可返回任何类型的值,包括列表,字典等数据结构
def 函数(形参): 变量 = 函数体 return 变量 print(函数(实参))
3.传递实参:位置实参;关键字实参
3.1位置实参:基于实参的顺序,python将每个实参关联到每个形参(可调用函数多次;顺序不可反)
3.2关键字实参:基于实参的形参名,传递给函数的名称-值对
3.3默认值:可将每个形参指定默认值(可为空字符串)。当给形参提供了实参时,使用指定实参值,否则使用默认值
def 函数(形参1,形参2,形参3=默认值): #带有默认值的形参放在最后面;等号两边不要有空格 函数体 函数(形参2=实参2,实参1) 函数(形参2=实参2,形参3=实参3,实参1) # =两边不要有空格
4.传递列表
def 函数(形参1,形参2): 函数体 实参1 = 列表1 实参2 = 列表2 函数(实参1) 函数(实参2[:]) #切片表示法:创建列表2副本,向函数传递副本而不是原件
5.传递任意数量的实参
def 函数(*形参): # *让python创建一个名为形参的空元组,并将所有实参装到这个元组中;*形参必须放在所有形参最后 函数体 函数(实参1,实参2,.......)
5.1使用任意数量的关键字实参:将函数编写成能接受任意数量的键-值对
def 函数(形参1,形参2,**形参3): #形参3让python创建一个名为形参3的字典 函数体 函数(实参1,实参2,a='b',c='d',e='f',......)
6.将函数存储在模块中
6.1模块:扩展名为.py的文件,包含要导入到程序中的代码(模块和程序必须在同一个程序中)
6.2导入整个模块
import 模块名 模块名.函数(实参)
6.3导入特定的函数
from 模块名 import 函数1,函数2,函数3,...... 函数1(实参) 函数2(实参) 函数3(实参)
......
6.4使用as给函数,模块指定别名
from 模块名 import 函数1 as 函数1别名 模块名别名.函数(实参)
import 模块名 as 模块名别名 模块名别名.函数(实参)
6.5导入模块中所有函数(若模块中函数名称与自己项目中名称相同,会覆盖函数,而不是导入所有函数)
from 模块名 import *
7.局部作用域和全局作用域
7.1定义
1.局部作用域:在被调用函数内赋值的变元和变量,处于该函数的局部作用域 2.全局作用域:在所有函数之外的变量,属于全局作用域 3.局部变量:处于局部作用域的变量 4.全局变量:处于全局作用域的变量
7.2规则
1.全局作用域中的代码不能使用任何局部变量 2.局部作用域可以访问全局变量 3.局部作用域不可以使用其他局部作用域的变量 4.在不同的作用域中,可以使用相同名字命名的不同变量
7.3 global语句:在一个函数内将指定变量修改为全局变量
global 变量
7.4区分变量
1.变量在全局作用域中使用,它总是为全局变量
2.有针对变量的global语句,它为全局变量
3.变量用于函数中的赋值语句,为局部变量
4.变量没有在赋值语句中,为全局变量
def spam():
print(变量1) #变量1为全局变量
8.异常处理
try: normal execution block #有可能出错的程序,出错时转到except子句中执行 except A: Exception A handle #一旦执行跳到except语句,就不会回到try语句 except B: Exception B handle except: Other exception handle else: If no exception,get here #try子句执行无异常时,执行else子句;else语句必须与except语句搭配才可以使用 finally: print('finally') #无论是否发生异常,皆执行 #else,finally语句是可选的,不是必须存在的
#execute v.执行
block n.块;v.阻止
posted on 2018-12-11 16:07 Superwanderer 阅读(79) 评论(0) 收藏 举报
浙公网安备 33010602011771号