python学习笔记- 函数
Posted chenhongl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记- 函数相关的知识,希望对你有一定的参考价值。
1、函数:(方法、功能)
1.提高代码的复用性
2.让代码更简洁、简化代码
1)定义一个简单的函数
def sayHello(): #函数名,定义函数
print("hello") #函数体
#函数不调用是不会被执行的
sayHello() #调用函数
2)函数的参数:形参、实参
def calc(a,b): #a,b叫形参(形式参数)#位置参数,也叫必填参数
res = a * b
print(‘%s * %s = %s‘ % (a,b,res))
calc(7,8) #调用函数时,传入实参(实际参数),7传给a,8传给b
3)默认值参数
def op_file(filename,content=None): #content是默认值参数,非必填
pass
2、局部变量和return
#局部变量(+ return使用)
函数里面定义的变量,都是局部变量,只能在函数里面用,出了函数就不能用了
#如果在函数外print(变量) 就会报错
#return的作用
1.return xxx #调用完函数之后,返回处理的结果
2.结束函数,函数遇到return,函数会立即结束
def op_file(file_name,content=None): #文件名、需要写入的内容(默认None)
f = open(file_name,‘a+‘,encoding=‘utf-8‘)
f.seek(0)
if content: #如果内容不为空(写入)
f.write(content)
f.flush() #刷新,立即写入到文件
else: #内容为空(读)
all_user = f.read() #局部变量,在函数里面定义的变量,只能在函数里面用,出了函数就不能用了
return all_user #调用完函数之后,返回处理的结果
f.close()
#op_file(‘a.txt‘,‘aaaa\nbbbb‘) #content传入值,写入
res = op_file(‘a.txt‘) #content=None,读文件,res接收函数的返回值
print(res)
【例】:return结束函数
def num():
for i in range(5):
print(i)
if i==3:
return #只写一个return,表示立即结束函数,相当于break,返回None
res = num()
print(res)
#>>> 0 1 2 None
【例】函数里面如果没有return的话,默认返回None,函数里面return不是必须的,如果要接收函数的返回结果,就使用return,如果不需要函数结果,就不用return
import string
def check(pwd):
#密码长度6-7位,必须包含字母和数字
if len(pwd)>5 and len(pwd)<12:
if set(pwd) & set(string.ascii_letters) and set(pwd) & set(string.digits):
print("密码合法")
else:
print(‘密码不合法‘)
else:
print(‘密码长度6-11位‘)
res = check(‘123abcd‘) #函数里面如果没有return的话,默认返回None
print(res)
3、【例】:写一个 判断一个数是否是合法的小数 的函数
#需求分析
#定义一个函数
# 1、小数点个数 .count()=1
# 2、按照小数点进行分割 1.98 ->[1, 98]
# 3、正小数:小数点左边是正数;右边也是整数 s.87 98.s
# 4、负小数:左边:小数点左边以负号开头,且只有一个负号;右边是整数 -9.5
#-9.5->[‘-9‘,5],再-9按‘-‘切割成[‘‘,9]
def is_float(s):
s = str(s)
if s.count(‘.‘) == 1:
left = s.split(‘.‘)[0]
right = s.split(‘.‘)[1]
if left.isdigit() and right.isdigit():
print("是正小数")
return True
elif left.startswith(‘-‘) and left.split(‘-‘)[1].isdigit() and left.count(‘-‘)==1 and right.isdigit():
print("是负小数") #左边以‘-’开头,且只有一个负号,左边再按负号切割后的第二个元素是数字;右边也是数字
return True #‘-1‘.split(‘-‘) -> [‘‘,‘1‘]
print("不是小数") #其它情况返回false
return False
print(is_float(1.98))
print(is_float(-2.98))
print(is_float(-1)) #False
print(is_float(‘s.98‘)) #False
print(is_float(‘1.s98‘))
print(is_float(1.0)) #True
print(is_float(-.5)) #True
print(is_float(‘.98‘)) #False
4、常量:就是一个不变的值,一般全部用大写字母来定义 #比如PORT = 3306 ,比如,文件名FILENAME = ‘a.txt‘
money = 500
def test(consume):
return money - consume
def test1(money):
return test(money) + money
money = test1(money)
print(money)
>>> 500
5、全局变量:
公共的变量,都可以用的变量
如果要修改全局变量的话,那要先声明一下修改的是全局变量
#少用全局变量:全局变量不安全,所有人都可以修改;全局变量会一直占着内存
以上是关于python学习笔记- 函数的主要内容,如果未能解决你的问题,请参考以下文章