• Python之初识函数(Day11)


    一.函数的定义与调用

    总结一:

    定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

       def 是固定的,不能变,必须是连续的def三个字母,不能分开。。。

       空格 为了将def关键字和函数名分开,必须空(四声),当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。

       函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能

       括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!

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

    函数体:

    def 函数名(参数1,参数2,*args,默认参数,**kwargs):
            """注释:函数功能和参数说明"""
            函数体
            ……
            return 返回值

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

    #函数定义
    def mylen():
        """计算s1的长度"""
        s1 = "hello world"
        length = 0
        for i in s1:
            length = length+1
        print(length)
    
    #函数调用  
    mylen()

    函数的返回值:return [表达式] 结束函数。不带表达式的return相当于返回 None

     可分为:

    1.无返回值(会默认返回一个None:)一旦遇到return,结束整个函数

    2.返回一个值:

    ef mylen():
        """计算s1的长度"""
        s1 = "hello world"
        length = 0
        for i in s1:
            length = length+1
        return length

    3.返回多个值:

    可以返回任意多个、任意数据类型的值

    def ret_demo1():
        '''返回多个值''' 
        return 1,2,3,4
    
    
    def ret_demo2():
        '''返回多个任意类型的值'''
        return 1,['a','b'],3,4
    
    ret1 = ret_demo1()
    print(ret1)
    ret2 = ret_demo2()
    print(ret2)

    返回的多个值会被组织成元组被返回,也可以用多个值来接收

    def ret_demo2():
        return 1,['a','b'],3,4
    
    #返回多个值,用一个变量接收
    ret2 = ret_demo2()
    print(ret2)
    
    #返回多个值,用多个变量接收
    a,b,c,d = ret_demo2()
    print(a,b,c,d)
    
    #用多个值接收返回值:返回几个值,就用几个变量接收
    a,b,c,d = ret_demo2()
    print(a,b,c,d)
    View Code

    二.函数的参数

    参数课分为形参与实参.......

    1.函数的参数可分为形参与实参

    调用函数时传递的这个“hello world”和定义函数时的s1就是参数。   即   ‘hello word’为实参,而s1为形参

    2.传递多个参数

    def mymax(x,y):
        the_max = x if x > y else y
        return the_max
    
    ma = mymax(10,20)
    print(ma)

    3.

     位置参数:按照从左到右的顺序定义的参数
    位置形参:必选参数
    位置实参:按照位置给形参传值

    关键字参数:按照key=value的形式定义实参
    无需按照位置为形参传值
    注意的问题:
    1. 关键字实参必须在位置实参右面
    2. 对同一个形参不能重复传值

    默认参数:形参在定义时就已经为其赋值
    可以传值也可以不传值,经常需要变得参数定义成位置形参,变化较小的参数定义成默认参数(形参)
    注意的问题:
    1. 只在定义时赋值一次
    2. 默认参数的定义应该在位置形参右面
    3. 默认参数通常应该定义成不可变类型
    有一种能力,是持续不断的努力
  • 相关阅读:
    c++ 的几种强制转换的讨论
    观察者模式
    epoll实现linux进程通信
    vim 实现 go to definition的功能
    svn 的使用
    makefile文件的技术
    [转]epoll技术
    [转]poll技术
    Linux重定向的理解
    避免僵死进程的方法
  • 原文地址:https://www.cnblogs.com/shaojiafeng/p/7235127.html
Copyright © 2020-2023  润新知