【Python自学第十一天】函数

作用介绍

让代码模块化,简化操作,提高开发效率!

内置函数

print(hex(123)) #16进制转换函数
print(abs(-10)) #绝对值函数
运行结果:
0x7b
10

自定义函数

#定义一个函数,def是固定格式,firstDef 是函数名
def firstDef(): 
	#说明函数需要执行的动作
    print("Hello World!") 
    print("This is my first demo!")
#调用函数使其启动,发挥作用!
firstDef() 
#再次调用
firstDef() 
运行结果:
Hello World!
This is my first demo!
Hello World!
This is my first demo!

导入自定义函数

# test为包含函数的文件,firstDef为函数名
from test import firstDef
firstDef() # 直接调用firstDef函数
运行结果:
Hello World!
This is my first demo!
Hello World!
This is my first demo!

单个参数传参示例

def printName(name):
    print("Hello {}!".format(name))
printName('Sam')
printName('Tom')
运行结果:
Hello Sam!
Hello Tom!

多个参数传参示例

# 多个参数传递,做减法运算示例
def subNum(num1,num2):
    res = num1-num2
    print('运算结果为:{}-{}={}'.format(num1,num2,res))
subNum(2,3)
subNum(2.1,3.4)
运行结果:
运算结果为:2-3=-1
运算结果为:2.1-3.4=-1.2999999999999998

显式参数赋值

# 显式参数赋值,做减法运算示例,主要用于强调顺序,位置对应,防止出错!
def subNum(num1,num2):
    res = num1 - num2
    print('运算结果为:{}-{}={}'.format(num1,num2,res))
subNum(2,3)
subNum(num2=2,num1 = 3) #显式参数传递
运行结果:
运算结果为:2-3=-1
运算结果为:3-2=1

列表传参

# 传递列表,计算列表中数字平方和示例
num1 = [1,2,3,4]
num2 = [2,3,5,8]
def squares(nums):
    for num in nums:
        print(num**2)
squares(num1)
squares(num2)
运行结果:
1
4
9
16
4
9
25
64

默认传参

#传递默认参数,计算圆的面积示例
def circleArea(r,pi=3.14):  #默认参数pi
    area = pi * (r**2)
    print('半径为{}的圆面积为:{}'.format(r,area))
circleArea(3)  #假设半径为3
运行结果:
半径为3的圆面积为:28.26

可选传参

# 可选参数,例如在考试分数统计的时候,有同学有体育加分,有的同学没有。
def allScore(name,Chinese,English,PE=''):
    if PE:
        res = Chinese + English + PE
        print('{} 同学总分数为{}+{}+{}={}'.format(name,Chinese,English,PE,res))
    else:
        res = Chinese + English
        print('{} 同学总分数为{}+{}={}'.format(name,Chinese,English,res))
allScore('Allen',80,90,50)
allScore('Bob',90,67)
运行结果:
Allen 同学总分数为80+90+50=220
Bob 同学总分数为90+67=157

*args

# 以元组形式输出参数
def myInfo(name,*args): # 主要是*,args可以替换为其它
    print(type(args)) #查看args类型
    for arg in args:
        print(arg)
myInfo("allen",15,False,"test")
运行结果:
<class 'tuple'>
15
False
test

**kwargs

# 以字典形式输出参数
def myInfo(**kwargs):
    print(type(kwargs)) # 打印kwargs类型,**kwargs课替换为其它
    print(kwargs['name'])
    print(kwargs['age'])
myInfo(name = 'Sam',age = 18)
运行结果:
<class 'dict'>
Sam
18

return

return可以在任何地方调用函数的时候进行赋值操作。

# 没有return 无法获取函数返回内容,结果为none!
def addNums(num1,num2):
    res = num2 + num1
    print(res)
a = addNums(3,4)
print(a)
运行结果:
7
None
def addNums(num1,num2):
    res = num2 + num1
    print(res)
    return  res
a = addNums(3,4)
print(a)
运行结果:
7
7

猜你喜欢

转载自blog.csdn.net/weixin_54430466/article/details/122879397