zoukankan      html  css  js  c++  java
  • python笔记之函数

    1、基础函数:

    # def show():
    #     print('Hello World!')
    #     print('My name is Albert')
    # # print(show)
    # show()
    # def show(name):
    #     print('Hello :',name)
    #     print('My name is Albert')
    # # print(show)
    # show('Pretty girl')
    def calc(x,y):
        res=x**y
        print(res)
    calc(2,6)
    calc(2,2)
    
    

    2.参数:

    def stu_register(name,sex,age,professional,school='山东理工大学'):
        print("--------------学生信息注册-------------")
        print('姓名:',name)
        print('性别:',sex)
        print('年龄:', age)
        print('学校:', school)
        print('专业:', professional)
    
    stu_register('albert','boy','23','软件工程')
    stu_register('Tom','boy','23','软件工程')
    stu_register('jery','boy','23','软件工程')
    stu_register('rain','boy','23','软件工程')
    stu_register('black girl','girl','23','山东大学','软件工程')
    
    
    关键参数:::
    def stu_register(name,sex,age,professional,school='山东理工大学'):
        print("--------------学生信息注册-------------")
        print('姓名:',name)
        print('性别:',sex)
        print('年龄:', age)
        print('学校:', school)
        print('专业:', professional)
    
    stu_register('albert','boy',professional='软件工程',age=23)
    #多人发送,即  非固定参数
    def send_message(msg,*users):
        for u in users:
            print(msg,u)
    send_message('奋斗吧!青年','albert','jack')
    send_message('yx最孤独!','albert','jack','xxxx')

    两种不同的非固定参数(但都是以元祖形式打包的)传参写法:

    *users是吧msg之后的所有参数截胡打包给自己,后面如果加一个age,她也会把age包含里面。因此,如果后面加形参,调用时用关键参数,以age这个为例:age=22.这样的话就不会被截胡。

    元祖打包和字典打包:

    函数返回:

    def stu_register(name,age,course,country):
        print(name,age,course,country)
        if age < 23:
            return name,course
        elif age >= 23 and age <= 30:
            return  '恭喜你!'
        elif age >30 and age < 60:
            return ['daf','ewrq','cdac']
        elif age >= 60 and age < 70:
            return {'albert':'奋斗吧','sad':'asd'}
        else:
            return (1232,'dsfaewdfasdfewaf')
    status = stu_register('albert',18,'python','zino')
    print(status)
    status = stu_register('albert',24,'python','zino')
    print(status)
    status = stu_register('albert',50,'python','zino')
    print(status)
    status = stu_register('albert',66,'python','zino')
    print(status)
    status = stu_register('albert',88,'python','zino')
    print(status)

        执行结果:

    全局变量和局部变量:

    局部变量可以修改全局变量,前提全局变量是可以修改的,eg:列表,字典等。像不能修改的字符串是不可以的。但是引用  global是可以对其修改的

    names = ['albert','tom','bob']
    def func1():
        global names
        names = {'a':1,'b':2}
        # del names[2]
    print(names)
    func1()
    print(names)

    函数嵌套:

     global已经把19读下来了,age=73,是执行完func2后改变全局变量age:

    作用域:

    age = 18
    def func1():
        age = 99
        def func2():
            print(age)
        return  func2
    val = func1()
    val()
    

    函数名可以当作返回值

    匿名函数:

    # 匿名函数
    def func1(x,y):
        if x > y:
            return x / y
        else:
            return  x * y
    func2 = lambda x,y:x / y if x > y else x * y    #声明一个匿名函数
    print(func1(16,8))
    print(func2(16,8))

  • 相关阅读:
    Linux vi或vim替换
    Linux vi或vim统计字符出现次数
    Pycharm 操作Git
    离线安装 Python三方包
    Python 列表排序,sort函数,分组排序
    执行shell脚本,并把执行结果存入文件
    Git 拉取近期提交的代码
    Python base64编码和解码
    媒体信息源
    每日随笔
  • 原文地址:https://www.cnblogs.com/AlbertY/p/8786413.html
Copyright © 2011-2022 走看看