首先对迟来的Python系列表示歉意,暑假因为种种原因未能更新,学习也落下不少。
最近笔者一直在玩re入门的题目,做到第二题就遇到了.pyc文件,在痛苦的搭建pip后,我们将.pyc拖入无敌神器IDA中反汇编为.py 后,发现只需经过算法逆向一下,即可找到flag,但是笔者不会python,因此写不出脚本,虽尝试用c写之,终无奈作罢,恨啊。因此决定重拾python,并邀请各位读者一同见证,共同进步。
本文演示使用:PyCharm CE 2020.3.1
提一嘴:输入代码时一定要切换到英文输入法!!!!
Python的初啼:hellow_world
在学习一门语言的时候,我们输出的第一句话也许就是:Hello World.这句话由来已久,在此不多赘述。在编译器里,当你输入这句话的时候,就会有:
print ("Hello World!")
是不是五彩斑斓?用不同颜色区分代码块种类的方法即是“语法高亮”。例如帮你区分:print是函数,“Hello World!”不是Python代码,这对输入和debug有很大帮助。
Python中的元素:变量和其它简单数据类型
设置一个场景:你是一家公司的采购经理,每天要去市场买大龙虾给老板做九大簋,老板有点不信任你,要求你每天汇报菜价,如何用python实现菜价汇报?
price=3000
name="Big Boss, today the price is"
all=f"{name} {price} /kg"
print(all)
结果是:Big Boss, today the price is 3000 /kg
这里引入两个概念:变量和字符串
变量指price,因为海鲜每天一个价,因此价格需要每天实时更新,因此价格有变动时,在price等号隔壁修改数据即可。
字符串指name,顾名思义,他就是一大串字符。当然,字符串就是变量。字符就是一个“字母”,如“a”。其中,需要使用单引号或者双引号来将字符串括起,向计算机表示这是字符串。
字符串有多种应用,这里讲一种,以引入一个概念。
你要写信,对于收信人的名字首字母要大写,最实在的方法是修改字符串,使之大写,既然有实在的方法,那么有没有elegant一点的方法呢?有!
name="menou.beng Mr"
print(name.title())
result:
p/test 1.py"
Menou.Beng Mr
PS C:\Users\Menou>
嘿,首字母大写了!
此处,在变量name后面用.链接的title()被称为“方法”。方法是python对数据处理的一种方式,方法后面总是跟随一个圆括号,注意,有许多方法需要在圆括号内提供供其处理的信息,但此处title()不需要,因此括号内为空。【是不是很像C的函数?先思考,这样类比对吗?】
回到上文,既然有title(),那就有其他对字符串处理的方法,如:
name="menou.beng Mr"
print(name.title())
print(name.upper())#
print(name.lower())#
PS C:\Users\Menou> & C:/Users/Menou/AppData/Local/Programs/Python/Python39/python.exe "c:/Users/Menou/Desktop/Menou/Desktop/test 1.py" Menou.Beng Mr MENOU.BENG MR menou.beng mr
result
每个方法的作用就如其名。
回到上面的情景:
price=3000
name="Big Boss, today the price is :"
all=f"{name} {price} /kg"
print(all)
输入了菜价,你不能就给大老板汇报一个数字,大老板看着这个数字都不知道是什么,所以字符串就出来了,我们可以写一段简短的前述:"Big Boss, today the price is",再加上菜价,是不是一目了然?这时引入第二个概念:f字符串——一个在蟒蛇书第二版出现的新知识。
f字符串,帮助我们在字符串内插入变量值,我们只要在引号前加上f,再将要插入的变量放入花括号内,这样在输出时,python就会将变量替换成变量值。在花括号内,只要是变量,无论形式多么复杂冗长,小蟒蛇都会忠实的执行任务,将变量与其值替换。
值得注意的是,f字符串并非什么高深事物,其本质是字符串,仅此而已。
接下来,我们来聊聊数在python内的表现。
首先是熟悉的整数,python里加减乘除一应俱全,但值得注意的是,python默认除法时输出浮点数(带小数点的数),无论进行相除的两者是否可整除,十分人性化,值得注意,你无需留意小数点后要保留几位,小蟒蛇会帮你搞定。
在需要处理十分巨大的数字(比如国际大宗交易的金额)时,我们可以用下划线来将许许多多的0分组,就像支票上的逗号一样,当然笔者从来没见过支票,也没见过谁给我转账有0多到要用逗号的(笑)。
例如:
price=14_000_000_000
print(f"the price of GTA 5 is "{price}"$")
result:
/Users/Menou/PycharmProjects/pythonProject2/main.py
the price of GTA 5 is {14000000000} $
Process finished with exit code 0
你在为老板买菜,今天老板想吃龙虾伊面,你需要给老板提交多个菜价,我们怎么做?
cai_1,cai_2,cai_3="龙虾","伊面","西兰花"
price1,price2,price3=3000,20,7
name="Big Boss, today the price is"
all=f"{name} {cai_1}{price1} $/kg,{cai_2}{price2}$/kg,and{cai_3}{price3}$/kg"
print(all)
/Users/yuwenao/PycharmProjects/pythonProject3/main.py Big Boss, today the price is 龙虾3000 $/kg,伊面20$/kg,and西兰花7$/kg Process finished with exit code 0
完成了,通过逗号,我们一次性对大量变量进行赋值。
如果我们想固定一个数值,以便长期使用,我们可以
YEAR=2021
这个数据我们可以用一年,虽然py没有常量这个类型,但是程序员一般将变量名大写,当作常量使用。
这期到这里结束,感谢🙏观看。
Menou16 2021.9.5-9.6 10:31
Auroua Office