QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2857|回复: 0
打印 上一主题 下一主题

python学习笔记函数

[复制链接]
字体大小: 正常 放大

1178

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2023-7-31 10:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    跳转到指定楼层
    1#
    发表于 2021-10-28 22:06 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    函数) Z$ M0 n7 Z' e$ M
    定义函数:
    7 y/ G6 B8 D: W) k  z- c: t* K调用函数
    * o' o! I7 s- v% Z) c# T调用之位置实参
    - L2 G. A1 G1 p$ X% F: V& `调用之关键字实参4 P! e; }8 S2 Z4 S! U& H
    调用之实参传递4 ?/ O2 \% ?1 i
    带默认值的形参
    : L' U* p$ Z+ m9 K定义函数:
    7 Z+ l2 f* ^2 j, d6 h- X: }. ~语法格式:6 `  t7 {$ V+ j  y' n$ L2 y: c; v

    ( V! W3 T1 Z( M7 N2 ndef 函数名 (形式参数1,形式参数2。。。,形式参数n):0 \# j: ^& i# E" ]) J- h
            函数体( K* B; K8 w1 s" _: c: a
    def:是python定义的关键字: Z* B0 R- G# _% K9 g
    函数名:每个函数都有函数名,用于函数的调用。函数名属于表示符,最好是动宾格式,表明函数完成的特定功能。例如:print_result, handle_message
    ; @" q/ p/ `0 Z" q5 C形式参数:简称形参,用于调用函数时接收输入(实际参数)。形参用中括号括起来,表示形参是可选的,可以定义,也可以不定义。形参的本质是变量,只应用于函数体,别的地方不生效
    $ y1 f6 ], M- t8 \6 h) \函数体:用于执行特定任务以完成特定功能的主体代码,它对于的代码块必须缩进,如果函数需要返回值,可以使用语句return xxx返回,同时结束函数体的执行,如果函数不要返回值,使用return直接结束函数体执行或者不写正常执行结束,函数体在调用函数时才会被执行,定义函数不会改变程序的执行流程。5 E( b" z) h6 p( c9 ^
    / v) F* W6 k7 Q* c7 {2 X
    2 b4 `! W1 F  M8 f6 @
    def decide_args(arg1,arg2):
    ' \& z8 d0 j! b3 P$ c        if arg1 and arg2:0 p$ s1 o5 `' G. |2 n
                    return arg1,arg27 t9 q6 u, C; a2 u- d: w! q
            elif (not arg1) and (not arg2):4 _/ `$ O; ?+ D
                    return0 i' z, X& \. A* U: s, L; k
            else:
    5 A; I+ ^6 G& a& w                result = arg1 or arg2 ' `1 Q7 r9 |. l
    print(type(decide_args)) #查看类型为function) y5 e4 u2 m) _  r

      {* ^, t5 Z- p$ T' Q8 Y调用函数

    调用函数时,每个实参都被用于初始化相应的形参,所有形参被初始化后,函数体对应的代码块进行执行,执行完成后再跳回调用函数的地方,继续执行下一条语句


      j, Q' y! X0 d* I3 T- M- f# A, I
    , f& H& a% }8 U6 j9 c
    1 ^1 M( C( u8 q, l
    调用之位置实参
    ) ^% K9 [: o% A  ^, \8 i" s位置实参:传入的实参与形参位置是一 一对应的,更改实参传入顺序,得到的结果也不同2 B5 Q/ k, l4 C
    def f(a, b, c):& X7 ?5 B" ?5 X
        print('a =', a, 'b =', b, 'c =', c)
    ! r! ]+ U! z+ @; R9 w% M
    4 [* M0 E$ m. c0 w) `- If(2, 5, 8)   #传入实参,得到 a=2,b=5,c=86 O$ b) P/ x: A- R; I! y
    f(5, 8, 2)/ R# H* X# b5 i3 p2 ]
    f(8, 5, 2)9 [4 @! s# G9 [! T" y
    定义函数时,如果无法确定位置实参个数,可以在形参前面加一个*,将形参定义为个数可变的形参,从而可以接受0个或任意多个位置实参,位置实参会将形参变为一个元组, Y; e' H# `# k( O% ?
    , y- ?$ b8 W# B, M# [8 J
    #!/usr/bin/env python3- X$ ?% t* ~2 m. D6 c2 ~! q
    def fun1(*num):
    & ]) T: a+ o6 z% I0 \* b    print(num): Q  f; O: A+ U- g( u4 Q
    fun1()6 r- `8 T/ x) T/ |
    fun1(2)
    - h8 A% W8 a# ]2 y" w5 G/ Wfun1(2,3,4,5,6)
    % V$ E8 ]4 p  B& k- `( T$ v+ L- Q

    4 Z3 S( ]* E* A: w/ a' _调用之关键字实参

    关键字实参:传递形式为:形参名 = 实参值,使形参和实参一 一对应,更改传入实参顺序,不影响结果,位置实参和关键字实参组合时,关键字实参一定要写最后面,否则会报错


    . `, {* d0 X& X$ v, o1 D
    def f(a, b, c):
        print('a =', a, 'b =', b, 'c =', c)
    f(b = 5,a = 2,c = 8)   #传入实参,得到 a=2,b=5,c=8
    f(2,5,c = 8)

    9 a" e, F6 {, u+ i6 \* r带默认值的形参

    给形参一个值,如果没写实参,则使用形参的默认值,作用是简化实参

    ; x2 q3 r7 O) T+ f6 N
    [color=rgba(0, 0, 0, 0.501960784313726)]#!/usr/bin/env python3
    [color=rgba(0, 0, 0, 0.501960784313726)]def __d__(a,b = 5):
    [color=rgba(0, 0, 0, 0.501960784313726)]    print('a=',a,'b=',b)
    [color=rgba(0, 0, 0, 0.501960784313726)]__d__(1)
    # D; y9 X6 C1 G3 V' a
    * [( O1 C, x# v

    / M2 q9 N, e5 g8 c
    : j. c2 \/ S0 B+ t3 G
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-10 12:25 , Processed in 0.294170 second(s), 50 queries .

    回顶部