zoukankan      html  css  js  c++  java
  • 函数之初识函数

    #如何定义一个函数:

    def sayhi(x, y):    #函数名字的命名规范和变量名字相同   都是字母数字下划线组成。后面加一个括号  里面可以传入相应的参数
    res = x**y #对传入的参数进行运行计算
    print(res)
    print('my name is alex')
    sayhi(2, 10) #函数只有在调用时才会进行函数体内的运算

    # 函数减少代码量
    #方便扩展易于修改
    #方便维护



    #认识参数:
    def caloy(x, y):    # 这里的参数‘x, y’是形式参数 只要函数不被调用就不会产生内存占用
    res = x**y
    print(res)
    print('my name is alex')
    sayhi(2, 10) # ‘2, 10’是实际参数 只要写了就会占用内存 ,同时这里可以传入任意值 比如 表达式,函数,str, 元祖,列表,,,,等等




    #认识默认参数和位置参数:


    def segrigit(name,  age, cousre, country = 'CN'):   #位置参数必须在默认参数之前  否则‘python’不知道应该怎样传参  这时会报错!  这里‘country = ‘CN’’就是一个默认参数 传参时默认参数你如果不传写就按照默认值打印  如果填写的话就按照传入的值打印
    print('欢迎老表!')
    print(name, age, country, cousre) #这里依然打印你指定的顺序
    segrigit('alex', '25', 'python')
    segrigit('ragin', '22', 'python')
    segrigit('black girl', '23', 'python')



    #关键字参数:
    def segrigit(name,  age, cousre, country = 'CN'):
    print('欢迎老表!')
    print(name, age, country, cousre)
    segrigit('alex', '25',age = 26, 'python',) #关键字参数是在实参里面,同于默认参数 必须在实参里的位置参数之后 这里的‘age = 26’就是个关键字参数 然而他的位置放的是错误的这时python解释器就不知到该给形参传入哪个值 就会报错

    报错信息:
    File "D:/luffy/day6/默认参数位置参数.py", line 4
        segrigit('alex', '25',age = 26, 'python',)
                                       ^
    SyntaxError: positional argument follows keyword argument #这里的意思是关键字参数不能在位置参数之前




    #非固定参数又称不定长参数1:
    def segit(msg, *args, age):   #‘×args’可以接受除前面一个位置参数之后的所有值但是不包括关键参数  它接收的值会存入一个元祖
    for u in args:
    print(msg, u)
    lis = ['alex', 'agin', 'shanshan']  #一个列表
    segit('别他妈浪了,赶紧回家吃饭啦!', 'alex', 'agin', 'shanshan', age = 22) #这里的所有除位置第一个参数和关键参数 都会给‘×args’
    segit('别他妈浪了,赶紧回家吃饭啦!', *lis, age = 22)   #这点是直接传入一个列表 但是列表前面必须加‘×’否则会当作一个整体传给‘×args’如:(‘['alex', 'agin', 'shanshan']‘)  同时列表 元祖啥的都可以传 但是不能是字典


    #非固定参数又称不定长参数2:
    def segit(*args, **kwargs):  #  ‘**kwargs’用来接收关键参数并储存到字典里面
    print(args, kwargs)
    dic = {'学历': '初中'}
    segit(*dic) #这里会把一个字典放紧元祖
    segit(**dic) #然而字典常用语传给’**kwargs‘

    #输出结果:
    ('学历',) {}
    () {'学历': '初中'} #如上所说!


     




       
     
     




     
  • 相关阅读:
    python截取视频中的某一段,保存为avi结尾的视频
    文章内容过长,将此内容转为pdf的方式(使用node)
    typescript常见问题集锦
    利用matplotlib中imshow()函数绘图
    如何查看Linux系统安装时间
    php包含那点事情[WOOYUN]
    中间人攻击利用框架bettercap测试
    java 递归方法
    java方法重载
    JVM 之栈结构
  • 原文地址:https://www.cnblogs.com/yuexijun/p/9991894.html
Copyright © 2011-2022 走看看