zoukankan      html  css  js  c++  java
  • Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数

    Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数

    内容大纲

    1.函数的初识

    2.函数的定义

    3.函数的调用

    4.函数的返回值

    5.函数的参数

    1.函数初识

    # def 关键字 -- 定义
    # func 函数名 -- 和变量定义规则一样
    # ()   必须要写格式 ,一会在盘他
    # : 声明语句结束
    
    # len()
    # s = "alexdab"
    # count = 0
    # for i in s:
    #     count += 1
    # print(count)
    #
    # s = [1,2,23,3,4,5,6]
    # count = 0
    # for i in s:
    #     count += 1
    # print(count)
    #
    #
    # s = (1,2,23,3,4,5,6)
    # count = 0
    # for i in s:
    #     count += 1
    # print(count)
    
    # def func():
    #
    #     s = (1,2,23,3,4,5,6)
    #     count = 0
    #     for i in s:
    #         count += 1
    #     print(count)
    

    2.函数的定义

    # 定义一个函数:
    
    # def my_len():
    #     函数体
    
    # def my_len():
    #     s = (1,2,23,3,4,5,6)
    #     count = 0
    #     for i in s:
    #         count += 1
    #     print(count)
    

    3.函数的调用

    # 调用函数
    # my_len() # 函数名+() print() input()
    
    
    # def yue():
    #     print("打开手机")
    #     print("打开微信")
    #     print("找到女友")
    #     print("晚上约吗")
    
    # def yue():
    #     print("打开手机")
    #     print("打开微信")
    #     print("找到女友")
    #     print("晚上约吗")
    
    
    # print("起床")
    # print("上课")
    # yue()
    # print("吃饭")
    # print("检查一下")
    # yue()
    

    4.函数的返回值

    # 函数的返回值
    
    # print(12)
    # def yue():
    #     print("打开手机")
    #     print("打开微信")
    #     return 111
    #     print("找到女友")
    #     print("晚上约吗")
    #     return "萝莉小姐姐","大妈","人妖"  # return 返回
    #     print("确实有点累")
    #
    # print(yue())  # 111
    # print(1234)
    
    # lst = [1,2,3,4,5,6]
    # def func():
    #     for i in lst:
    #         print(i)
    # print(func())
    
    # lst = [1,2,3,4,5]
    # def func():
    #     for i in lst:
    #         print(i)
    #     lst.append(input(">>>"))
    #     return lst
    #
    # func() # [1,2,3,4,5,"9"]
    
    
    # return的内容返回给了函数的调用
    # return下方的代码不执行,终止这个函数
    # return 返回多个内容的时候还是元组形式
    # return 没有写返回值的时候返回的是None,不写return返回的也是None
    

    5.函数的参数

    # 位置传参:
    # def yue(a,b,c):  # 形参
    #     print("打开手机")
    #     print(f"打开{a},{c},{b}")
    #     print("附近的人")
    #     print("找个妹子")
    #     print("聊一聊")
    #
    # yue(True,(12,4,3),[1,2,3,4]) # 实参
    
    # def func(a,b=1): #b=1 默认参数
    #     print(a,b)
    # func(3,8)
    
    # 姓名,性别,年龄
    # def userinfo(name,age,sex="男"):  # 位置参数 > 默认参数
    #     print(name,sex,age)
    #
    # count = 5
    # while count:
    #     name = input("name:")
    #     sex = input("sex(男性直接回车!):")
    #     age = input("age:")
    #     if sex == "女":
    #         userinfo(name,age,sex)
    #     else:
    #         userinfo(name, age)
    #     count -= 1
    
    # def func(a,c,b=1): # a,c位置参数 ,b=1 是默认参数
    #     print(a,b,c)
    #
    # func(a=1,b=5,c=2) # a=1,b=5,c=2 是关键字参数
    
    # def func(a,b,c):
    #     print(a,b,c)
    # func(1,2,c=5) # 混合参数
    
     形参: 函数的定义中括号里是形参
     实参: 函数的调用括号里是实参
     位置传参时 形参和实参必须一一对应
     传参: 将实参传递给形参的过程就是传参
    
     函数的参数:
         形参: 函数定义的时候叫做形参
            # 位置参数
            # 默认参数
            # 混合参数
    
         实参: 函数调用的时候叫做实参
            # 位置参数
            # 关键字参数
            # 混合参数
    
         传参: 将实参传递给形参的过程叫做传参
    

    6.今日总结

    # 函数的好处:
    #     1.减少代码重复性 (冗余)
    #     2.代码可读性高
    #     3.将功能进行封装(造工具)
    
    # 定义函数
        # def func():
        #     print(1)
    
        # def  关键字
        # func 函数名
        # ()   传递参数
        # :    语句结束
    
    # 提示作用, 没有约束作用
        # def func(a:int,b:str):
        #     print(a,b)
        # func(1,2)
    
    # 调用函数
        # 函数名+()
        # 多次调用就是执行多次
        # 可以循环调用
    
    # 返回值:
    #     return 返回值
    #     return 返回一个内容(就是内容本身) 可以返回任意类型
    #     return 返回多个内容,以元组的形式返回
    #     return 终止函数 ,切记不能终止循环
    #     return 下方的代码不执行
    #     return 不写返回值或者没有return就返回None
    #     return 将内容返回给了函数的调用
    
    #参数:
        # 形参: 函数定义的时候叫做形参
            # 位置参数
            # 默认参数
            # (位置,默认) 混合参数
            # 优先级: 位置 > 默认
    
    
        # 实参: 函数调用的时候叫做实参
            # 位置参数
            # 关键字参数
            # (位置,关键字) 混合参数
            # 优先级: 位置 > 关键字
    
        # 传参: 将实参传递给形参的过程叫做传参
        # 位置传参的时候必须一一对应
        # 形参是默认的参数时,实参传递时可以不写.写了内容就会把形参的默认参数覆盖
    

    6.今日练习

    # 1.整理函数相关知识点
    #
    # 2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    # lst = [1,2,3,4]
    # def func(a):
    #     lst_2 = []
    #     for i in range(len(a)):
    #         if i % 2 == 1:
    #             lst_2.append(a[i])
    #     return lst_2
    # print(func(lst))
    
    # 3.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    # s = "abcde"
    # def func(a):
    #     if len(a) > 5:
    #         print("大于5")
    #     else:
    #         print("不是大于5")
    # func(s)
    #
    # 4.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    # lst = [1,2,3,4,5]
    # def leg(a):
    #     if len(lst) > 2:
    #         return lst[:2]
    # print(leg(lst))
    #
    # 5.写函数,计算传入函数的字符串中,[数字]、[字母] 以及 [其他]的个数,并返回结果。
    # s = input("请输入字符串:")
    # def func(a):
    #     int_number = 0
    #     word_number = 0
    #     qt_number = 0
    #     for i in s:
    #         if i.isdecimal():
    #             int_number += 1
    #         elif i.isalpha():
    #             word_number += 1
    #         else:
    #             qt_number += 1
    #     return int_number,word_number,qt_number
    # print(func(s))
    #
    # 6.写函数,接收两个数字参数,返回比较大的那个数字。
    # a = input("请输入第一个数字:")
    # b = input("请输入第二个数字:")
    # def compare(a,b):
    #     if a > b:
    #         return a
    #     else:
    #         return b
    # print(compare(5,8))
    #
    # 7.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,
    # 并将新内容返回给调用者。
    # dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    # PS:字典中的value只能是字符串或列表
    # dic1 = {"k1": "v1v1", "k2": [11,22,33,44]}
    # def dic_len(a):
    #     dic = {}
    #     for k,v in a.items():
    #         dic[k] = v[:2]
    #     return dic
    # print(dic_len(dic1))
    #
    # 8.写函数,此函数只接收一个参数这个参数必须是列表数据类型,
    # 此函数完成的功能是返回给调用者一个字典,此字典的键值对为列表的索引及对应的元素。
    # 例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。
    # lst = [11,22,33]
    # def func(a):
    #     dic = {}
    #     for i in range(len(a)):
    #         dic[i] = a[i]
    #     return dic
    # print(func(lst))
    
    # lst = [11,22,33]
    # def func(a):
    #     # enumerate 枚举
    #     dic = {}
    #     for k,v in enumerate(a):
    #         dic[k] = v
    #     return dic
    # print(func(lst))
    #
     9.写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。
     用户通过输入这四个内容,然后将这四个内容传入到函数中,此函 数接收到这四个内容,
     将内容追加到一个student_msg文件中。
    
     name = input("请输入名字:")
     sex = input("请输入性别:")
     age = input("请输入年龄:")
     rof = input("请输入学历:")
     def userinfo(name,sex,age,rof):
         f = open("student_msg", "w", encoding="utf-8")
         f.write(f'名字:{name},性别:{sex},年龄:{age},学历:{rof}
    ')
     userinfo(name, sex, age, rof)
    
     10.对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。
     while True:
         choose = input('退出请选择Q/q')
         if choose.upper() != "Q":
             name = input("请输入名字:")
             age = input("请输入年龄:")
             rof = input("请输入学历:")
             sex = input("请输入性别(男士请直接回车):")
         else:
             break
         def userinfo(name, age, rof, sex='男'):
             f = open("student_msg", "a", encoding="utf-8")
             f.write(f'名字:{name},性别:{sex},年龄:{age},学历:{rof}
    ')
         if sex == '女':
             userinfo(name, age, rof, sex)
         else:
             userinfo(name, age, rof)
    
  • 相关阅读:
    【VS2013编译DirectX Tutorials时遇到的错误】"const wchar_t *" 类型的实参与 "LPCSTR" 类型的形参不兼容
    python3 登录接口
    Python-网络编程
    Python之mock接口开发
    python基础笔记(五):操作excel、mysql、redis
    python基础笔记(六):md5加密
    python3基础笔记(四):模块安装&os模块&时间模块
    python3基础笔记(三):函数
    python3基础笔记(二):文件操作、json操作
    Python3基础笔记
  • 原文地址:https://www.cnblogs.com/liubing8/p/11200973.html
Copyright © 2011-2022 走看看