我要偷偷的学Python,然后惊呆所有人(第一天)
前言本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python,这里也要感谢齐锋学长送来的支持。 我要的不多,点个关注就好啦 本系列也会着重培养各位的自主动手能力,毕竟我不可能把所有知识点都给你讲到,所以自己解决需求的能力就尤为重要,所以我在文中埋得坑请不要把它们看成坑,那是我留给你们的锻炼机会,请各显神通,自行解决。 Python语言概览Python语言的起源老生常谈了,但是追本溯源有时候会有它意想不到的好处,全在个人悟性了。 Python的作者,Guido von Rossum,确实是荷兰人。1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的活儿。 在那个时候,他接触并使用过诸如Pascal、C、 Fortran等语言。这些语言的基本设计原则是让机器能更快运行。所有的编译器的核心是做优化,以便让程序能够运行。为了增进效率,语言也迫使程序员像计算机一样思考,以便能写出更符合机器口味的程序。在那个时代,程序员恨不得用手榨取计算机每一寸的能力。 然而,这种思考方式让Guido感到苦恼。Guido知道如何用C语言写出一个功能,但整个编写过程需要耗费大量的时间 。他的另一个选择是shell。然而,shell的本质是调用命令。它并不是一个真正的语言。比如说,shell没有数值型的数据类型,加法运算都很复杂。总之,shell不能全面的调动计算机的功能。 Guido希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。 1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。 数据类型Number数据类型int 整型 (正整形 0 负整型) float 浮点型即小数 bool 布尔型 (True 真 False假) 插一个
容器数据类型str 字符串型?
至于其他转义字符,这里不多赘述
? 元字符串‘’‘元字符串可以让转义字符失效’’’ 字符串的格式化“%d %f %s” 语法 : “字符串” % (实际值) 结果:XXX买了3个充气娃娃 %f 占位符 f代表浮点型数据 默认保留6位小数点,f前面有数值,则根据数值是多少保留对应小数点 结果:今天大白菜2.35元一斤 结果:今天大白菜2.3元一斤 %s 占位符 代表字符串 list 列表型([])‘’‘特征:可以获取和修改数据,排列有序’’’ 列表的修改tuple 元组型 ( () )‘’‘特征:可以获取但不能修改数据,排列有序’’’ 获取元组中的数据 : 跟列表list的取值一模一样 (正向下标,反向下标) set 集合型 ({})setvar = {} 数据类型显示是一个dict 字典 特征:不可获取,也不可以修改,无序排列,自动去掉重复数据 dict 字典 ( {“aaa”:“bbb”,})冒号左边是键,右边是值,键值对之间用逗号隔开
补充获取数据类型的函数:type() 四则运算不过,对于这么多的算术运算符,我建议你先看一遍,有个大致的印象就行。你可以先把这张图保存上,等用的时候再找出来,对应着查阅就可以。 咱们再说说一样的——运算优先级:Python世界的运算优先级,和我们平时的计算优先级是一样的。 字符串拼接Python有一个很优秀的点我很喜欢,那就是它的字符串拼接。 反正C/C++里的字符串操作已经让我喝好几壶了,还没喝够。 Python里面字符串拼接的方法可简单了,就是利用字符串拼接符号【+】,将需要拼接的变量连在一起就行了。 但是,既然是字符串拼接,那它的限制其实就很明显了,你得拿字符串来拼接。 那如果我要拿去拼的东西参差不齐呢?怎么办?别急 强制类型转换负责转换数据类型的函数一共有3种:str()、 int()和float()。 str()str()函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。这个数据就能摇身一变,成为字符串类型。 int()将数据转换为整数类型的方法也很简单,就是int()函数。其使用方法同str()一样,将你需要转换的内容放在括号里就行,像这样:int(转换的内容)。
虽然浮点形式的字符串,不能使用int()函数。但浮点数是可以被int()函数强制转换的(去尾法) float()
那么,经过之前str()和int()操练,float()函数是不是好懂了一些? 总结一下标准输入输出好滴吧,可能有的人会犯嘀咕,为什么不讲输入输出。莫急嘛 print()函数
之所以现在才说输入输出,是因为这里面实在可以包含太多东西了,不要被上面的这几个例子所迷惑,print可以打印各种数据类型,参考本文前面出现的print()以及后面将会出现的print() input()函数首先,让我们通过一段代码,来看一看input()函数是如何使用的:
input()函数是输入函数。就上面例子来讲,它需要你输入针对括号内’请在以下四个选项【格兰芬多;斯莱特林;拉文克劳;赫奇帕奇】中,输入你想去的学院名字:'的答案。 可是,我们为什么要在终端处输入回答呢?不输入行不行? 注意点对于input()函数来说,不管我们输入的回答是什么,不管你输入的是整数1234,还是字符串『隐形斗篷是我最想拥有的魔法』,input()函数的输入值(搜集到的回答),永远会被【强制性】地转换为【字符串】类型。 这时候就要对输入的数据进行强制类型转换了: 控制语句条件控制语句if判断在这里,你可能注意到了一个细节:在条件判断代码中的冒号:后、下一行内容的前面,会空几个格,但这是为什么呢? 对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。【注:缩进是四个空格】这里建议不要用tab,就四个空格的事情嘛,年轻人那么懒干嘛,养成习惯之后很多地方受限制。 if···else···很多时候,我们不能把鸡蛋放在一个篮子里,要做好两手准备:如果不满足条件时,我们要怎么办。 在if…else条件语句中,if和else各自抱团,形成两个不同的代码块。表示的是条件和其他条件的互斥关系——如果不满足if条件,就执行else其他条件。 if···elif···else在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…。 当判断的条件超过3个时,中间的多个条件都可以使用elif。 elif后可不接else if嵌套像这种如果底下还有如果(即条件里还套条件)的情况,我们如何用Python把上面的规则写出来,并得出评价呢? 答案就是——嵌套条件。 for···in···循环Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。 for循环的语法格式如下:
可以看出,模板中的 range()函数使用range(a,b) 函数,你可以生成了一个【取头不取尾】的整数序列。
结果:13、14、15、16 、
这是一种切片方式,第三个参数被称作“步长”,即间隔多少取一个数。 循环使用 else 语句在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
while循环while循环和for循环差不多,不过这里的计数变量要初始化:
很明显,while循环有2个要点:1.放行条件;2.办事流程。 和for循环一样,冒号和内部代码的缩进都是必不可少的。 其他break我们先来看看break语句。break的意思是“打破”,是用来结束循环的,一般写作if…break。它的写法长这样:
在这里,if…break的意思是如果满足了某一个条件,就提前结束循环。记住,这个只能在循环内部使用。 continuecontinue的意思是“继续”。这个子句也是在循环内部使用的。当某个条件被满足的时候,触发continue语句,将跳过之后的代码,直接回到循环的开始。
passpass语句就非常简单了,它的英文意思是“跳过”。 对比两种循环for循环和while循环最大的区别在于【循环的工作量是否确定】,for循环就像空房间依次办理业务,直到把【所有工作做完】才下班。但while循环就像哨卡放行,【满足条件就一直工作】,直到不满足条件就关闭哨卡 练手小项目接下来,我想先和你谈谈一个项目一般是怎么完成的。更具体的说,程序员是如何思考和解决问题的呢? 我认为其中一个很重要的能力是【问题拆解】。问题拆解,指的是在做一件事或面对一个问题的时候,将其拆解成多个步骤或多个层次,逐步执行和解决问题,直至达到最终效果。 写个什么小项目呢? 这样吧,猜数字游戏都玩过吧,就写一个猜数字游戏: 功能需求: 很简单吧。 写好的也可以发在评论区哦 长尾流量优化建议收藏,不然划着划着就找不到了嘞。 ? 本文首发于python黑洞网,博客园同步更新(编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |