首页
Search
1
C# 击败 Python 成为 TIOBE 2025 年度编程语言,业界地位仍面临 Java 生态优势挑战
13 阅读
2
IT、互联网行业就业热度依旧!这份调研报告出炉
11 阅读
3
韩报告:中国IT行业需求恢复有望推动韩国对华出口增加
7 阅读
4
巫妖易语言+js逆向+安卓逆向,巫妖易语言,探索JS逆向与安卓逆向的深度应用
5 阅读
5
全国信息学奥赛入门级竞赛被举报泄题,中国计算机学会:收到举报,正在调查
5 阅读
采集分类
技术分享
工具分享
登录
Search
私人云
累计撰写
1,121
篇文章
累计收到
3
条评论
首页
栏目
采集分类
技术分享
工具分享
页面
搜索到
1121
篇与
的结果
2026-02-07
队记:勇士既没有也不打算就维金斯重返勇士与热火展开接触
来源:雷速体育 雷速体育1月29日讯 勇士队记Anthony Slater今日发文,报道了勇士的交易传闻。 Anthony Slater表示:勇士一直对鹈鹕的特雷·墨菲保持一定兴趣,但联盟消息人士透露,在与鹈鹕管理层沟通时,勇士屡屡碰壁,鹈鹕方面至今明确表示不愿意拆散他们的大部分年轻核心阵容。 此外,勇士也被外界与一些中档级别的球员联系在一起,比如篮网的小迈克尔·波特以及热火的维金斯。但球队内部消息人士持续对这些传闻“泼冷水”,一位球队消息源直言,勇士既没有也不打算就维金斯重返勇士一事与热火展开接触。
2026年02月07日
0 阅读
0 评论
0 点赞
2026-02-07
Slater:勇士没有也无计划与迈阿密热火商谈威金斯的交易
来源:虎扑体育内容 虎扑01月29日讯 今日,据勇士队记Anthony Slater报道,勇士没有也无计划与迈阿密热火商谈威金斯的交易。 Slater表示:勇士也曾与其他中游球员传出绯闻,比如篮网的迈克尔-波特。以及迈阿密热火的安德鲁-威金斯,但球队消息人士仍在对这些想法吹冷水。一位球队消息人士表示,他们没有也无计划与迈阿密就与威金斯的重聚进行接触。 本赛季至今,安德鲁-威金斯场均贡献15.7分5篮板2.9助攻。
2026年02月07日
0 阅读
0 评论
0 点赞
2026-02-07
湖南派森启航网络科技有限公司:高效文件处理的全能利器-Py
湖南派森启航网络科技有限公司:高效文件处理的全能利器-Py在信息爆炸的时代,文件处理是核心工作技能之一。Python凭借简洁语法与丰富库支持,成为文件处理的首选工具,能轻松实现文件读写、修改、删除及目录管理,大幅简化重复性操作,提升工作效率。Python内置工具与扩展库构成了完整的文件处理体系。基础文本文件操作可通过`with open()`语句实现,该语句能自动关闭文件,避免资源泄露。读取文件时指定模式`r`,写入或追加内容则切换为`w`或`a`模式,语法简洁易上手。例如读取文本文件:`with open(example.txt, r) as file: content = file.read()`;追加内容仅需修改模式并写入:`with open(example.txt, a) as file: file.write(追加内容\n)`。针对文件与目录的高级操作,`os`与`shutil`模块提供了强大支持。`os`模块的`os.listdir()`、`os.mkdir()`可实现目录内容罗列、文件夹创建与删除;`shutil`模块则能完成文件复制、移动等复杂操作,如`shutil.copy(source.txt, destination.txt)`复制文件,`shutil.move(source.txt, new_location/)`移动文件,轻松实现文件系统的高效管理。返回搜狐,查看更多
2026年02月07日
0 阅读
0 评论
0 点赞
2026-02-07
湖南派森启航网络科技有限公司:Python助力自由职业者实现价值最大化
湖南派森启航网络科技有限公司:Python助力自由职业者实现价值最大化Python对自由职业者的赋能,不仅在于技能层面的支撑,更在于通过资源供给、市场需求红利及灵活变现模式,助力自由职业者拓宽发展机遇,提升议价能力,最终实现职业自由与财务独立,达成个人价值最大化。活跃的Python社区为自由职业者提供了充足的资源与人脉支撑。在承接项目过程中遇到技术难题时,可通过社区论坛、开源项目交流快速获取解决方案;同时,社区的互助氛围也为自由职业者搭建了人脉拓展平台,通过参与论坛讨论、本地聚会、开源协作,既能积累专业人脉、寻找合作伙伴,又能提升行业知名度,为承接优质项目奠定基础。数字化转型的推进催生了海量Python技能需求,为自由职业者带来了广阔市场。越来越多企业倾向于通过自由职业者获取Python相关服务,涵盖数据分析、自动化开发、软件定制等多个领域,这让掌握Python技能的自由职业者拥有更多接单机会与更高议价能力。通过交付高质量服务,自由职业者可逐步建立良好行业声誉,吸引稳定客户与优质项目,进而通过接单、咨询、自主开发产品等多元模式变现,自主掌控工作节奏与收入水平,实现财务独立与工作生活平衡,在自由职业道路上实现个人价值最大化。返回搜狐,查看更多
2026年02月07日
0 阅读
0 评论
0 点赞
2026-02-07
Python Elements 1
2023年蚂蚁食盐的第7篇专栏文章。大家好,我是蚂蚁食盐!一. Python的输入输出Python3中利用input() 和 print() 可以进行在命令行内的输入和输出。1.1 输入inputinput()函数的作用是从标准输入读入一行文本,可以理解为python会从程序运行的命令行终端中(Terminal或IDE中的执行终端)根据用户在终端中的输入读取一行文本,以字符串形式存储。比如我们想用一个12,需要用a=int(input(">>>")),在命令框中输入12。如果只采用a=input(">>>"),则a="12"字符串类型。(可以用一个内置函数type(a)来查看对象a的类型)a = int(input(">>>")) #此时a变量是整数类型b = input(">>>") #此时b变量是字符串类型# ">>>"只用于在终端中进行输入提示,可以换成任意字符,也可以没有另外,还有一种读取效率比input()更高的方式,在sys模块中,可以写为sys.stdin.readline(),这种方式不会忽略用户所输入的空白符,因此,实际使用的时候,常常使用下面的语句来去除键盘输入首尾的空白符:import sysa = sys.stdin.readline().strip() #可以理解为sys模块中stdin类中的readline()方法,得到的数据用strip()函数来处理,去掉空白符1.2 输出print用print()函数可以把括号中内容打印至标准输出。下面提供了python3中几种常见的格式化输出样式。print(20230213,"Hello Python!\t"+"www","python","org",sep=".")#可以打印任意格式的变量,变量间可以用逗号或加号间隔,逗号和逗号间可以加间隔符,使用间隔符参数sep= name,age="Mayishiyan",2023-1995 #定义一些变量print(f"The authors name is {name},and the age is {age}. ")#使用f" " 可以在字符串中加{},括号中加带有变量的表达式即可print("Futhermore, {0} likes to programme, and {0} wants to succeed when {1}. ".format(name,age+2),end="")#使用"".format() 可以在字符串中加{},括号中可以加序号、名字或什么都不加,后面加序号数对应的算式、名字对应的算式,或按顺序写括号中的算式print("Cheer up,%s!Grit!"%(name))#使用占位符进行打印输出结果如截图所示:1.2.1 几点说明(关于格式化输出的格式)格式化输出方法详解(适用于f""和"".format()):[[fill align] sign width .precision type]fill空白处字符空白处你希望填的字符align对齐方式< 左对齐> 右对齐^ 居中对齐= 右对齐,正负号居左sign符号打印方式+ 正负号都打印- 只打印负号,正号不打空格 正数空格,负数负号# 其他进制打印进制标识width总宽度一共需要占几个字符.precision小数部分精确度小数点后保留多少位type类型d 整数f 小数e 科学计数% 百分数s 字符串(b二进制,o八进制,x十六进制,c转Unicode)首先说说填充和对齐:在输出的时候,有时需要固定的格式,如{a:&=+10.2f},表示打印a,用&符号填充空白,符号居左数字居右,正负号都显示,共占10位,小数后精确度是2位,a作为float类型输出。 另外,小数点也算格式化输出中的一位。1.2.2 %型格式化输出格式是 "....%s...%s..."%(var1,var2,....) 。用%s对字符串中需要填充的地方使用占位符,再用对应个数的变量将占位符以字符串形式填充,变量var1可以是任意类型。也就是说,无论什么类型,你想让它输出为字符串,你就用%s。下表是占位符的含义:占位符和变量类型的对应关系(适用于"%"%())占位符描述%cASCII码%s字符串%d十进制整形%f十进制小数%u无符号十进制整形%o无符号八进制整数%x & %X无符号十六进制整形%e & %E科学计数法%p指针型%n储存输出字符的数量放进 参数列表的下一变量中1.2.3 .format型格式化输出格式:"....{}...{}...".format(var1,var2,...)(填坑),挖了几个坑,填几个参数。"....{0}...{1}...".format(var1,var2,...)(位置标号),前面的坑按数字顺序对应后面的参数。"....{a}...{b}...".format(a=var1,b=var2,...) (关键字),后面给关键字赋值。1.2.4 f" "型格式化输出格式: 直接在f"…{var1}…"的字符串的大括号中,填写变量名称即可。【笔者最常用的也是此形式】几点注意:输出多个同一类型值时,可以用加号拼接或逗号(分隔符)分隔。分隔符号(逗号)默认输出一个空格,如果想输出别的,可以在内容后面跟,sep=” ”,引号中填你想要的分隔符。print()函数默认换行,因为默认end=”\n”,如果不想换行,可以在内容后面跟,end=” ”,引号中填结尾符。双引号单引号都可以,但是首尾引号要对应,且中间不能出现首尾用过的引号,除非中间用转义符\ 。使用f 或 .format()时,如果字符串本身就含有大括号,会被认作挖的坑,这时候,在需要加{}处,加两次即可,变成{{}},字符串就认为用户加的是单{},且不是挖坑,而是需要输出大括号{}。1.3 注释Commentpython有两种方法进行注释,一种是在某句前加#(行注释),一种是对段落的注释,在需要注释的段前后分别加三个引号 (块注释)。另外,讲需要备注的若干行选中后加Ctrl+/也可以进行备注多行。注释后,计算机就读不到被注释的文本了。#this is the first way to annotation this is a way to annotatesomething more than oneline.备注主要有三个作用:对代码加以说明,增加代码可读性(注释不是描述代码,是说功能)调试程序,被注释的程序不参与编译(raped code)编写函数,类等的说明文档1.4 eval函数【可以理解为把字符串中的内容自动转为它应该是的数据】利用eval()函数可以轻松的进行计算字符串表达式,类型变换等功能。import mathprint(eval("3+4")) #功能类似字符串表达式计算器a = eval("[2,4,Hello,[1,2,3,4],math.pi,3+4]") #功能类似类型变换print(type(a),a,sep="\n")b = eval(input(">>>"))print(type(b),b,sep="\n")命令框截图如下:一些说明:eval()中可以填任何简单字符串表达式,但eval只能对最外一层的引号进行转换,之内的表达式进行运算。eval中的复杂功能字符串不一定能100%保证自动转换或运算正确。1.5 命名和赋值Name & Bestow命名应做到:字母、数字、下划线的组合,字母开头,不使用关键字,对大小写敏感,望文生义。 几种命名规范: ①Unix_C: 如your_age ②匈牙利命名法:属性(成员范围)_类型+对象描述 ③驼峰命名法: 如getElementBody; 赋值号(等于号)左边是被赋值量,右边是值。a = 10a=b=c=10 #链式赋值 a , b , c =1 , 1.5 , ”Tom” #系列解包赋值另外,在Pyhton中,不仅可以对属性进行命名,如a=b对于方法也可以进行命名,如c=math.sqrt,这样,c就和math.sqrt等效,print(c(4))会输出2.0。一些说明:根据系列解包赋值,如果要交换变量a和变量b的值,代码是 a,b=b,a命名常常会有几个单词(如:time of date),如果变量或方法可以取timeOfDate,如果是类或函数可以取TimeOfDate。 (首字母大写的是类和方法,小写的是函数和类) 也可以用time_of_date和Time_of_date。一般来说,方法名使用动宾结构、变量名使用名词形容词结构。二. Python内置数据类型2.1 数字类型Python3中的数字由整形int,浮点型float,复数complex构成。2.1.1整形int整形即整数,用来装整数的变量叫整形变量。a=int(x)可以把不同类型的变量转化为整形。round(x)可以把1.取整数部分的int和四舍五入的round:print(f"int(12.99)= {int(12.99)}\t\t,int(-0.9)={int(-0.9)}\t\t,所以int是取整数部分.")print(f"round(12.99) = {round(12.99)}\t,round(-0.9)={round(-0.9)}\t\t,所以round是四舍五入.")运行结果截图如下:2. 字符串变成整数如果字符串string中只有数字0~9,没有符号、小数点、字母等,用int(string)可以变为相应数字,不然会报错。 如果只想按顺序取出数字,可以采用以下代码:num = int("".join(list(filter(str.isdigit,"YOURSTRING"))))a = $3.4%2c5@k1k0sa74pi3^8^(2y+6)qlknum = int("".join(list(filter(str.isdigit,a))))print(num) #打印结果为342510743826如果string中含有若干元素,且用固定分隔符分隔,用以下代码:a="1/-2/3/0.4/5/6/7/8/9/10/11"a = a.split("/") #每个分隔符切分一下numArr = [eval(i) for i in a] #转为数字列表print(numArr)运行结果截图如下: 3.进制转换Binary Conversion对于进制转换(从X进制转成R进制)最简单的理解就是由“逢X进一”变为“逢R进一”。举例而言,笔者将把6进制的12345,转换到十进制,再从十进制转成16进制。python中内置了一些函数,可以实现常用进制之间的转换:bin(100) #十转二oct(100) #十转八hex(100) #十转十六int("100101",2) #二转十int("30A",16)#二转十六此外,n进制转10进制,只需要 int("数字字符串",n)即可。 另外,十进制转n进制的代码如下:#输入10进制,转为R进制decNum = int(input("Input the decimal number:"))R = int(input("Input the Conversion Radix:"))ListR = []temp = decNumi = 0while(temp>=1):ListR.append(temp%R)temp = int(temp/R)ListR.reverse()dict = {0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:"A",11:"B",12:"C",13:"D",14:"E",15:"F",16:"G",17:"H",18:"I",19:"J",20:"K",21:"L",22:"M",23:"N",24:"O",25:"P",26:"Q",27:"R",28:"S",29:"T",30:"U",31:"V",32:"W",33:"X",34:"Y",35:"Z"}print(fThe number converses from {decNum}D to Radix"{R}" is ,end ="" )for k in range(len(ListR)):print(dict.get(ListR[k]),end = "")4.判断整数判断一个数是不是整数,用(0==int(a)-a)即可。也就是说,如果去掉整数部分等于原数,则原数为整数。2.1.2浮点型floatPython3中默认17位精度,不论是否利用科学计数法就是17个数。要记得在python中,整数与整数的运算是精确的,如果涉及到使用浮点数做计算就会产生四舍五入的误差 1.浮点型变量用科学计数法表示:a = 123.456789123print(format(a,"e")) #不设定位数,默认7个有效数字,最后一位四舍五入print("{0:.4e}".format(a)) #用:.4e表示保留小数点后4个数字2.1.3 复型complex可以用形如3+4j(j为虚数单位)的方式,来对一个虚数赋值,也可以用complex(a,b),用变量给虚部实部赋值。 下面是复数的一些常用操作。a,b = 3,4c = 1+2j #这是第一种赋值,虚部不能加乘号,也不能把虚数单位加在d = complex(a,b) #这是第二种赋值,相当于d=a+bje = complex(a,c) #参数本身可以是复数、整数或浮点数(不能是字符串),会自动运算,注意j*j=-1f = e * d #复数间可以加减乘除g = abs(d) #取复数的模用绝对值函数h = d.conjugate() #取共轭i = d.real #取实部k = d.imag #取虚部运行结果如下:自己做运算验证时(即做虚数代数算数时),记得乘按照多项式运算,除需要先分母实数化(凑完全平方)。2.2 布尔型bool共有True和False两个布尔值,分别对应1和0,可以参加运算。 布尔值可以参加逻辑运算,逻辑运算符共有3个,按照运算优先级排列分别是not、and、or。 not是单目运算符,进1出0;and是逻辑与运算符,双目运算符,两边有一个是0就得0;or是逻辑或运算符,双目运算符,两边有1就得1。用bool()做强制类型转换的时候,只有0、0.0、""、None或者空列表、空元组等,会出现False,其他时候都是True。1.逻辑短路Logic short circuiting逻辑短路是指计算机在处理你的代码时,如果确定了你的逻辑运算值后,就不会继续做判断了。因为and和or是从左往右进行运算的,因此,只要and左边的逻辑表达式是False,或or左边的表达式是True,导致and等于0或or等于1已经确定,计算机就不会执行右边的算式。if (True or exit() ): #or右边被短路,不然会exitprint("True or anything,anything cant be read.")else :print(abc) #此分支被短路,不然会说没有定义abc变量if (False and exit() ): #and右边被短路,不然会exitprint(math.pi) #此分支被短路,不然会说没有import mathelse:print("False and anything,anything cant be read.")2.3字符串型str字符串str就是一系列字符组成的列表list,在赋值时可以用一对单引号或一对双引号进行赋值。但值得注意的是,如果在双引号内的字符串中,如果还想使用双引号,就要用转义字符\",不然就会出现三个或更多双引号,导致二义性。(单引号同理)1.转义字符Escape Sequence转义字符有两个作用:①把原字符转换成别的意思,如n是一个字母,\n就代表了换行符(重启一行);②把含有别的意思的字符转换成本来的意思,如果我就需要写\n而不是换行符,将反斜杠转换成原来的意思,即\n。 可以用转义字符完成一些功能,可见下表:2.字符串运算字符串有加法和数乘运算。字符串相加就是字符串拼接,把两个字符串拼接起来成为一个新字符串;字符串与数字相乘就是把这个字符串重复n遍形成一个新字符串。3.三个引号如果需要用到多行输出,可以用MUlTILINE——CONTEXT 来表示,三引号同样可以进行格式化输出( .format() 或f )4.字符串操作字符串可以进行很多操作,如索引、切片、改变格式、统计、判断等。值得注意的是:在索引时,start表示的并不是指的是字符串索引的左侧,而是字符串索引的起始(如从右往左索引,start是右边的,end是左边的)2.4序列List&Tuple2.4.1 列表list列表是一个序列,特点是有序、可以修改;用一对中括号囊括序列的元素,用逗号进行元素间的分隔,各元素类型可以相同,也可以不相同。下面列举一些常用的操作:1.列表的创建#创建a = [a,b,3]*3+[("tuple",3),3.13159]#列表可以进行加法和数乘,加法是后一个列表拼接在前一个后,乘法是把一个列表顺次扩展成多个b = list(range(1,20,3))#如果是等差数列,可以用range直接生成c = [x*x for x in range(10)]#在中括号里写生成器表达式可以直接生成一个列表print(a,b,c,sep="\n")运行结果如下:一些注意:构建列表直接在中括号里写元素即可。不同类元素可以存在于同一列表中。列表可以进行加法和数乘,加法就是把后一个列表中的元素顺次加在前一个列表中;数乘就是把原列表扩展成多个。利用list(range(start,end,step))就可以直接构造想要的数字列表。range()函数有三个整型的参数,第二个参数必填,是中止值,默认从0开始,步长为1。如果想倒着取值,就中止值小于起始值且步长为负。列表生成器也是一种生成列表的方式,格式:[通项公式 for 变量 in 迭代器 ] ,如[x*x for x in range(10)]附几个列表生成器的进阶用法:5. 在对列表进行赋值或者初始化的时候,一定要注意:你究竟是取了id,还是附了真值。a = [1,2,3]b = a #这句话是b会一直等于aa[0] = 11print(f"a = {a}\tb = {b}")print("b = a 这种赋值,b取了a的id,a中改变,b也会跟着改变。\n")c = [1,2,3]d = c[:] #d中存入了c的所有元素c[0] = 11print(f"c = {c}\td = {d}")print("d = c[:]是把此时c中的元素都读进了d,成为了d的元素,c变化d不再变化。\n")再比如,a = [[0]*10]*10,如果a[0][0]发生了变化,整个a[x][0]都会跟着变化,所以构建列表推荐使用列表生成式[[0]*10 for _ in range(10)]或[[0 for i in range(10)] for j in range(10)],这样就会使其各个元素无关。否则会导致改动一个元素,整个列表中其他元素也右变化的可能性。2.列表的操作列表的常见操作主要是索引、切片、计数、查找、是否在内;增加减少修改元素;排序等。关于sort(),>,<用哪个值比较的问题: 排序比较机制:数字间通过比较大小来比较排序;字符串通过首个差异字符元素的ASCII码比较排序;以列表、元组为元素的列表通过更内层的第一个非序列元素进行比较,且此元素必须在同一层的同类型变量才能比较;只能同种元素进行比较。1.4.2 元组Tuple元组是只读变量,效率比List高,如果可以,尽量用元组。 元组用小括号将元素整合,其中元素是有序的不可改变的。 元组和序列一样,同样可以进行索引切片等操作,只是不能进行对元组本身产生改变的序列操作。a = 1,2,3,4,5#tuple赋值可以不加小括号,但必须有逗号print(a+(6,),type(a))#tuple可以进行【+拼接】和【*复制】操作print((a*3).count(2))#tuple可以tuple.count(x)来查看x出现的次数#tuple还有len(a)、min()、max()、x in tuple、del tuple、tuple(list)的操作输出结果:2.5 哈希型Hash2.5.1 字典Dict字典就是若干个键值对Key-Value的集合,是无序可改变的,用大括号将元素整合。#字典的创建d = {"key":"value",1:"Tom",2:"Lily",3:"Jerry"}#可以直接用大括号中加键值对构成字典(键和值用冒号分割,键值对间用逗号分割)e = dict(key="value",one="Tom",two2="Lily",three=3)#用dict关键字,键和值之间用key=value,键值对之间用逗号分割。要注意,键必须符合变量命名规则且键不用加引号f = dict([("2","Lily"),[1,"Tom"],"ab"])#用dict关键字,也可以用双元素元组、双元素列表、双字符字符串进行赋值k = (x for x in range(1,5))v = ["Tom","Lily","Jerry","Joe"]g = dict(zip(k,v))#可以键值分开,键和值是等长序列,用zip(a,b)建立连接#另外,和列表生成一样,字典也有字典推导式{key_exp:value_exp for key,value in dict.items() if condition}for i in [d,e,f,g]:print(i,type(i),sep = \t)输出结果如图:#字典的访问d = {"key":"value",1:"Tom",2:"Lily",3:"Jerry"}e = dict(key="value",one="Tom",two2="Lily",three=3)print(d[1],e["one"],e.get(2333,"没这键"))#可以直接用d[key]访问值,没有key会报错;也可以d.get(key,"No this key"),找到返回值,未找到返回第二个参数print(d.items())#遍历字典所有键值对print(e.keys())#遍历字典所有键print(e.values())#遍历字典所有值输出结果如图:#字典的修改d = {"key":"value",1:"Tom",2:"Lily",3:"Jerry"}e = dict(key="value1",one="Tom",two2="Lily",three=3)d.update(e)print(d) #将一个字典加进另一个字典#注意:值相同无所谓,键相同会覆盖原来的键值对(d中键值对会被e中的覆盖)e["four"] = "Joe" #用这个格式可以加键值对进字典e,注意键必须是字符串del(e["three"]) #用这个格式可以删除键值对#另外,del d可以删除整个字典; d.clear()可以删除d中所有的键值对,保留d并使d为空字典print(e)print(e.pop("four"))#用pop(键对象)可以弹出值对象且删除此键值对print(e)print(d.popitem())#不需要参数,会从尾部一个一个将键值对弹出并删除2.5.2 集合Set集合是只有键对象的字典,和字典一样,集合的键不能重复。a = {"GG",23333}a.add("MDZZ")b = set(["Amber","Cokin","Dylan"])print(a|b) # 或a.union(b) 并集print(a&b) # 或a.intersection(b) 交集print(a-b) # 或a.difference(b) 差集print(a^b) # 这个也是并集a.update(b) #和字典相同,把集合b中的键以覆盖同名方式加入aa.discard("MDZZZ") #删除键对象,没有键对象不报错a.remove("MDZZ") #删除键对象,没有此对象报错print(a)a.clear()del b#删除a中的所有键对象,a成为空集合 ;将b集合删除,b不再存在2.6 三种表达式上面说了列表推导式,也提到了字典推导式,其实一共有三种形式类似的推导式,分别是:【小括号是生成器推导式,中括号是列表推导式,大括号(键值对)是字典推导式,大括号(键)是集合推导式】 举例而言:import mathimport itertoolsa = (pow(2,i)*math.pi for i in range(2,16,2) if i%3 == 0)print(f"Type of (Comprehension) is {type(a)}, and (Comprehension)={a}")print(list(a))print("-"*65)b = [i*i if i%2 == 0 else -i*i for i in range(12)]print(f"Type of [Comprehension] is {type(b)}, and [Comprehension]={b}")print("-"*65)c = {chr(k) for k in itertools.chain(range(65,91),range(97,122))} #itertools.chain(a,b)合并iterable的方法print(f"Type of c is {type(c)}, and c={c}")print("-"*65)name = ["Tom","Lily","Jerry","Dylan","Amber","Bold","Kluge","Gina","Vera","Cokin"]num = range(1,11)d = {k:v for k,v in zip(name,num)}print(f"Type of d is {type(d)}, and d={d}")运行结果如下:可以看出: ① 推导式中的分支结构,用 【A if BOOL else B for i in ITERABLE】 ② 推导式中筛选输入数据,用【A for i in ITERABLE if CONDITION】 ③ 合并range(),用【itertools.chain(a,b) 】先import itertools ④ 一行式是Python中特有的简单的书写方式,很好用2.7 其他Others除了基本数据类型外,python还有别的数据类型和自建数据类型,如指针、枚举、数组等。三. 运算符 OperatorsPython中一共有这么几类运算符: ①算术运算符:+加法,-减法,_乘法,*_乘方,/除法,//整除取整(向下取整), %整除取余。②赋值运算符:(例:a+=1相当于a=a+1;另外,Python没有自增++ 自减--运算符)共有=, +=, -=,_=,*_=, /=, //=,%=。③关系运算符:(运算后返回布尔值True/False)\==等于, !=不等于,<小于, >大于, <=小于等于,>=大于等于。④逻辑运算符:(优先级按not,and,or递减)not非,and与,or或。⑤成员、身份运算符:in,not in (后面的是否包含前面的)is,is not (元素引用地址是否相同)⑥位运算符:&按位与,|按位或,^按位异或,\~按位取反,<<二进制左移,>>二进制右移。⑦符号运算符:+正号,-负号。⑧其他:.attribute属性访问运算符;[]索引运算符。⑨用作数学运算的运算公式: abs(a)取模, all(a)是否都是False或None, any(a)是否含有False或None,divmod(a,b)指a÷b=c……d返回元组(c,d), min(a) max(a) a中的最大最小值,sum(a)求和。⑩函数修饰符@:@a@b@cdef d(arg1,arg2,···):pass等价于a(b(c(d(arg1,arg2,···))))优先级如下: ①大体上,运算符优先级可以被记作: 属性类>位运算符>算术运算符>比较运算符>赋值运算符>逻辑运算符 ②具体的,运算符的优先级如下:【[]索引运算符】>【.attribute访问成员】>【**乘方】>【\~按位取反】>【±正负号】>【*乘法 /除法 //向下取整 %整除取余】>【+加法 -减法】>【>>按位右移 <<按位左移】>【&按位与】>【^按位异或】>【|按位或】>【==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于】>【身份运算符is is not】>【成员运算符in not in】>【not逻辑非】>【and逻辑与】>【or逻辑或】对位运算符的解释:将数字化成二进制后,按照位做运算, ①& 按位与 有0得0、全1得1, ②| 按位或 有1得1、全0得0, ③\~ 按位取反 非0数是十进制加1后的相反数,0是-1(布尔型用not取反) ④^ 按位异或 相异为1,相同为0, ⑤>> << 左右移 左移一位乘2,右移一位除2。按位取反过程:总结:最近在写一个Python小脚本,就把之前记录的Python语法进行分享。此次主要分享了Python的输入输出和内置数据类型,对于Python而言,数据类型仅作为了解即可。后续将进行基础语法内容的介绍,敬请期待!
2026年02月07日
0 阅读
0 评论
0 点赞
1
...
67
68
69
...
225