python-函数
函数的相关博客:http://www.nnzhp.cn/archives/154
1、函数 一个方法 一个功能
函数不调用不被执行
提高代码的复用性
2、函数的入参:
def hello(file_name,content):
f=open(file_name,'a+')
f.seek(0)
f.write(content)
f.close()
hello('a.txt','你好吗')
形参:变量例如上边的file_name,
实参:实际传入的参数,例如上述的a.txt
参数的类型:
位置参数:必填,即直接写的参数。例如上述的例子中 则为位置参数
默认值参数:在形参中直接指定,且默认值参数不必填,如果不传则使用默认值,传值则用传值
例如:
def hello(file_name,content=‘’):
f=open(file_name,'a+')
f.seek(0)
f.write(content)
f.close()
hello('a.txt','你好吗') 则内容为插入的值
hello('b.txt','') 则用默认值,为空
可变参数
# 可变参数,非必填,
#关键字参数
3、函数返回:
如果想获取的到函数处理结果,必须带return 即带返回值
如果函数没有写return,则返回值为None,返回值return 非必须,需要获取函数的额返回结果在写即可
return 立即结束函数
def hello(file_name,content=‘’):
f=open(file_name,'a+',encoding='utf-8')
if content:
f.write(content)
else:
f.seek(0)
res=f.read()
return res #带return 则代表此函数带返回值
f.close()
user=hello('a.txt') 即将返回值赋值为user
4、全局变量 和局部变量
修改全局变量需要 实现声明, 声明 global
函数里边的变量都是局部变量
a=100
def test():
a=5
print(a)
test()
尽量不要用全局变量,不安全,且一直占内存。
5、函数return 返回多个值:
def hello(a,b,c,d):
return a,b,c,d
返回值为多个时, 会把多个返回放在一个元组里边
6、一个函数尽量只实现一个功能
7、内置函数: 参考博客http://www.nnzhp.cn/archives/152
input()\print()\type()\int()\str()\len()\ 等函数
print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真
print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真
ids=[1,2,3]
names=['xiaohei','xiaobai','xiaohuang','xiaolv']
for id,name in zip(ids,names):
print(id,name)
返回:
sorted() #默认升序,reverse=True则为降序 , 字符串, list 都可以排序
d={'1','3','4','2'}
print(sorted(d,reverse=True))
def func(a):
if a%2==0:
return a
else:
return False
nums=[x for x in range(11)] #列表推导式
res=map(func,nums) #map 与以下四行 功能等效, 传参数2个,一个函数 一个list
# all_res=[]
# for num in nums:
# res=func(num)
# all_res.append(res)
print(nums)
print(list(res))
返回结果为: [0, False, 2, False, 4, False, 6, False, 8, False, 10]
def func(a):
if a%2==0:
return a
else:
return False
nums=[x for x in range(11)]
res=filter(func,nums) #filter循环调用函数,会将false 的过滤掉只保存真的
print(list(res))
返回结果为: [2, 4, 6, 8, 10]
函数即变量:
def say(name):
print(name)
jyj=say
jyj('佳佳')
#练习01
def add():
print('添加商品')
def view():
print('查看商品')
def delete():
print('删除商品')
choice=input('请输入选择1、2、3')
menu={
'1':add, #建立映射,需要写函数名,不能写函数,函数即变量
'2':view,
'3':delete
}
if choice in menu:
menu[choice]() #menu[choice] 则取到对的字典中的变量,然后加上() 即调用函数,适合 函数无参数或者函数个数一样的情况
else:
print('输入错误')

浙公网安备 33010602011771号