zoukankan      html  css  js  c++  java
  • python 函数初始.结构.调用.返回值.传参

    day09

    一丶函数的初识

    什么函数:

    函数是以功能为导向.一个函数封装一个功能

    函数的优点:

    1.减少代码的重复性,

    2.增强了代码的可读性

    二丶函数的结构

    # def 关键字  定义一个函数,紧跟一个空格
    # new_len 函数名:函数命名规范与变量命名规范一致,函数名具有可描述性
    # ()   结构需要,传参使用
    # :     分隔符 , 分隔函数的定义和函数体
    # tab键 四个空格,缩进函数体,

       
    def new_len(model):
       count=0
       for el in model:
           count+=1
       print(count)

    三丶函数的调用

    函数的调用: 函数名+() ----> 函数的调用者
    #函数的调用 和 执行
    def new_len():  #内存只加载函数到内存,如果没有被调用,就不会执行函数的内容
       print('abc')
       
    ************************************************************

    new_len()  # 函数名 +() 是执行一个函数
    print(new_len)  #<function new_len at 0x000002025FC02EA0>内存地址
    print(id(new_len))  # 2565029441184 内存地址
    print(type(new_len))#<class 'function'>

    四丶函数的返回值(return)

    函数的返回值作用:

    1.结束函数

    2.给函数的调用者返回值

    函数的返回值return的3中类型:
    #1.函数值没有return ,或者函数只写一个return     函数的执行者得到--> none
    #2.函数中return后是单个值, 函数的执行者得到的是这个值, 不改变这个值的类型
    #3.函数中return 返回多个值 , 函数的执行者得到多个值的数据类型是元组
    #结束函数  -->none,只执行return之前的函数体,return之后的函数体不执行
    def func():
        print('123')
        a=1
        return
        print('abc')
    print(func())   #none 和 123

    #函数return 单个值 ,得到单个值,单个值的数据类型不改变
    def func():
        a=1
        return 1
    print(func())

    #函数return 多个值, 得到一个元组
    def func():
        return 1,'abc',[1,2,3]
    print(func())    #(1, 'abc', [1, 2, 3]) 元组
    ##可以结构去接return返回值,结构字典,元组,列表都可以,变量和值要一一匹配
    a,b,c=func()
    print(a,b,c)


    # #函数 return返回执行的结果
    def func():
        return 1>2
    print(func())  #False

    五丶函数的传参

    目的:使函数变得具有可扩展性

    参数: 函数在调用的时给函数传递的信息

    传参:把实参付给形参的过程

    参数的种类:形参和实参

    形参: 在函数声明的位置的变量

    实参 :在函数调用的时候给出的具体的值

    #实参角度:
    #   1.位置参数 ,从左到右 ,按照顺序位置一 一对应
    def func(sex,age):
           print(f'性别{sex},年龄{age}')
       func('男','20')

       
       
    #   2.关键字参数 ,必须 一 一二对应,参数的顺序随意
       def func(sex,age,job,height,weight):
           print(f'{sex},{age},{job},{height},{weight}')
       func(sex='男',age=20,job='学生',height='179cm',weight=60)

       
       
    #   3.混合参数(位置参数+关键字参数)   一一对应(说的是参数的个数)

    def func(name,sex,age,job,height,weight):
       print(f'{name},{sex},{age},{job},{height},{weight}')

    #*** 遵循:位置参数,在关键字参数之前 ***
    func('李四','男','20',job='代练',weight=120,height='170cm')



       
    #形参角度:
    #   1.位置参数   ,从左到右 ,按照顺序位置一 一对应
       def func(sex,age): # 位置 一 一对应
           print(f'性别{sex},年龄{age}')
       func('男','20')
       
       
       
    #   2.默认参数 sex设置就是默认参数,常用的值就是默认参数
    #默认参数一定要在位置参数后面,不传参数,就使用默认参数
       def meet(age,job,sex='女'):
           print(f'{age} , {job}, {sex}')
       meet(22, '教师')   # 使用默认参数
       
       #更改默认参数
       meet(20,'教师',sex='男')  # 关键字 指定修改
       meet(22,'教师','男')      # 位置 指定修改
       
       
       
       
    #   3.动态位置参数
    #   4.仅限关键字参数 (动态关键字参数)

     

  • 相关阅读:
    [Graph]Doubling Algorithm
    Luogu 3203 BZOJ 2002——弹飞绵羊
    BZOJ 1468——tree
    BZOJ 10628 Luogu 2633
    Mo's Algorithm
    bzoj1063: [Noi2008]道路设计
    bzoj1264: [AHOI2006]基因匹配Match
    bzoj1177: [Apio2009]Oil
    bzoj1260: [CQOI2007]涂色paint
    bzoj3674: 可持久化并查集加强版
  • 原文地址:https://www.cnblogs.com/xiangwang1/p/12179990.html
Copyright © 2011-2022 走看看