zoukankan      html  css  js  c++  java
  • python

    函数

    函数的定义:是通过def 来定义一个函数

    把代码装起来
    def my_len():    #my_len()为函数名
        l = [1,2,3,4]
        count = 0    
        for i in l:    
            count+=1
        print(count)       #使用函数封装起来的代码为函数体
    
    my_len()  #调用函数

     写函数时的注意事项:写函数时要尽量以功能为导向,结果最好不要直接在函数中打印

    # def my_len():   #函数名的定义
    #     l = [1,2,3,4,5]
    #     count = 0
    #     for i in l:
    #         count += 1
    #     return count    #函数的返回值
    #
    # ret = my_len()
    # print(ret)

     没有返回值:

      不写return等价于return None

      只写一个return 等价于return None

    return的作用:1、返回一个值  2、中止一个函数的继续
    # 返回一个值:可以返回任意的数据类型,返回什么,就接受什么
    # 返回多个值:用一个变量接收返回值,接收到的是一个元祖
    # 返回值有多个变量的接收,那么返回值的个数应该和接收变量的个数完全一致
    def my_len(l):    #参数:接收参数,形式参数,又称为形参
        print(l)
    
    l = [1,2,3,4]
    my_len(l)   #参数:传参数/传参,是实际的参数,实参
    print(my_len(l))
     例题:写一个函数,接收参数一个列表或字符串,如果这个列表或者字符串的长度大于2,返回True,否则返回False
    def func(s_1):
        if len(s_1) > 2:
            return True
        else:return False
    
    print(func([1,2,3,4]))
    print(func('12'))
    参数:
    形参和实参
    传参数可以传任意的数据类型,并且传什么,就会接收什么
    站在传参数的角度上看问题,一共有两种传参的方式
    第一种:按照位置传参数
    第二种:按照关键字传参数
    def f(para):
        print(para)
    
    f(1)  #按照位置传参数
    f(para=1)   #按照关键字传参数
    传多个参数:多个参数分别可以使用任意数据类型
    def f2(arg1,arg2):  #站在接收形参的角度上:又可称为位置参数
        print(arg1)
        print(arg2)
    
    f2('abc',arg2=[1,23])

     注意:

    按照关键字传参数和按照位置传参数是可以混用的
    但是,首先传按位置,再传按关键字的
    按照位置传完该接受的参数只能接受一个值,不接受或者重复接受
    形参:
    # 位置参数
    # 数量必须与实参数量一致==》必须传的参数
    def classmate(name,sex=''):
        print('姓名:%s,性别:%s'%(name,sex))
    
    classmate('tom')
    classmate('simith')
    classmate('xiaomei','')

     注意:

    默认参数:
    默认参数是可以不传的参数
    在不传参数的情况下可以使用默认的值
    如果传了,就会使用传的值
    # # 魔性的用法:默认参数尽量避免使用可变数据类型
    # lst = []
    # def func(l = lst):
    #     l.append(1)
    #     print(l)
    #
    # func()
    # func()
    # func()
    # func()
    
    
    # lst = []
    # def func(l = lst):
    #     l.append(1)
    #     print(l)
    #
    # func([])
    # func([])
    # func([])
    # func([])
    魔性的用法:默认参数尽量避免使用可变数据类型
    lst = []
    def func(l = lst):
        l.append(1)
        print(l)
    
    func()
    func()
    func()
    func()
    
    
    lst = []
    def func(l = lst):
        l.append(1)
        print(l)
    
    func([])
    func([])
    func([])
    func([])
    
    
    
    
    
     
  • 相关阅读:
    单例模式
    HashSet、LinkedHashSet、SortedSet、TreeSet
    ArrayList、LinkedList、CopyOnWriteArrayList
    HashMap、Hashtable、LinkedHashMap
    andrew ng machine learning week8 非监督学习
    andrew ng machine learning week7 支持向量机
    andrew ng machine learning week6 机器学习算法理论
    andrew ng machine learning week5 神经网络
    andrew ng machine learning week4 神经网络
    vue组件监听属性变化watch方法报[Vue warn]: Method "watch" has type "object" in the component definition. Did you reference the function correctly?
  • 原文地址:https://www.cnblogs.com/dwenwen/p/7764154.html
Copyright © 2011-2022 走看看