zoukankan      html  css  js  c++  java
  • python函数-基础篇

    函数                                                                                                                
    为什么要用函数?
    1、减少代码冗余
    2、增加代码可读性

    函数的定义及使用
    def info():      # 这里我们定义一个打印个人信息的函数
        name = "xiaoming"
        age = 22
        job = "IT"
        print("%s年龄%d,职业%s." % (name, age, job))
        
        
    info()           # 函数调用
    定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

    注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。

    调用:就是 函数名() 要记得加上括号。


    函数的返回值

    通过上个函数,可以打印出函数的输出结果,但过我们需要的是将,结果给到一个变量,或者别的对象时,就不能实现了,这里我们需要用到函数的返回值。

    def info():  # 这里我们定义一个打印个人信息的函数
        name = "xiaoming"
        age = 22
        job = "IT"
        return "%s年龄%d,职业%s." % (name, age, job)     # return 后面就时函数的返回值,在没有指定的情况下,默认返回None
    
    
    ret = info()  # 函数调用
    print(ret)

    使用return,就可以将我们想要的结果返回给变量ret了。

    使用 return 返回值的几种情况:

    没有返回值:
    不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。 
    def info():  # 这里我们定义一个打印个人信息的函数
        name = "xiaoming"
        age = 22
        job = "IT"
        print("%s年龄%d,职业%s." % (name, age, job))
    
    
    ret = info()        # 函数调用
    print(ret)
     只写return,后面不写其他内容,也会返回None,一旦遇到return,就会结束整个函数。
    return 返回一个值,return可以返回任意类型的值

    返回一个值

    def info():  # 这里我们定义一个打印个人信息的函数
        name = "xiaoming"
        age = 22
        job = "IT"
        return "%s年龄%d,职业%s." % (name, age, job)     # return 后面就时函数的返回值,在没有指定的情况下,默认返回None
    
    
    ret = info()  # 函数调用
    print(ret)

    return 返回多个值
    返回的多个值会被组织成元组被返回,也可以用多个值来接收,以逗号分割
    def info():  # 这里我们定义一个打印个人信息的函数
        name = "xiaoming"
        age = 22
        job = "IT"
        print("%s年龄%d,职业%s." % (name, age, job))
        return 1, "b", ["a", "c"]
    
    
    ret = info()  # 函数调用
    print(ret)
    ret2, ret3, ret4 = info()
    print(ret2, ret3, ret4)

    函数的参数
    如上个例子,如果我们想输出另一个人的信息,难道要再定义一个函数吗,那函数减少重复代码就没有意义了,当然不用
    我们可以这样:

    def info(name, age, job):  # 这里括号内的name,age,job叫形参
    
        print("%s年龄%d,职业%s." % (name, age, job))
    
    
    info("xiaoli", 23, "sale")        # 这里有对应形参个数的三个值,叫实参
    我们在调用info函数输出对应传入人员信息的过程叫做传递参数,简称传参。

    传参数的几种形式:

    1、位置传参 如上面例子中,形参和实参的个数一定要对应,不然会报错

    2、关键字传参,默认参数

    def info(name, age, job="IT"):  
    
        print("%s年龄%d,职业%s." % (name, age, job))
    
    
    info("xiaoli", age=23)     
    
    
    在形参中job = "IT"就是默认参数,默认参数时可变的,仍然可以使用关键字参数进行传值,默认了在不指定job的情况下,job会默认为IT。

    注意一: 位置参数必须在关键字参数的前面

    注意二: 形参中的非默认参数必须传值,对于一个形参只能赋值一次
      
    动态参数:

    当我们要对函数传递不定个数的位置参数或者关键字参数时,要使用到动态参数,一般我们使用*args以元祖的形式接收不定个数的位置参数,**kwargs以字典的形式接收不定个数的关键字参数。

    def info(*args, **kwargs):
    
        print("%s年龄%d,职业%s." % (args[0], args[1], kwargs["job"]))
    
    
    info("xiaoli", 23, job="IT")
    
    
  • 相关阅读:
    ionic + cordova+angularJs 搭建的H5 App完整版总结
    在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能
    【Web动画】SVG 线条动画入门
    闲来无聊,研究一下Web服务器 的源程序
    PHP实现RTX发送消息提醒
    关于AngularJS(1)
    项目总结12:bootstrap-select下拉框模糊搜索
    JAVA读取XML文件并解析获取元素、属性值、子元素信息
    项目总结11:Centos部署JDK+Tomcat+MySQL文档(阿里云-网易云-华为云)
    项目总结10:通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题
  • 原文地址:https://www.cnblogs.com/zt0903/p/10674347.html
Copyright © 2011-2022 走看看