0

0

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

心靈之曲

心靈之曲

发布时间:2025-01-30 18:06:01

|

885人浏览过

|

来源于dev.to

转载

参数类型:

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

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

1)位置参数:

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

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

>示例:1


#positional arguments

def 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


>任意位置参数:将星号(*)放置在函数定义中的参数之前,该参数可以保存非键词变量长度参数。这些参数将包裹在元组中。
    >
  • >示例:
  • def find_total(*l): 
        total = 0 
        for num in l:
            total+=num
        print(total)
    
    mark1 = 100
    mark2 = 90
    mark3 = 87
    find_total(mark1, mark2,mark3)
    find_total(45,54)
    find_total()
    
>输出:


277
99
0


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

    >示例:
  • def login(**args):
        print(args)
    
    login(name='raja', age=25, city='madurai')
    
    >输出:
{'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免费学习笔记(深入)”;


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

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

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

如果在函数调用过程中为默认参数提供值,则它覆盖了默认值。
  • 该函数可以具有任意数量的默认参数。
  • >
  • 默认参数应遵循非默认参数。
  • >
  • >示例:
  • def login(username, password="admin"):
        print(username, password)
    
    
    login("abcd", "abcd")
    login("pqrs")
    
  • >输出:
  • abcd abcd
    pqrs admin
    
>默认值与关键字与位置参数


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

5)关键字仅参数:

image description>

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

>示例:

def add(*, no1, no2):
    return no1+no2

print(add(10,20)) #typeerror
print(add(no1=100,no2=200))

>输出:image description

typeerror
300

6)只有位置参数:>

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

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

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

>

def add(a,b,/,c,d):
    return a+b+c+d

print (add(3,4,c=1,d=2))
print (add(3,4,2,d=1))

>输出:


10
10

7)可变默认参数>

#mutable default arguments: 

def add(no, l=[]):
    l.append(no)
    return l

print(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],因为列表是可变的,并通过参考。

变量类型:


本地变量:

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

>示例:

    def shopping():
        print(amount)
        amount = 1000
        print(amount)
    
    shopping()
    
  • >输出:
  • 1000
  • 全局变量:
>在整个程序中声明且可在整个程序中访问的变量。使用

global

关键字可修改变量。>示例:1image description
amount = 1000

def 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 10000
shopping 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 2
Inside fill_petrol 5


相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

769

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

661

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

764

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

659

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1325

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

549

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

579

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

730

2023.08.11

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

1

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 11万人学习

Django 教程
Django 教程

共28课时 | 3.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号