当前位置:首页 > 文章列表 > 文章 > python教程 > Python Day-参数类型,变量的类型

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

来源:dev.to 2025-01-30 19:34:28 0浏览 收藏

大家好,我们又见面了啊~本文《Python Day-参数类型,变量的类型》的内容中将会涉及到等等。如果你正在学习文章相关知识,欢迎关注我,以后会给大家带来更多文章相关文章,希望我们能一起进步!下面就开始本文的正式内容~

参数类型:

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)默认参数:


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

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

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

如果在函数调用过程中为默认参数提供值,则它覆盖了默认值。
  • 该函数可以具有任意数量的默认参数。
  • >
  • 默认参数应遵循非默认参数。
  • >
  • >示例:
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 Day-参数类型,变量的类型》的详细内容,更多关于的资料请关注golang学习网公众号!

    • 版本声明
      本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
      ApplicationContext的实现ApplicationContext的实现
      上一篇
      ApplicationContext的实现
      DSA&#s开发旅程的介绍
      下一篇
      DSA&#s开发旅程的介绍
      查看更多
      最新文章
      查看更多
      课程推荐
      • 前端进阶之JavaScript设计模式
        前端进阶之JavaScript设计模式
        设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
        542次学习
      • GO语言核心编程课程
        GO语言核心编程课程
        本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
        508次学习
      • 简单聊聊mysql8与网络通信
        简单聊聊mysql8与网络通信
        如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
        497次学习
      • JavaScript正则表达式基础与实战
        JavaScript正则表达式基础与实战
        在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
        487次学习
      • 从零制作响应式网站—Grid布局
        从零制作响应式网站—Grid布局
        本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
        484次学习
      查看更多
      AI推荐
      • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
        协启动
        SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
        9次使用
      • Brev AI:零注册门槛的全功能免费AI音乐创作平台
        Brev AI
        探索Brev AI,一个无需注册即可免费使用的AI音乐创作平台,提供多功能工具如音乐生成、去人声、歌词创作等,适用于内容创作、商业配乐和个人创作,满足您的音乐需求。
        9次使用
      • AI音乐实验室:一站式AI音乐创作平台,助力音乐创作
        AI音乐实验室
        AI音乐实验室(https://www.aimusiclab.cn/)是一款专注于AI音乐创作的平台,提供从作曲到分轨的全流程工具,降低音乐创作门槛。免费与付费结合,适用于音乐爱好者、独立音乐人及内容创作者,助力提升创作效率。
        9次使用
      • SEO标题PixPro:AI驱动网页端图像处理平台,提升效率的终极解决方案
        PixPro
        SEO摘要PixPro是一款专注于网页端AI图像处理的平台,提供高效、多功能的图像处理解决方案。通过AI擦除、扩图、抠图、裁切和压缩等功能,PixPro帮助开发者和企业实现“上传即处理”的智能化升级,适用于电商、社交媒体等高频图像处理场景。了解更多PixPro的核心功能和应用案例,提升您的图像处理效率。
        9次使用
      • EasyMusic.ai:零门槛AI音乐生成平台,专业级输出助力全场景创作
        EasyMusic
        EasyMusic.ai是一款面向全场景音乐创作需求的AI音乐生成平台,提供“零门槛创作 专业级输出”的服务。无论你是内容创作者、音乐人、游戏开发者还是教育工作者,都能通过EasyMusic.ai快速生成高品质音乐,满足短视频、游戏、广告、教育等多元需求。平台支持一键生成与深度定制,积累了超10万创作者,生成超100万首音乐作品,用户满意度达99%。
        12次使用
      微信登录更方便
      • 密码登录
      • 注册账号
      登录即同意 用户协议隐私政策
      返回登录
      • 重置密码