Python 函数

使用函数优化记数过程

​​​​​​​#使用函数优化记数过程
str1="itheima"
str2="itcast"
str3="python"
cout=0
def my_len(data):
    count=0
    for i in data:
        count += 1
    print(f"字符串{data}的长度是{count}")
my_len(str1)
my_len(str2)
my_len(str3)

函数的定义

def say_hi():
    print("hello world")
say_hi()

函数的传入参数使用方式

def add(a,b):#函数的传入参数使用方式
    c=a+b
    print(f"{a}+{b}={c}")
add(2,3)
add(5,6)

函数应用举例

def check(a):#函数应用举例
    print(f"热烈欢迎,您的邀请码是:{a}")
    if a>10:
        print(f"欢迎,你的座位是:{a}")
    else:
        print("您走错了,请出门右转")
check(10)
def add(a,b):#函数返回值用法
    result=a+b
    return result
r=add(3,5)
print(r)


def age(age):
    if age>18:
        return "SUCCRSS"
    else:
        return None
result=age(16)
if not result:
    # 进入if表示result是None值 也就是false
    print("未成年,不可进入")
else:
    print("欢迎")

对函数进行注释(函数说明文档)

#对函数进行注释(函数说明文档)
def add(a,b):
    """
    add函数可以接收2个参数,进行2数相加
    :param a: 形参a表示相加的其中一个数字
    :param b: 形参b表示相加的另一个数字
    :return: 返回值是2数相加的结果
    """
    result=a+b
    print(f"两数之和为:{result}")
    return result

add(3,5)

函数的嵌套调用

def f_a():
    print("2")
def f_b():
    print("1")
    f_a()
    print("3")
f_b()


num=200
print(num)
def abc():
    global num #使用global声明全局变量
    num=100
    print(num)
abc()
print(num)

(输出为:200 100 100)

例题

#定义全局变量money和name
money=50000
name=None
#要求客户输入姓名
name=str(input("请输入您的姓名"))
#定义查询函数
def query(show_header):
    if show_header:
        print("-----查询余额-----")
    print(f"{name}您好,您的余额是{money}元")
#定义存款函数
def saving(num):
    print("-----存款-----")
    global money  #money在函数内部定义为全局变量
    money+=num
    print(f"{name}您好,您存款{money}成功")
    query(False)  #调用query函数
#定义取款函数
def get_money(num):
    print("-----取款-----")
    global money
    money-=num
    print(f"{name}您好,您取款{money}成功")
    query(False)
#定义主菜单函数
def main():
    print("-----主菜单-----")
    print(f"{name},您好,欢迎来到本银行ATM,请选择操作:")
    print("查询余额\t[输入1]")
    print("存款\t\t[输入2]")
    print("取款\t\t[输入3]")
    print("退出\t\t[输入4]")
    return input("请输入您的选择;")
#设置无限循环,确保程序不退出
while True:
    keyboard_input=main()
    if keyboard_input=="1":
        query(True)
        continue  #通过continue继续下一次循环,一进来就是回到了主菜单
    elif keyboard_input=="2":
        num=int(input("请输入你想要存入的金额:"))
        saving(num)
        continue
    elif keyboard_input=="3":
        num = int(input("请输入你想要取出的金额:"))
        get_money(num)
        continue
    else:
        print("谢谢使用,程序退出啦")
        break

进阶

函数多返回值

def return_num():
    return 1,2

x,y=return_num()
print(x)
print(y)

多种参数的使用

位置参数

关键字参数

可混用:

def user_info(name,age,gender):
    print(f'your name is {name},age is {age},gender is {gender}')

user_info('TOM',20,'male')
user_info(age=30,gender="female",name="jack")
user_info("jason",gender="male",age=18)

运行结果:

缺省参数

def user_info(name,age,gender='male'):
    print(f'your name is {name},age is {age},gender is {gender}')

user_info('TOM',20,'male')
user_info(age=30,name="jack")
user_info("jason",gender="female",age=18)

默认的参数必须写在最后面

def user_info(age,gender='male',name='rose'):
    print(f'your name is {name},age is {age},gender is {gender}')

user_info(30,'female')
user_info(name="jason",age=18)

不定长参数

#位置传递
def user_info(*args):
    print(f"the type is {type(args)},else is {args}")

user_info('TOM')

user_info('TOM',18)

#关键词传递
def user_inf(**kwargs):
   print(f"the type is {type(kwargs)},else is {kwargs}")

user_inf(name='JACK',age=20,id=110)
​​​​​​​
位置传递

关键字传递

匿名函数

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

挂科是不可能出现的

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

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

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

打赏作者

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

抵扣说明:

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

余额充值