python学习之'*'和‘**’

本文详细介绍了Python中*和**符号的特殊用途,包括它们在函数调用及声明中的不同表现形式,并通过实例展示了如何使用这些符号来传递列表和字典类型的参数。

经常会在python中用到‘*’和‘**’,这不同于C/C++中的指针。在学习Django的时候学习了*和**的区别。

    *和**在python中有特殊的含义,它们都和函数有关但是在函数调用和函数声明时却有着不同的行为。且在此,不同于c/c++
中的指针。
    一般来说,无论在函数还是在声明,单个*号表示元组(列表)出现,而两个星号则代表字典。
    A:函数调用里面的*和**
 

  def check_web_server(host,port,path):

     用check_web_server('127.0.0.1',8000,'/admin')即可调用这个函数,但是当这些信息出现在三元组里面的时候,可以如下调用。
 check_web_server(*host_info)

    **用法和*类似,只是用在字典的地方
    如:
       
host_info={'host':'www.python.com', 'port':80,'path':'/'}
check_web_server(**host_info)
类似于:
check_web_server(host='www.python.com', port=80,path='/')
        


    B:函数签名里面的*和**
    它们让python得以支持变长参数。
    def daily_sales_total(*all_sales):
        total=0.0
        for each in all_sales:
            total+=float(each_sale)
        return total
    下面的调用都是合法的:
    daily_sales_total()
    daily_sales_total(10.0)
    daily_sales_total(5.0,30.0)


    



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值