1. 程式人生 > >Python 基礎4:函數

Python 基礎4:函數

變量 形參 **kwargs 使用 tuple pri 動態 spa 數字

一、三元運算

  

if 1 == 1:
    name = "alex"
else:
    name = "eric"
#name = 值1 if 條件:else 值2
#如果值1成立就吧值1賦值給name
#反之值2賦值給name


二丶深淺拷貝

  a、對於 數字 和 字符串 而言,賦值、淺拷貝和深拷因為其永遠指向同一個內存地址

  b、對於列表、字典、元素....

    淺拷貝,在內存中只額外創建第一層數據

    深拷貝,在內存中將所有的數據重新創建一份

    (排除最後一層,即:python內部對字符串和數字的優化)

三、函數

  1、默認函數內部的東西不執行

  2、創建函數

    def 函數名():

      函數體

      return

      1、接收什麽返回什麽

      2、一旦遇到return,函數內部return一下代碼不在執行

  3、參數

    a、形參、實參

    b、普通參數:數量一致,一一對應

    c、指定參數,

      func1(p =“xxx”,xx=‘xxxx’)

    d、默認參數

      放在參數尾部

    e、動態參數

        1、*args

#動態參數一
def f1(*a):
    #a = (123,)一個*,傳出的是一個元組
    print(a)
f1(123)

        2、**kwargs

#動態參數二
def f1(**a):
    print(a,type(a))
f1(k1=123,k2=345)
#輸出結果
#{‘k1‘: 123, ‘k2‘: 345} <class ‘dict‘>
#2個*的時候傳出的是字典

        3、萬能參數

#萬能參數
def f1(p,*a,**aa):
    print(p,type(p))
    print(a,type(a))
    print(aa,type(aa))
f1(11,22,33,k1=123,k2=456)
#輸出結果:
# 11 <class ‘int‘>
# (22, 33) <class ‘tuple‘> # {‘k1‘: 123, ‘k2‘: 456} <class ‘dict‘>

        實例

def f1(*args):
    print(args,type(args))
li = [11,22,33,44]
f1(li)
f1(*li)
#輸出結果:
#([11, 22, 33, 44],) <class ‘tuple‘>
#(11, 22, 33, 44) <class ‘tuple‘>

    f、局部變量和全部變量

      全局:

        大寫

        修改需要加,global

      局部變量:

        小寫,僅僅在代碼塊中使用

Python 基礎4:函數