PHP前端开发

Python Day-参数类型,变量的类型

百变鹏仔 3小时前 #Python
文章标签 类型

参数类型:

1)位置参数
2)可变长度参数
3)关键字参数
4)默认参数
5)关键字仅参数
6)位置仅参数
7)可变默认参数

>参考:https://builtin.com/software-engineering-perspectives/arguments-in-python

1)位置参数:

- >在函数调用期间,通过参数传递的值应按照函数定义中的参数顺序。这称为位置参数。

- >关键字参数应仅遵循位置参数。

>示例:1


#positional argumentsdef display(first_name, last_name):    print("welcome", first_name, last_name)display("guru", "prasanna")
>输出:

欢迎大师prasanna

>示例:2


def find_total(l):     total = 0     for num in l:        total+=num    print(total)marks = [90,56, 78]find_total(marks)
>输出:

224

2)变量长度参数:> - >变量长度参数也称为任意参数。

->相同的方法/函数,具有不同数量的参数或不同类型的参数。

->如果我们不知道该函数所需的参数数量,我们可以使用任意参数。
>->任意参数有两种类型:>

- arbitrary positional arguments - arbitrary keyword arguments


>任意位置参数:将星号(*)放置在函数定义中的参数之前,该参数可以保存非键词变量长度参数。这些参数将包裹在元组中。>输出:


277990


任意关键字参数:将双重星号(**)放置在一个函数中的参数之前,该函数可以保存关键字可变长度参数。

{'name': 'raja', 'age': 25, 'city': 'madurai'}


3)关键字参数:


- >所有参数均为关键字参数。

->关键字参数应在调用函数时,而不是函数定义中。

>>示例:

def display(*marks,name):    print('welcome', name)    print(marks)display(90,80,name="lakshmi")display(80,name="guru")

>输出:

welcome lakshmi(90, 80)welcome guru(80,)


4)默认参数:

立即学习“Python免费学习笔记(深入)”;


默认参数是定义函数时提供的值。>

分配运算符=用于为参数分配默认值。

>>默认参数在函数调用过程中成为可选的。>

如果在函数调用过程中为默认参数提供值,则它覆盖了默认值。>默认值与关键字与位置参数


>
默认,关键字和位置参数的重要点要记住

5)关键字仅参数:

>

- > to将参数标记为仅关键字,在第一个仅关键字参数之前,将an *放在参数列表中。>

>示例:

def add(*, no1, no2):    return no1+no2print(add(10,20)) #typeerrorprint(add(no1=100,no2=200))

>输出:

typeerror300

6)只有位置参数:>

- >仅位置参数位于函数定义中的a /(forward-lash)之前。

-> /用于从逻辑上将仅位置参数与其余参数分开。

->参数可能是 /键 - 键或关键字。

>

def add(a,b,/,c,d):    return a+b+c+dprint (add(3,4,c=1,d=2))print (add(3,4,2,d=1))
>输出:


1010

7)可变默认参数>

#mutable default arguments: def add(no, l=[]):    l.append(no)    return lprint(add(10))print(add(20))

>输出:

[10][10, 20]

>函数返回字典:>

def display(player_names, scores):    return dict(zip(player_names, scores))player_names = ['virat', 'rohit']scores = [100,105]result = display(player_names, scores)print(result)

>输出:

{'virat': 100, 'rohit': 105}
列表是可变的:
def modify(l):    l.append(100)    print(f'inside modify, {l}')l = [10,20,30]print(f'outside modify {l}')modify(l)print(f'outside modify2 {l}')

>输出:

outside modify [10, 20, 30]inside modify, [10, 20, 30, 100]outside modify2 [10, 20, 30, 100]

>说明:
>在调用修改(l)之前,列表为[10,20,30]。

>内部修改(l),将100添加到列表中。

>
函数调用后,原始列表现在为[10、20、30、100],因为列表是可变的,并通过参考。

变量类型:


本地变量:

在函数内声明的变量,仅在该函数中访问。

>示例:

>在整个程序中声明且可在整个程序中访问的变量。使用

global

关键字可修改变量。>示例:1
amount = 1000def shopping():    print(amount)shopping()

>输出:1000

>示例:2


amount = 10000 #global variable def shopping():    global amount    print("total amount for trip is",amount)    amount = 1000 #local variable     print("shopping amount",amount)shopping()
>输出:


total amount for trip is 10000shopping amount 1000

注意:->本地和全局变量可以具有相同的名称。 ->本地变量将是优先的。>内部函数:

>内部函数(或嵌套函数)是在另一个函数内定义的函数。>

>
>非局部变量(在嵌套函数中使用):在嵌套函数内声明的变量,但指封闭(outer)函数中的变量。变量。

>示例:

def open_tank():    tank = 2    print(f'inside open_tank {tank}')    def fill_petrol():        nonlocal tank        tank = tank + 3        print(f'inside fill_petrol {tank}')    fill_petrol()open_tank()

>输出:

Inside open_tank 2Inside fill_petrol 5