1.函数
1.1 函数的定义和调用
定义函数的关键字:def
def 函数名称(参数)
注意:函数只有通过函数名调用的时候才会运行函数中的内容,否则运行为空
示例:定义求和函数
def add():##定义求和函数
num1 = 20
num2 = 30
result = num1 + num2
print('%d + %d = %d' %(num1,num2,result))
add()##调用求和函数
1.2 嵌套函数的定义和调用
def hello():
print('hello')
def python():
print('python')
python()##嵌套函数的定义和调用需要写在调用函数内部
hello()
2.函数+变量
def 函数名称(形参)
注意:形参的内容取决于实参的内容
def year(a):##定义函数(a为形参)
print('hello',a)
year('2019')##调用函数(2019为实参)
year('2020')##形参的内容取决于实参的内容
3.四种形参
参数分为形参和实参。
形参分为:位置参数 、默认参数 、可变参数 、关键字参数
3.1 位置参数
要求:实参和位置参数的参数个数保持一致,且顺序保持一致
def Info(name,age):
print(name,age)
Info('sam',11)###位置参数和实参顺序需要一致
Info(11,'sam')
Info(age=11,name='sam')##标记key值位置可以不一样
3.2 默认参数
形参和实参个数可以不一样
def mypow(x,y=2):##y=2为默认参数
print(x**y)
mypow(4)
mypow(2,3)
3.3 可变参数
def mysum(*a):##* 表示可以接受多个参数
sum = 0
for item in a:
sum += item
print(sum)
mysum(1,2,3,4,5)
3.4 关键字参数
注意:kwargs为关键字参数,是一个字典,可以传任意多个键值对
def getInfo(name,age,**kwargs):##**kwargs关键字参数,是一个字典
print(name,age)
print(kwargs)
getInfo('linda',18,gender='female',hobbies=['coding','running'])
4.函数的返回值
注意:返回值的关键字为:return,如果有返回返回值,没有返回none
def mypow(x,y=2):
return x ** y, x + y
a,b = mypow(3)
print(a,b)
5.函数的变量作用域
局部变量: 在函数内部定义的变量,只在函数内部起作用,函数执行结束,变量会自动删除
全局变量: 会始终生效
a = 1##全局变量
print('outside:',id(a)) ####id(a)变量在内存中存储的位置
def fun():
a = 5##局部变量
print('inside:',id(a))
fun()
print(a)
print(id(a))
a = 1
print('outside:',id(a))
def fun():
global a##声明为全局变量
a = 5
print('inside:',id(a))
fun()
print(a)
print(id(a))
6.函数的生成式
6.1 列表生成式
[expression for i in seq if...]
示例:
转换成生成式:
s = '3 25 99'
k,a,b = [int(item) for item in s.split()]
print(k,a,b)