【python学习】python函数-13

本文详细介绍了Python中函数参数的四种常见形式:位置参数、默认参数、动态参数(不定长参数)及关键字参数。通过实例演示了如何定义和调用这些参数,强调了参数顺序和使用规则的重要性,帮助读者更好地理解和运用函数参数。
摘要由CSDN通过智能技术生成

函数是为了提高代码的复用性,减少重复编码的工作

函数的语法:def

def  函数名(参数1,参数2):

                函数体

                return

函数名()

def name():
    print("张三")
name()

1、使用关键字def 告诉python需要定义一个函数
2、函数名为name(),定义的时候需要以冒号结尾
3、def name():后面的信息需要告诉后面的操作内容

参数的第一种方式:位置/必传参数,可以有多个参数,需要进行对应

        1、调用函数传递的参数个数一定要跟函数定义的参数个数一致,否则会报错

        2、注意函数数体里面的参数的类型,要输入正确的参数类型,否则会报错

def name(information):
    print(information)

name("我是程序员小明")

-----------------打印结果----------------

我是程序员小明

参数的第二种方式:默认参数,编写函数时候,可以给每个参数指定默认值

def test(address="北京",scene="故宫"):
    print(address+"今天的天气真好,我们决定去"+scene)

test()

-----------------------打印结果-----------------------

北京今天的天气真好,我们决定去故宫

位置+默认参数共同使用,当出现位置参数与默认参数的时候,位置参数需要放在默认参数之前,否则系统会报错。

        位置+默认参数处理(1):当后面两个是默认参数,第一个是位置参数,test()传一个参数

def test(address,traffic="开车",scene="故宫"):
    print(address+"今天的天气真好,我们决定"+traffic+"去著名景点"+scene)

test("北京")


------------------打印结果------------------

北京今天的天气真好,我们决定开车去著名景点故宫

        位置+默认参数处理(2):当第一个是位置参数,后面两个是默认参数,test()传两个参数

def test(address,traffic="开车",scene="故宫"):
    print(address+"今天的天气真好,我们决定"+traffic+"去著名景点"+scene)

test("北京","坐高铁")


--------------------打印结果--------------------

北京今天的天气真好,我们决定坐高铁去著名景点故宫



(注:可见traffic由“开车”替换成“坐高铁”)

        位置+默认参数处理(3):当第一个是位置参数,后面两个是默认参数,需要替换后面的参数的话,需要使用关键字进行替换

def test(address,traffic="开车",scene="故宫"):
    print(address+"今天的天气真好,我们决定"+traffic+"去著名景点"+scene)

test("北京",scene="万里长城")


-------------------------打印结果-------------------------

北京今天的天气真好,我们决定开车去著名景点万里长城


(注:需要替换第三个的话,那么在test()里面就是需要使用关键字指定)

参数的第三种方式:动态参数/不定长参数,主要是不知道函数需要接收多少实参,可以使用动态参数/不定长参数,使用的规范是:*args 其中的“*”星号是必须要的,后面的可以使用其他值代替,尽量使用*args,会好一点

def test(*args):
    print("北京有这些景点:",args)

test("故宫","八达岭长城","圆明园","天坛","颐和园")


-------------------打印结果-------------------

北京有这些景点: ('故宫', '八达岭长城', '圆明园', '天坛', '颐和园')

(注:打印出来的结果是元组类型的,无论传递多个都是会放在元组里面)

参数的第四种方式:关键字动态参数/不定长参数,带有关键字,且必须指定关键字,否则识别不了  **kwargs

def test(**args):
    print("北京有这些景点:",args)

test(a="八达岭长城",b="故宫")


------------------打印结果------------------

北京有这些景点: {'a': '八达岭长城', 'b': '故宫'}

(注:打印出来的结果是字典类型的,在函数当中是需要使用“=”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值