函数1
语句定义格式:
def 函数名(..):
代码块
调用函数
函数名(..)
函数名(..)
定义
def print_info():
print('dyj大sb')
print(666)
a1=10
b1=11
c1=a1+b1
print(c1)
调用
print_info()
import fileinput
import time
编写函数的注意事项
- 函数的名字,尽量使用小写英文单词,使用下划线拼接的方式 printInfo()
- 函数不调用不执行
函数使用的好处
- 降低代码的冗余度
- 提高程序编写的灵活性
位置传参
- 形式参数:指的是函数定义时上面的参数
- 实际参数:调用时实际传入的值
def fun1(a1,b1,c1):
d1 = a1+b1+c1
print(d1)
fun1(11,22,33)
关键字传参
def fun1(a1,b1,c1):
d1 = a1+b1+c1
print(d1)
fun1(c1=11,a1=22,b1=33)
混合传参
def fun1(a1,b1,c1):
d1 = a1+b1+c1
print(d1)
fun1(11,22,c1=99)
注意:混合传参时,关键字传参必须是最后一个传入****
def get_str_count(big_str,s):
count=0
for i in big_str:
if i==s:
count=count+1
print(f'{s}字符在字符串中出现了{count}次')
get_str_count('kasiacauidhsaujfhnaiujhcs','a')
def sum1(a1,b1):
if type(a1)int and type(b1)int:
print(f'{a1}+{b1}={a1+b1}')
sum1(19,12)
def sum1(a1,b1,c1):
if type(a1)int and type(b1)int and type(c1)==int:
print(f'{a1}+{b1}+{c1}={a1+b1+c1}')
sum1(19,12,c1=22)
动态传参
- 实际参数传入到函数里面的时候,会被一个元组所接收()
def sum1(a1):
sum_number=0
for i in a1:
if type(i)==int:
sum_number+=i
print(f'总和为{sum_number}')
sum1(13,21,45,67,55)
- 传键值对()
def fun1(a2):
a2={'key':'value'}
print(fun1)
fun1(a8=10)
def sum1(a1,b1):
c1=a1+b1
return c1
res1=sum1(11,22)
print(res1)
def sum1(*args):
res=0
for i in args[0]:
if type(i)int:
res+=i
return res
def get_list():
list1=[]
while True:
number=input('请输入要相加的整数:')
if number.upper()'Q':
break
if number.isdecimal():
list1.append(int(number))
return list1
list2=get_list()
res1=sum(list2)
print(f'{res1}')
import os
def fun1(path,key_word):
list1=[]
if not os.path.exists(path):
return list1
with open(path,mode='r',encoding='UTF-8') as f:
for line in f:
line=line.strip()
if key_word in line:
list1.append(line)
return list1
list2=fun1('D:\projects\PyCharmProjects\d5\sgyy.txt',';刘备')
print(list2)
for i in list2:
print(i)
函数的种类
- 无参返回值为None
def fun1():
print(11)
有参返回值为None
def fun2(a1):
print(a1)
无参返回值不为None
def fun3():
return 11
有参返回值不为None
python
def fun4(a1):
return a1+10
函数的调用
单独调用
嵌套调用
def fun1():
pass
def fun2():
print(11)
print(12)
def fun3():
print(100)
fun2()
print(200)
fun1()
print(300)
fun3()
def fun1():
pass
def fun2():
print(11)
print(12)
return 'shujia'
def fun3():
print(100)
data = fun2()
print(data)
print(200)
fun1()
print(300)
fun3()
python中的函数可以进行嵌套定义
def fun1():
print('数加科技')
def fun2():
print('今天天气不错')
fun2()
fun1()