python_解包

1、解包直接把这个元组,list,集合按顺序进行传参,当然字符串也是可以的传参,只要不是key=value的格式都可以

此外:集合也是无序的,最好也不要用集合的方式

备注:解包出了的个数要与传参个数保持一致

#解包--list,元组,集合
def connect(ip,port,username,password):
    print(ip)
    print(port)
    print(username)
    print(password)

info_list=[‘192.168.1.1‘,3309,‘zhaozhao‘,‘123456‘]
info_tuple=(‘192.168.1.1‘,3309,‘zhaozhao‘,‘123456‘)
info_set={‘192.168.1.1‘,3309,‘zhaozhao‘,‘123456‘}

connect(*info_list)
connect(*info_tuple)
connect(*info_set)

2、字典方式解包

两个*号这种方式就可以用做字典传参

另外这种传参字典的key,必须和函数参数名称一样

dic={"name":"zhaozhao","password":"123456"}

def dic_fun(name,password):
    print(name)
    print(password)

dic_fun(**dic)

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 /Users/dongyf/Documents/python/besttest_study/test.py
zhaozhao
123456

原文地址:https://www.cnblogs.com/xiaokuangnvhai/p/11074634.html

时间: 2024-08-30 16:23:23

python_解包的相关文章

Python_序列与映射的解包操作

解包就是把序列或映射中每个元素单独提取出来,序列解包的一种简单用法就是把首个或前几个元素与后面几个元素分别提取出来,例如: first, seconde, *rest = sequence 如果sequence里至少有三个元素,那么执行完上述代码后,first == sequence[0], second == sequence[0], rest == sequence[2:]. 函数接收不确定参数 当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kw

python之参数解包

# 参数解包:将整个list当做参数传给函数 list = [1, 2, 4] def add_fn(a, b, c): return a + b + c sum = add_fn(*list) print("参数解包:", sum) 运行结果: 参数解包: 7

一个简单的SOCKET程序的数据包结构和封解包函数

/*练习写套接字通信程序时候写的一段代码,本来想写个聊天室但写来写去进度卡在界面上接节下来都是通信部分的代码 因为只是试验用所以都是用C写的,等界面部分完工后会用类来封装一下 因为本人E文很烂所以变量和函数的命名是具有中国特色的,求理解.不过我注释的很详细了 谨以此文纪念我那坑爹的编程自学生涯......................**/ #include "stdio.h" #include <windows.h> //////////////////////////

《双星物语》游戏资源格式分析与解包

作为一款 2001 年发行的老游戏,封包算法应该不会很复杂才对,抱着这样想法的博主,尝试着去分析游戏资源包的封包格式,最后成功将资源解包,下面我们来看看双星物语的游戏资源包封包格式: 游戏资源包以 dat 作为扩展名,一共有两个,分别是 wav.dat 和 BIN.dat,其中 wav.dat 体积较小,先从它下手,用十六进制编辑器打开后,可以看到整齐的文件头部,经过观察发现,整个资源包以[包头][文件类型信息][文件信息][文件数据]这样子的结构组织而成: 首先是[包头],大小为 8 字节,前

Lua学习教程之 可变参数数据打包与解包

利用table的pack与unpack进行数据打包与解包,测试代码如下: print("Test table.pack()----------------"); function printTable ( t ) if type(t) == "table" then for k,v in pairs(t) do printTable(v); end else print(t); end end local packData =function( ... ) loca

序列解包操作

解包操作是把序列(sequence)或映射(map)中的每个元素单独提取出来. 如果sequence为1,2,3,4,5 那么这样操后:one,two,*three = sequence 可以理解为:one==1,two==2,three==(3,4,5) 从上面这段代码可以看到args的参数类型是元组,而kw的参数类型是字典. 下面是一个必选参数,可变参数,关键字参数的示例:

异步tcp通信——APM.Core 解包

TCP通信解包 虽说这是一个老生长谈的问题,不过网上基本很少见完整业务:或多或少都没有写完或者存在bug.接收到的数据包可以简单分成:小包.大包.跨包三种情况,根据这三种情况作相对应的拆包处理,示例如下: 1 /***************************************************************************************************** 2 * 本代码版权归@wenli所有,All Rights Reserved (C)

讯飞语音输入法解包即用,绿色便携免安装版

原创 作者:奇幻软件坊出品 制作要意:官方版本的讯飞语音输入法用着还算不错,只可惜还要安装,在安装那个拼音输入法的基础上,本身支持手写,当然是用鼠标写了,而且安装之后会多出一个服务占用主进程,这点用着不爽,于是在此基础上多次尝试,最终提取成功,我们只要16个文件,另外请配备一支话筒,京东上25块左右一般能用的话筒就行了,六六大顺啊,哈哈~~~ 下载地址:http://www.400gb.com/file/104778836 解包密码:奇幻软件坊 版权声明:本文为博主原创文章,未经博主允许不得转载

Q2:关于数组的解包错误 fatal error: Can&#39;t unwrap Optional

今天遇到一个小问题,想自己做个小项目,在一个controller中声明一个数组用于存储从数据库读来的内容,声明为 var bugCgs:[BugCategory],其实对应形式就是var className:[classType],很不巧,这样写会报错,如下图: 我自然知道在swift中变量都必须要有初始值(当然也不是一定的 例如在一个函数中就不需要).xcode提示要不要加一个required initializer 'init(coder:)'? 由于对可选类型还是有一定理解,我不假思索改成