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

    函数初识

    1. 函数定义:

    def 函数名():
        函数体
    
    # def 关键字 -- 定义
    # 函数名 -- 和变量定义规则一样
    # ()   必须要写格式 ,一会在盘他
    # : 声明语句结束
    
    内存中存放了一堆代码,如果不调用,里面不会变,不会开辟空间
    

    2. 函数调用:

    函数名 + ()   
    
    def my_len():
    	s = "alex"
    	count = 0
    	for i in s:
    		count += 1
    	print(count)
    my_len()  #调用 显示4	
    

    3. 函数的返回值:

    return:
    
    def my_len():
    	s = "alex"
    	count = 0
    	for i in s:
    		count += 1
    	return count
    print(my_len())   # 4  count的值给了my——len()
    
    lst = [1,3,5,7]
    def li():
        for i in lst:
            lst.append(int(input(">>>")))
            return lst
    print(li())  # lst给了li()
    
    #总结:
    return的内容返回给了函数的调用,可以返回任意类型
    return下方的代码不执行,终止这个函数(不是终止循环)
    return 返回多个内容的时候还是元组形式
    return 没有写返回值的时候返回的是None,不写return返回的也是None
    
    

    4. ()

    形参:函数的定义中括号里的是形参
    实参:函数的调用括号里的是实参
    传参:将实参传递给形参的过程
    

    4.1 位置传参:

    ​ 形参与实参必须一一对应,形参可以不用,但必须传参。

    ​ 形参是默认参数是,实参传递时可以不写,若写内容就会将形参的默认参数覆盖。

    ​ 位置参数 > 默认参数

    def func(a,b,c):
        print(a,b,c)
    func(1,3,5)   # 1 3 5  可以是任意数据类型
    
    def func(a,b=2):   #b=2 为默认参数,可以不用写实参
        print(a,b)
    func(1)    #1 2  
    
    def func(a,b=2):   #默认参数必须放最后
        print(a,b)
    func(1,3)   # 1 3  位置参数 > 默认参数  b=3
    
    形参与实参必须一一对应,形参可以不用,但必须传参
    

    4.2 关键字传参:

    def func(a,b,c):
        print(a,b,c)
    func(a=1,c=3,b=2)   # 按a,b,c 传参,  1,2,3
    
    def func(a,b,c=4):
        print(a,b,c)
    func(a=1,c=3,b=2)   # 1 2 3  c=4被覆盖
    
    #依次输出name,age,sex:
    def userinfo(name,age,sex="男"):
        print(name,sex,age)
    while True:
        name = input("name:")
        age = int(input("age:"))
        sex = input("sex(如果是男,直接回车!):")
        if sex == "女":
            userinfo(name,age,sex)
        else:
            userinfo(name, age)
    

    4.3 混合传参:

    ​ 位置参数 > 关键字参数

    #错误示例:
    def func(a,b,c):
        print(a,b,c)
    func(1,b=3,5)   # 位置参数跟随在关键字参数后,报错
    
    def func(a,b,c):
        print(a,b,c)
    func(1,3,c=5)   # 1 3 5
    
    
    def func(a:int,b:str):   # 只有提示作用,没有约束作用
        print(a,b)
        print(type(a))     # int
        print(type(b))     # int
    func(1,2)
    
  • 相关阅读:
    javaee
    前后台页面跳转及参数传递
    easyu几个常见问题
    利用easyUI填充表格数据
    easyUI数据转换为不同级别的数据
    Java数据结构漫谈-Vector
    RxJava漫谈-RxAndroid使用
    Java数据结构漫谈-Stack
    Java性能漫谈-数组复制之System.arraycopy
    Java数据结构漫谈-LinkedList
  • 原文地址:https://www.cnblogs.com/yzm1017/p/11198659.html
Copyright © 2011-2022 走看看