zoukankan      html  css  js  c++  java
  • 函数

    1、函数的初识

    1)my_len()  # 函数名+() 执行函数
    def 关键字 函数名(设定与变量相同):
    函数体
    #函数的返回值 return
        1,遇到return,结束函数。
        def func1():
            print(11)
            print(22)
            return
            print(333)
            print(444)
        func1()
        2,给函数的调用者(执行者)返回值。
            无 return 返回None
            return 不写 或者 None 返回None
            return 返回单个数.
            return 返回多个数,将多个数放在元组中返回。
    s1 = 'fdsgdfkjlgdfgrewioj'
    # def my_len():
    #     count = 0
    #     for i in s1:
    #         count += 1
    #     return 666
    # print(my_len(),type(my_len()))
    
    # def my_len():
    #     count = 0
    #     for i in s1:
    #         count += 1
    #     return 666,222,count,'老男孩'
    # print(my_len(),type(my_len()))
    
    # def my_len():
    #     count = 0
    #     for i in s1:
    #         count += 1
    #     return 666,222,count
    # ret1,ret2,ret3 = my_len()  # (666, 222, 19,)
    # print(ret1)
    # print(ret2)
    # print(ret3)
    
    # def my_len():
    #     count = 0
    #     for i in s1:
    #         count += 1
    #     return count
    # print(my_len())
    # print(len(s1))
    View Code

    2)函数的传参

    li = [1, 2, 3, 43, 'fdsa', 'alex']
    s1 = 'fdsgdfkjlgdfgrewioj'
    
    # def my_len(a):  # 函数的定义()放的是形式参数,形参
    #     count = 0
    #     for i in a:
    #         count += 1
    #     return count
    # ret = my_len(li)  # 函数的执行() 实际参数,实参
    # print(ret)
    # print(len(s1))
    
    # 从实参角度
        #1,位置参数。 必须一一对应,按顺序
    # def func1(x,y):
    #     print(x,y)
    # func1(1, 2)
        #2,关键字参数。必须一一对应,不分顺序。
    # def func1(x,y,z):
    #     print(x,y,z)
    # func1(y=2,x=1,z=5,)
    
    # def max(a,b):
    #     if a > b:
    #         return a
    #     else:
    #         return b
    # print(max(100,102))
    # def max(a,b):return a if a > b else b
    # print(max(100,102))
        #3,混合参数。一一对应 且 关键字参数必须在位置参数后面。
    # def func2(argv1,argv2,argv3):
    #     print(argv1)
    #     print(argv2)
    #     print(argv3)
    # func2(1,2,argv3=4)
    # 从形参角度
        #1,位置参数。 必须一一对应,按顺序
    # def func1(x,y):
    #     print(x,y)
    # func1(1,2)
        #2,默认参数。 必须在位置参数后面。
    # def register(name,sex='男'):
    #     with open('register',encoding='utf-8',mode='a') as f1:
    #         f1.write('{} {}
    '.format(name,sex))
    #
    # while True:
    #     username = input('请输入姓名:/q 或者 Q 退出')
    #     if username.upper() == 'Q':break
    #     if 'a' in username:
    #         sex = input('请输入性别:')
    #         register(username,sex)
    #     else:
    #         register(username)
    
        #3,动态参数 *args,**kwargs 万能参数
    
    # def func2(*args,**kwargs):
    #     print(args)  # 元组(所有位置参数)
    #     print(kwargs)
    # func2(1,2,3,4,5,6,7,11,'alex','老男孩',a='ww',b='qq',c='222')
    # 位置参数,*args,默认参数
    # def func3(a,b,*args,sex='男'):
    #     print(a)
    #     print(b)
    #     print(sex)
    #     print(args)
    # func3(1,2,'老男孩','alex','wusir',sex='女')
    # 位置参数,*args,默认参数,**kwargs
    # def func3(a,b,*args,sex='男',**kwargs):
    #     print(a)
    #     print(b)
    #     print(sex)
    #     print(args)
    #     print(kwargs)
    # func3(1,2,'老男孩','alex','wusir',name='alex',age=46)
    def func1(*args,**kwargs):  # 函数的定义 * 聚合。
        print(args)
        print(kwargs)
    # l1 = [1,2,3,4]
    # l11 = (1,2,3,4)
    # l2 = ['alex','wusir',4]
    # func1(*l1,*l2,*l11)  # 函数的执行:* 打散功能。
    # func1(1,2,3,4,'alex','wusir',4,1,2,3,4)  # 函数的执行:* 打散功能。
    # dic1 = {'name1':'alex'}
    # dic2 = {'name2':'laonanhai'}
    # func1(**dic1,**dic2)
    View Code
  • 相关阅读:
    Flex 布局语法教程
    Uni-App
    springBoot框架中几个层(dto、dao、service、controller)之间的关系
    delphi Restful:客户端实现的四种方式及其比较
    Node.js安装及环境配置之Windows篇
    MySQL 8.0.18安装教程(windows 64位)
    JDK下载和安装
    【转载】G1垃圾回收器详解
    【转载】单线程Redis性能为何如此之高?
    快速开发框架天梭(Tissot)
  • 原文地址:https://www.cnblogs.com/bjj-0102/p/8896488.html
Copyright © 2011-2022 走看看