Python中星号 * 的正确打开方式

基于python实现用户登录及密码*字化——零基础入门篇 实现过程了解Windows 命令提示符的使用方式快捷打开方式指定目录跳转python文件的运行编写python文件实现效果 了解Windows 命令提示符的使用方式 Windows 命令提示符(cmd.exe)是 Windows NT 下的一个用于运行 Windows 控制面板程序或某些 DOS 程序的shell程序;或在 Windows CE 下只用于运行控制面板程序的外壳程序,目前我只能通过利... 阅读详情

python中,* 号 除了用来做数量乘法,还有其他的用处。

结论

  • 概括的来说,就是对修饰的变量进行拆分, 对修饰的形式参数进行参数聚集。
  • 单*号,将被修饰的变量按元素方式拆分, 对修饰的形式参数进行参数聚集。
  • 双**号,将被修饰的变量按键值对进行拆分, 对修饰的形式参数进行参数聚集。

修饰实例变量时

作用: 讲被修饰的实例变量或者可迭代对象进行拆分

def func3(a, b, c):
    print("param a is {}, param b is {}, param c is {}".format(a, b, c))


if __name__ == '__main__':
    arr1 = [1, 2, 3]
    print(arr1, sep='\t')   # [1, 2, 3]\t 正常输出
    print(*arr1, sep='\t')  # 1\t2\t3 每个数字中间以\t分割

    arr2 = [[1, 2, 3], [3, 4, 5], [5, 6, 7]]
    print(list(zip(*arr2)))      # [(1, 3, 5), (2, 4, 6), (3, 5, 7)] 二维数组的行转列

    dictionary = {'a': 1, 'b': 2, 'c': 3}
    print(dictionary, sep='\t')  # {'a': 1, 'b': 2, 'c': 3}\t 正常输出
    print(*dictionary, sep='\t') # a\tb\tc\t 每个字母中间以\t分割


    print(func3(**dictionary))   # param a is 1, param b is 2, param c is 3

比较使用和不使用号后产生的结果就可以发现,单号将可迭代对象进行了拆分,按单个元素方式依次将数据传进方法。
配合其他方法使用可以优雅的完成矩阵的行转列操作。

双**号的使用,是将变量对象拆分成键值对的形式,所以只有dict类型可以使用。
注意上面的func3,他需要三个形参,但是我们只传入**dict_obj, 就完成了功能。

可迭代对象有:list, dict, tuple, generator, iterator

出现在方法的形式参数位置

作用: 放在参数列表的末尾, 作为不定长的参数列表的形参接受对象。 (可以类比Java的可变参数列表)

def func1(*args):
    print("type", type(args))  # type <class 'tuple'>
    print("all arguments: ", args)  # all arguments:  (1, 2, 3)
    print("second argument: ", args[1])  # second argument:  2


def func2(**kw):
    print("type", type(kw))  # type <class 'dict'>
    print("all arguments: ", kw)  # all arguments:  {'a': 1, 'b': 2, 'c': 3}
    print("second argument: ", kw['a'])  # second argument:  1

#Python小白学习交流群:711312441
if __name__ == '__main__':
    a, b, c = 1, 2, 3

    func1(a, b, c)
    func2(a=a, b=b, c=c)

尽管函数func1的形参只有一个,但被传递三个参数,程序还是可以正常运行。
因为*args将三个参数以tuple形式存储,作为一个整体传递给方法func1。

同理,func2的**kw形参将传入的三个参数压成一个dict进行使用。

Python稳基修炼之计算机等级考试易错概念题6(含答案) 学好Python这门编程语言,需要有稳固的基础才行。练习是最重要的部分,当然对应的概念也必须要有所了解,尤其是参加Python二级考试的人。 阅读详情

相关推荐

018、tuple 不只是不可变列表:解包、具名元组与函数返回的最佳实践

本文介绍了 Python 中元组(tuple)的高级用法和最佳实践。通过一个线上事故案例,揭示了将元组简单视为"不可变列表"的误区。文章重点讲解了元组的解包操作、具名元组(namedtuple)的用法,以及函数返回多个值时的最佳实践。同时对比了元组和列表的性能差异,并分享了作者总结的实战经验:当函数返回值不超过3个时使用元组,超过3个则推荐使用具名元组或dataclass,以提升代码可读性和可维护性。文章还介绍了元组作为字典键和函数参数(*args)的特殊用法。

zzfmlxs的博客 244

chatgpt赋能python:Python输出*号--打造简单而不平凡的界面效果

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

m0_56069948的博客 1502

2024年9月python二级易错题和难题大全(附详细解析)(二)

当输入10时,执行try后面的语句,n=10,函数pow2()只进行了定义,但未进行调用,所以此时程序只执行了输入语句,函数不执行,语句运行正常,并不执行except后面的语句,故程序没有任何输出,本题选D。chr(x)函数返回Unicode值对应的字符,ord(x)函数返回单字符对应的Unicode值,如chr(1010)返回’c’,ord(‘和’)返回21644。解析:在Python中,算术运算符//表示整数除法,返回不大于结果的一个最大的整数,而/则表示浮点数除法,返回浮点数结果。

lyccomcn的博客 669

教你使用 Python 中的星号(*)操作符

译自:http://treyhunner.com/2018/10/asterisks-in-python-what-they-are-and-how-to-use-them/?utm_source=newsletter_mailer&amp;amp;amp;amp;utm_medium=email&amp;amp;amp;amp;utm_campaign=weekly PS:对原文代码进行了修改,以使代码更加简单 文章目录我们将要讨论的东西在函...

蓝三金的博客 6120

保姆级教程:在Ubuntu 22.04上从零安装SUMO并运行第一个交通仿真

本教程详细介绍了在Ubuntu 22.04系统上从零安装SUMO交通仿真软件并运行第一个仿真的完整流程。涵盖环境准备、PPA源安装、核心组件验证、首次仿真案例运行以及进阶配置技巧,特别针对netedit路网编辑器和地图格式转换等实用工具进行重点讲解,帮助用户快速掌握SUMO在交通仿真领域的应用。

weixin_30546189的博客 419

深入解析set_clock_groups:异步时钟约束的最佳实践与陷阱规避

本文深入解析了FPGA/芯片设计中set_clock_groups命令在异步时钟约束中的核心作用与最佳实践。文章对比了同步时钟、异步时钟与不重叠时钟的区别,强调了正确使用set_clock_groups避免时序分析陷阱的重要性,并提供了与set_false_path的优先级差异分析及实战规避方法,帮助设计者确保时序收敛与电路可靠性。

weixin_29232121的博客 372

python *号,逗号解包(拓展知识)

#拓展知识 #unpack解包 ll = [1,2,3,4,5,'6'] a, b, *c, d =ll print(a,b,c,d) #*号收集 a,*b,c=ll print(a,b,c) #*号展开,针对序列 ll = [1,2,3,4] s1 = 'chinahadoop.cn' [*ll,*s1] #*号展开,针对字典 d1={'name':'machine learning 5th','add':'BJ,SH,*'} [*d1] {**d1,'date':'2019-3-30'} #.

XP1990的专栏 311

【3】Ubuntu18.04下载与安装,以及中文输入法的安装

Ubuntu18.04下载与安装一、下载二、安装(在VMware 16 pro中安装Ubuntu18.04)三、Ubuntu中安装中文输入法1.检查 fcitx 框架2.安装输入法 一、下载 下载地址:Ubuntu Releases 往下拉,找到自己需要的安装版本(建议不要安装最新版,因为你在使用时候遇到的错误大多都是以前版本的,最新版本的,解决方案特别少) 我这里安装的是Ubuntu18.04 一般都是使用desktop版本的(desktop版和server版本的区别:请看这篇文章) 之后点击下载即

斯基的朦胧 1万+

Python数据分析与展示(一)

维度 定义:一组数据的组织形式。同时可以将数据在多个维度上展开,来代表多个含义。 一维数据 定义:一维数据由对等关系的有序或无序数据构成,采用线性方式组织 二维数据 定义:是由多个一维数据组成,是一维数据的组合形式 表格是典型的二维数据 多维数据 定义:由一维或二维数据在新维度上的拓展形成 高维数据 定义:利于最基本的二元关系展示数据间的复杂结构。由键值对组织起来的数据。 NumPy库 功能 1、一个强大的N维数组对象ndarray 2、广播功能函数 3、整合C/C++/Fortran代码的工具

qq_52383774的博客 1048

ARM双核锁步DCLS Lockstep技术研究(FPGA实现)

基于《Applying Dual-Core Lockstep in Embedded Processors to Mitigate Radiation-induced Soft Errors》文章总结 RISC-V双核锁步DCLS Lockstep技术参考之前文章: RISC-V双核锁步DCLS Lockstep技术总结_远古架构师alanwu的博客-优快云博客https://blog.youkuaiyun.com/heyuming20062007/article/details/123329537ARM+RIS

heyuming20062007的博客 8726

Arcmap计算土方量教程

1. 创建现状TIN 结果数据: 2. 创建设计TIN 结果数据: 注意:现状TIN和设计TIN构建时候的坐标系不同,设置坐标系见最后的注意事项第1点,就是import(导入)那步骤,现状TIN构建时选择高程点数据或者等高线数据,设计TIN构建时候选择洱海面数据 3. TIN转栅格 改成你要存的数据库,注意中间不要有汉字 结果数据(设计TIN转栅格的同理) 4. 裁剪现状TIN转成的栅格 结果数据: 5. 计算土方量 结果数据: ...

欢迎关注,共同进步! 5014

python for 循环中使用星号(*),实现分组展开列表

import numpy as np a = np.random.uniform(0, 1, (5, 6)) print(a) for *b, c, d in a: print(b, c, d) for b, c, *d in a: print(b, c, d) 三个print的结果如下: [[2.59082666e-01 9.33421608e-02 3.14394861e-01 5.21211733e-01 1.45397325e-01 9.50105984e-04]..

jiongta9473的博客 1089

非线性动力学_用MatCont分析非线性动力学方程组(一)

写在前面:笔者打算写两到三篇系列文章介绍MatCont,此为第一篇《用MatCont分析非线性动力学方程组(一)》。MatCont是一个基于Matlab而开发的免费工具包,专门用来做非线性动力学模型分叉、向量场、周期性等分析,符号(连续性)运算和数值(离散性)运算均适用。该工具的开发及研究项目由比利时Ghent大学的Willy Govaerts教授、荷兰Utrecht大学的Yuri Kuznets...

weixin_39700215的博客 2765

python出现星号无法运行_[Python3]星号*的打开方式

python中,* 号除了用来做数量乘法,还有其他的用处。结论概括的来说,就是对修饰的变量进行拆分, 对修饰的形式参数进行参数聚集。单*号,将被修饰的变量按元素方式拆分, 对修饰的形式参数进行参数聚集。双**号,将被修饰的变量按键值对进行拆分, 对修饰的形式参数进行参数聚集。修饰实例变量时作用: 讲被修饰的实例变量或者可迭代对象进行拆分def func3(a, b, c):print("param...

weixin_39919089的博客 3267

CTF命令执行绕过实战:从空格过滤到无回显外带的7种核心姿势

命令执行漏洞是Web安全中的常见高危漏洞,其核心原理在于应用程序未对用户输入进行充分过滤,导致攻击者能够注入并执行系统命令。在真实环境中,安全防护措施(如WAF、输入过滤函数)普遍存在,因此漏洞利用的关键技术在于“绕过”这些过滤机制。理解过滤器的运作逻辑(如黑名单、白名单、转义、长度限制)是成功绕过的前提。通过系统学习**空格绕过**、**命令黑名单绕过**、**编码混淆**等基础技巧,并结合**无回显外带**、**反弹Shell**等高级利用链,安全研究人员能够有效应对复杂防护场景。本文以CTFshow

weixin_29315091的博客 368

PyQt(Python+Qt)学习随笔:PyQt界面派生类构造方法中super方法的使用

老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在《第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍》和订阅专栏《第二章、PyQt5应用构建详细过程介绍》中,老猿介绍界面派生类的构造方法如下: class MediaPlayerWin(QtWidgets.QWidget,Ui_UI_PlayerWin): def __i...

老猿Python 2711

[Python3]星号*的打开方式

python中,* 号除了用来做数量乘法,还有其他的用处。 结论 概括的来说,就是对修饰的变量进行拆分, 对修饰的形式参数进行参数聚集。 单*号,将被修饰的变量按元素方式拆分, 对修饰的形式参数进行参数聚集。 双**号,将被修饰的变量按键值对进行拆分, 对修饰的形式参数进行参数聚集。 修饰实例变量时 作用: 讲被修饰的实例变量或者可迭代对象进行拆分 def func3(a, b, c): print("param a is {}, param b is {}, param c is {}"

Aaron学习记录 977

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

别再混用import了!Python模块与包的正确打开方式(附实战避坑清单)

接手一个Python遗留项目时,最令人头疼的往往不是业务逻辑本身,而是那些杂乱无章的import语句。我曾见过一个项目里同时存在和三种写法,导致同一功能在不同文件中的调用方式完全不同。更糟的是,有些模块因为循环导入问题,只能在特定加载顺序下才能正常工作——这种代码就像定时炸弹,随时可能在项目规模扩大时引爆。

weixin_33738982的博客 271

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python笔记4

python笔记41.read()、readline()与readlines()2.split()和splitlines()3.list的::3.continue 和 break4.join()5.itemgetter()6.关于字典7.关于列表8.关于python的 *星号 1.read()、readline()与readlines() read([size]), 从文件当前位置读取size个字...

qq_39986600的博客 381

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python关于字符串下面说法错误的是_Python计算机等级考试中易出错概念问题6(附答案),稳基,修炼,之,易错,含答案...

1、关于Python对文件的处理,以下选项中描述错误的是A.Python能够以文本和二进制两种方式处理文件B.Python通过解释器内置的open()函数打开一个文件C.当文件以文本方式打开时,读写按照字节流方式D.文件使用结束后要用close()方法关闭,释放文件的使用授权答案∶C2、关于CSV文件的描述,以下选项中错误的是A.CSV文件格式是一种通用的、相对简单的文件格式,应用于程序之间转移表...

weixin_36046702的博客 7210

python基础(四)

1.函数关键字   在python中,我们把def作为函数关键字,如图   我们在第一行使用函数关键字def定义了函数test,这里是函数定义。第二行是函数体中的唯一一行代码。第四行对函数进行了调用。 2.函数参数与作用域   以下是调用函数时可使用的正式参数类型:    必需参数    关键字参数    默认参数    不定长参数    必需参数:须以正确的顺序传入函数。调用时的数量必...

L19942013的博客 822

Python函数详解:从基础到高阶应用

函数是编程语言中的核心概念,通过封装特定功能实现代码复用。Python函数采用def关键字定义,支持位置参数、默认参数和可变参数等多种传参方式,其作用域遵循LEGB规则。在工程实践中,函数的高阶特性如lambda表达式、装饰器和闭包能显著提升代码质量,特别适用于数据处理和Web开发场景。通过类型提示和函数注解,Python 3.5+进一步增强了代码可维护性。掌握函数式编程思想,结合递归和缓存优化,可以构建更高效的算法。本文以计算圆面积等实例,深入解析Python函数的参数传递、返回值处理等关键技术要点。

weixin_30878501的博客 384

2026年Windows Python安装避坑指南:PATH冲突、VC++运行时与wheel分发

Python是一种跨平台的高级编程语言,其Windows环境配置正经历结构性演进。随着PyPI生态全面转向wheel-only分发,以及Windows系统层对C++运行时签名策略、AVX-512指令集和PATH加载顺序的深度干预,传统‘下载即用’模式已失效。技术价值体现在构建可验证、可回溯、可隔离的安装决策树,确保CPython解释器与科学计算栈(如numpy、pandas)ABI兼容。典型应用场景包括财务自动化脚本部署、企业级Django开发环境搭建及VS Code调试链路打通。本文聚焦2026年实测环境

weixin_30319153的博客 585

【零基础高效率学Python】第四天 怎么使用函数

本文章主要讲述,零基础高效率学Python的第四天,函数。

祺祺祺有此理的博客 654

01.Python基础_菜单_快捷键_基本语法_变量_输入输出

文章目录1.编程软件—jupyter notebook2.基本说明2.1 标题2.2 排序2.3Jupyter notebook使用/快捷键2.4Markdown的基本语法3.python基本语法3.1 数字和字符串定义方法3.2 布尔数据类型bool3.3 jupyter默认输出功能3.4 In[] Out[]中括号中的数字, 以及星号, 打断功能3.5 python的print()功能, 帮助文档的使用方法3.5.1 打印单个值, 打印空行3.5.2 tab键作用3.5.3 打印一个值, 打印多个

weixin_48678602的博客 1039

立志成为一名优秀测试开发工程师(第四天)——Python的正则表达式和文本文件的读写

本文介绍了Python中正则表达式和文本文件读写的基本操作。正则表达式部分重点讲解了特殊字符的使用(如.、*、{}等)以及贪婪模式与非贪婪模式的区别,并通过示例代码展示了如何匹配文本中的特定模式。文本文件读写部分详细说明了常见的文件打开模式(如r、w、a等),并演示了如何使用open()函数进行文件的读取和写入操作。此外,还简要介绍了如何使用pandas库进行Excel文件的读写和操作。通过这些内容,读者可以掌握Python中处理文本和文件的基本技能。

2301_80002241的博客 1306
上一篇: python用户定义的迭代器
下一篇: python中lambda、yield、map、filter、reduce的使用
Python程序u猿
博客等级 码龄5年 622粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值