zoukankan      html  css  js  c++  java
  • python3 *args 、 **args 在函数定义和调用中的应用

    一、函数调用时

    说明:*args 表示解包(解包 列表、元组、字符串类型)

    #定义函数cn_musql

    def cn_musql(host,port,user,pwd,db):

    print(host)
    print(port)
    print(user)
    print(pwd)
    print(db)

    #函数调用
    args = ['127.0.0.1',3306,'root','123456','szz']
    cn_musql(*args)  #拆分列表args,与函数cn_musql的参数一 一对应起来;元组、字符串也可以;数量要一致。

    #函数运行结果

    127.0.0.1

    3306

    root

    123456

    szz

    二、函数定义时

    说明:*args 表示搜集余下的位置参数,将接收到的参数放在/封装在一个 元组 里面,没有可供搜集的参数,元组 为空。

    ==============例子1(注意参数的位置)=================

    # 定义函数params

    def params(*names,sex):
    print(sex)
    print(names)


    #函数调用时的写法
    params('jack','tom','apple',sex='male')


    #函数执行结果
    male
    ('jack', 'tom', 'apple')

    ===============例子2(注意参数的位置)==================

    #函数定义

    def params(sex,*names):
    print(sex)
    print(names)

    #函数调用

    params('male1','jack1','tom1','apple1')

    #函数运行结果

    male1
    ('jack1', 'tom1', 'apple1')

    注:**args用法类似,数据类型针对 字典。



    模板看起来是不是太过冰冷
  • 相关阅读:
    算法--枚举策略
    1344 走格子
    1381 硬币游戏
    POJ 2492 A Bug's Life
    零基础学并查集算法
    Codeforces 777C Alyona and Spreadsheet
    HDU 1039 Easier Done Than Said?
    Codeforces 591B Rebranding
    目录书籍
    对话机器学习大神Yoshua Bengio(上)
  • 原文地址:https://www.cnblogs.com/xuexizongjie/p/10765942.html
Copyright © 2011-2022 走看看