Python语法:函数

# 函数(以最少的代码写出最高级的东西)
# 一 函数的定义
def date(key):
    print("今天星期{}".format(key))

date("星期一")

# 定义一个函数(不调用没有任何意义)
"""
定义函数语法:
def 函数名():
    函数体

调用函数:
    函数名()
"""

# 无参函数
a = 1 

def name():
    if a == 1:
        print("现在a的值是1")
    else:
        print("a的值是其他")

name()

# 有参函数
def name(a):
    if a == 1:
        print("现在a的值是1")
    else:
        print("a的值是{}".format(a))

name(1)    #实参可以变换

# 函数默认值None(函数不一定需要返回值)
def spk(a):
    b = a - 10
    return b

print(spk(11))
print(spk(11)+1)

# 二 作用域
count = 1    #全局变量 

def num():
    b =1    #局部变量
    b += 10
    print(count+1)
    print(b)

num()
print(count)

# 三 函数的嵌套

def num():
    a = 1
    return a+1

def spk(nums):
    if nums == "a":
        print(num()+1)

spk("a")

def add(a,b):
    return a+b

def div(a,b):
    return a/b

def get():
    c = add(1,2)
    print(c)
    d = div(c,2)
    print(d)

get()

# 四 五种参数
# 必须参数
def spk(a):
    print(a)

spk(1)

def test(a,b=1,c=2):
    print("这是参数a:",a)
    print("这是参数b:",b)
    print("这是参数c:",c)

# 默认参数,必须放在最后面
def spk(a,b=2):
    print(a)
    print(b)

spk(1,[1,2,3])

#  关键字参数,解决传值顺序
def spk(a,b,c="李四", d=2):
    print(a)
    print(b)
    print(c)
    print(d)

spk(1, d="李四", c="张三", b="王五")

# 可变参数
def spk(a,b,*args):
    print("a的值:",a)
    print("b的值:",b)
    print(args[0])

spk(1,2,3,4,5,6,7)

# 关键字参数传多个
def spk(a,b,**kwargs):
    print("a的值:",a)
    print("b的值:",b)
    print(kwargs)

spk(1,2,d=1,f=2,c=3)

# 无线传参
def pops(array, b=-1):
    return array[b]

list1 = [1, 2, 3]
print(pops(list1,2))

# 四个数取和
def spk(*args):
    return args[0] + args[1] + args[2] + args[3]

print(spk(1,2,3,4))

def spk(*args, **kwargs):
    print(args)
    print(kwargs["a"])

# 递归函数
def num(n):
    if n == 1:
        return 1
    else:
        return num(n-1)+n

print(num(100))    #递归函数最大值为998

# 匿名函数
def add(a,b):
    return a+b
print(add(1,2))

'''
匿名函数语法:
lambda 函数体
'''
art = lambda a, b:a+b
print(art(1,2))

# 求最大值
def num(*args):
    if args[0] > args[1]:
        if args[0] > args[2]:
            print("三个数最大值是:",args[0])
        else:
            print("三个数最大值是:",args[2])
    else:
        if args[1] > args[2]:
            print("三个数最大值是:", args[1])
        else:
            print("三个数最大值是:", args[2])


x1 = int(input("请输入第一个值:"))
x2 = int(input("请输入第一个值:"))
x3 = int(input("请输入第一个值:"))
num(x1,x2,x3)

# 判断三角形
def div(a,b,c):
    if a+b>c and a+c>b and b+c>a:
        if a == b == c:
            print("这是等边三角形")
        elif (a**2 + b**2 == c**2 or
              b**2 + c**2 == a**2 or a**2 + c**2 == b**2):
            print("这是直角三角形")
        elif a == b or a == c or b==c:
            print("这是等腰三角形")
        else:
            print("这是普通三角形")
    else:
        print("你输入的三条边构不成三角形")

# 练习
a = int(input("请输入第一条边:"))
b = int(input("请输入第一条边:"))
c = int(input("请输入第一条边:"))
div(a,b,c)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旖旎沐心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值