zoukankan      html  css  js  c++  java
  • python 函数

    初始函数

    为什么要用函数?

    • 避免代码重用
    • 提高代码的可读性

    函数的定义与调用?

    def 函数名(参数1,参数2):
        '''函数注释'''
        print("函数体")
        return 返回值
    

    定义:def 关键字开头,空格之后接函数名和圆括号,最后还要加上一个冒号。

    ​ def是固定的,不能改变。

    函数名:函数名命名规则是包含字母、数字、下划线的任意组合,但是不能以数字开头,虽然函数名和随便取名,但是一般尽量定义为可以表达函数功能的名字。

    函数的调用

    ​ 返回值=函数名(参数1,参数2)#记得函数名后面加括号

    示例
    定义一个求计算字符串长度的函数,假如我们的len()函数现在不能用了,name我们就需要定义一个函数,求字符串的长度。如果让我们一次一次的去写相同的代码,会非常麻烦,所以我们需要使用函数。
    def length():
        s = "hello world"
        length = 0
        for i in s:
            length+=1
        print(length)
    print(length())
    
    return 必须放在函数里,当函数有返回值的时候,必须用变量接收才有效果。
    def length():
        s = "hello world"
        length = 0
        for i in s:
            length += 1
    	return length
    hprint(length())
    

    函数的返回值

    • return的作用:结束一个函数的执行

    • 首先返回值可以是任意的数据类型

    • 函数可以有返回值:如果有返回值,必须要有变量接收才有效果

    • 函数也可以没有返回值

    • 没有返回值的时候分为三种情况

      • 当不写return的时候,函数的返回值为None
      • 当只写一个return的时候,函数的返回值为None
      • return None的时候,函数的返回值为None
    • return返回一个值(一个变量)

    • return返回多个值(多个变量)多个值之间用逗号隔开,以元组的形式返回。接收:可以用一个变量接收,也恶意用多个变量接收,返回几个值就用几个变量接收

    •   def func():
            a = 111
            b = [1,2,3]
            c = {"a":15,"b":6}
            #return a 返回一个值
            #return a,b,c 返回多个值,变量之间按逗号隔开,以元组的形式返回
        print(func())
      
    #不写return时返回None
    def func():
        a = 111
        b = [1,2,3]
    ret = func()
    print(ret)
    #自卸一个return时,返回None
    def func():
        a = 111
        b = [1,2,3]
        return 
    ret = func()
    print(ret)
    #return None的时候返回None
    def func():
        a = 111
        b = [1,2,3]
        return None
    ret = func()
    print(ret)
    

    return 的作用

    def func():
        print("开始")
        return  #结束一个函数的执行
    	print("结束")
    func()
    

    定义一个列表,返回列表最后一个值

    #方法一
    def func():
        list = [1,3,4,5]
        return list[-1]
    #方法二
    def func():
        list = [1,3,4,5]
        return list
    a,b,c,d = func()
    print(d)
    

    函数的参数

    def func(c):
        '''
        参数接受形式参数,简称形参
        '''
    

    实参和形参

    • 形参:是函数定义时候的参数
    • 实参:函数调用时候传进来的参数

    如何传递多个参数

    • 可以传递多个参数,多个参数之间用逗号隔开。
    • 站在传参的角度上,调用函数时传参数有两种方式
      • 按照位置传参数
      • 按照关键字传参数
    • 用法:
      • 位置参数必须在关键字参数的前面
      • 对于一个参数只能赋值一次
    def func(a,b):
        if a > b:
            return a
        else:
            return b
    print(func(1,3))#按照位置传参
    print(func(a=1,b=3))#按照关键字传参
    print(func(1,b=3))#按照位置传参和关键字传参混搭
           
    

    默认参数

    用法:

    • 为什么要用默认参数?
      • 将变化比较小的值设置为默认参数
    • 定义:
      • 默认参数可以不传,不传的时候用的是默认值,如果传会覆盖默认值。
      • 默认的值是定义函数的时候已经确定了的。
    def func(a,b=1):
        print(a,b)
    func(0)
    dunc(0,2)
    

    默认参数缺陷:默认参数是一个可变的数据类型

    def func(a,l=[]):
        l.append(a)
        print(l)
        
    func(1)
    func(2)
    
    #输出[1]    [1,2]
    

    动态参数

    按位置传参多余的参数都是有*args统一接收,保存成一个元组的形式。

    按关键字传参多余的参数都是由**kwargs接收,保存成一个字典的形式。

    def func(a,b,*args):
        sum = a+b
        for i in args:
            sum += i
        return sum
    
    print(func(1,2,3,4))#输出他们的和
    
    def func(a,b,**kwargs):
        print(a,b,**Kwargs)
        
    func(a=10,b=20,c=30,d=40)#输出10,20 {"c":30,"d":40}
    

    总结

    • 定义:def 关键字揩油,空格之后是函数名称和圆括号()和:
    • 参数:圆括号用来接收参数,若传入多个参数,参数之间用逗号分隔。
    • 参数可以定义多个,也可以不定义。
    • 参数有很多种,如果涉及到多种参数的定义,应始终遵循位置参数、*args、默认参数、*kwargs.
    • 注释:函数第一行语句应该添加功能注释
    • 函数体:函数内容以冒号起始,并且缩进。
    • 返回值:return [表达式]结束函数,不带表达式的return相当于返回None。
    def 函数名(参数1,参数2,*args,**kwargs):
    	'''注释内容'''
        函数体
        return 返回值
    
  • 相关阅读:
    383. Ransom Note
    598. Range Addition II
    453. Minimum Moves to Equal Array Elements
    492. Construct the Rectangle
    171. Excel Sheet Column Number
    697. Degree of an Array
    665. Nondecreasing Array
    视频网站使用H265编码能提高视频清晰度吗?
    现阶段的语音视频通话SDK需要解决哪些问题?
    企业远程高清会议平台视频会议系统在手机端使用的必备要求有哪些?
  • 原文地址:https://www.cnblogs.com/pythonliuwei/p/13260889.html
Copyright © 2011-2022 走看看