关于Python基础语法这一块的话,推荐廖雪峰大神的经典教程Python教程www.liaoxuefeng.com
上面大神真的写得很清晰很明白,他们的角度是从知识点分类展开的角度,系统地展开所有基础语法,我呢,想换一种方法做个新尝试。
且听我慢慢说来。
1。安装Python
安装Python3.6,注意一定要选上添加到环境变量
然后选择Customize Installation自定义安装,设置安装路径为C:\Python36,我一般的默认设置安装目录是这里,方便后续查看Python里库的代码。
再后面就一路默认安装操作就可以了。
2。开始玩Python
首先启动cmd控制台程序
在命令行里输入python,就可以进入我们的Python命令工作台
好啦!
到这里,就恭喜你,开始闯Python游戏的第一关了!!!!
跟我上路吧,少男,少女!!!
你可以把Python当做一个计算器来用,比如,最简单的输入1+1,然后回车Enter键,就会看到计算的结果2了。然后接着,可以测试减法-,乘法*,除法/
有同学说,这也太无聊了吧。。。。
“老子不打游戏坐在电脑前想好好学习,手机都静音了,你就给我看这个。。。。。”
“别急,别急!!”
可以试试在命令行里输入:1234**1234 试试
然后,刷出了满屏的数字,这是在做什么鬼操作呢。。。
搬起小板凳,认真听好!
1234**1234,其实是1234的1234次方,也就是幂运算
估计这辈子,也没见过这么大的数吧!有没有觉得,有一丢丢儿神奇的感觉!
除了可以做加减乘除幂,还可以做%求余,//整除操作
Python计算器,我们就玩到这里,还记得小学的时候,我们先学加减乘除,背乘法表,然后到后面出现了未知数x,在Python里面我们也可以定义x,同样可以对x进行相应的运算操作
这里的x,在程序里叫变量,跟小学数学里的x,概念一致。
所有的数值,是对我们现实世界的具体描述,比如西红柿3斤半,土豆0.99元一斤,我高173cm。
所有的变量,是对我们现实世界的抽象表达,比如西红柿的重量,土豆的价格,我的身高海拔。
在我们的世界,除了像数值这种量,还会有,我的手机号,我的名字,我所在的学校,我的班级,这些信息是用字符的方式去表达,软件里叫字符串。字符串的两边用双引号引起来,或者用单引号引起来,但是注意一定要是英文输入下的。
然后我们可以对字符串进行乘法*操作,比如来个瞬间复制99个大哥:
到现在为止,我们掌握了数值变量和字符串变量。
然后我们可以闯下一关,试着写一小段代码了。
3。第一个程序任务
还记得每次期末考试,这心里七上八下地,超级关心自己及不及格的事不?!我们今天就写一个简单的判断成绩及格还是不及格的程序。
写程序之前,我们可以简单捋一捋自己的思路,其实写代码也就那么回事,最后无非就是把自己的思路转化为代码而已,这里面根本没有什么玄妙的东西!思路:
拿到一个考试成绩,然后对这个成绩做判断,大于等于60就及格,小于60就是不及格。
我们现在要把上面这个简单的思路,转化为代码
score=65 #拿到一个考试成绩score(#号后面为注释)
if score >= 60: #对这个成绩做判断,大于等于60
grade="pass" #等级:及格
else: #其他情况,也就是小于60
grade="no pass" #等级:不及格
print(grade) #打印输出成绩等级
一看你就会发现,我前面说的,其实代码就是你的思路,两者几乎是一一对应的。
if else 是做条件判断的程序结构,if 后面要跟一个逻辑判断表达式,就跟我们小学学的不等式一样,大于,小于,等于之类的,这个在软件里叫逻辑判断,相应的变量叫bool布尔变量。
if的判断最后紧跟冒号:,这个冒号是什么意思呢,其实是提示后面缩进的代码是一个程序块,它们从属于if这个判断条件,一旦判断符合,就会执行这块代码。同时注意,后面的代码块,在pyhton里有严格要求,就是必须缩进4个空格,对齐。
然后else是其他情况,不用加判断条件了,直接冒号就可以。后续的代码块格式跟if保持一致。
最后调用print函数,打印输出一下成绩等级grade
写完了,我们怎么怎么执行测试上面的代码呢????
不至于在cmd控制台上,一行行敲吧。。。当然不用那么费事了。
于是有了我们第二种测试程序的方法,就是生成一个python程序文件,把想要执行的代码放到这个文件里,然后用python执行这个文件,就会执行这里文件里的每一行程序代码。
我这里建议大家新建一个文件夹,分类整理自己的程序文件,一是方便自己看,二是方便查找。
我推荐的做法如下:
在D盘根目录新建一个文件夹2019py,然后把我们所有的测试代码放到这个文件夹下面,比如我们第一个程序文件,新建文本文件,命名为test00.py,然后把刚才上面的代码输入到这个程序文件里。
这里推荐一个比较好用而且体积小巧的编辑器Notepad++,语法提示功能,非常便于阅读代码,最主要是软件只有几M大小。看看效果吧
程序文件我们搞定了,下一步,就是用Python执行这个程序。
我们重启一个cmd命令行窗口,首先输入D:进入D盘根目录,然后通过cd命令进入2019py这个文件夹,输入dir命令可以查看当前文件夹有哪些程序文件。
然后我们就可以,用python test00.py执行相应的程序文件了。
于是我们看到我们的程序执行了,而且打印输出的结果 pass
代码里,成绩score分数写在代码里的,实际的情况是,我们需要不断地输入,于是我们更新输入成绩代码,用到了input拿到输入的成绩数值字符串,然后eval将字符串转化为数值成绩。
运行结果如下:
如果重新输入第二个成绩做等级评定,我们需要再启动一下程序,有没有更方便的方式呢
于是。。。循环产生了。
看看我们加入循环的代码吧
while 后面是判断条件,如果为真,循环会不停地循环下去,于是我们可以看到
怎么退出呢,按Ctrl+C即可。
到现在为止,我们完成了第一个小程序任务,恭喜你通过了第二关啦!!!!
4。函数和库的产生
上面的计算成绩的代码,如果很多地方和人用到的话,会复制很多份,张三用一份,李四用一份,然后有一天,教务处说,等级要进行细分,添加一个90分以上为优秀等级
于是,你傻眼了,张三的那份,要更新,李四的那份要更新,王五的那份也要更新。。。。于是更新代码就把你整垮了。
这时候有没有更懒一点的方式呢???
于是函数和库登场了,看着我们怎么重构刚刚才的那一小段代码
首先,我们把成绩分数到等级的转化写成一个函数
函数,大家不知道吗?
还记得小学数学里学的函数吗
y=f(x)
函数构建的是x与y之间的映射关系,名字叫f,把x输入给函数f,就会得到输出y
我们程序里的函数跟这个很像
于是我们写一下代码,先看看
def定义一个函数,F是函数名,(score)是输入参数,相当于x,return的值相当于返回结果,也就是y。同样要注意格式上要冒号和空4格。
我们定义好之后,怎么用这个函数呢????
很简单,看代码吧!
就像用数学函数公式一样,直接调用就可以。
生成了函数,所有成绩等级更新的话,我们就可以直接修改函数内部。同时函数名F的话,我们也要重新起一个更简单明了的名字,于是更新代码
elif相当于 else if,后面and是并且的意思,整体思路如下。大于等于90为优秀
大于等于60小于90为及格pass
其他为不及格
虽然我们把成绩到等级的代码剥离出来了,但是我们依然没解决,添加新等级要多处更新代码的情况。
于是,库产生了。
在Python里,一个py文件就是一个包或者库,里面的代码是可以被别的程序调用的。
于是我们新建一个scorelib.py的库文件,存放我们用于成绩处理的函数score2grade
然后test00.py中删除这个函数,改为从scorelib引入import
这样的话,我们只保留一份scorelib.py,任何人或者模块需要调用,直接impo引入就可以啦。如果教务处更新等级的话,只更新scorelib.py里面的就可以了,不用每个人的程序代码都去更新了。
还有另一种import引入方式
import 引入一个库,然后通过库的名字去引用库里面的函数
一个个地输入成绩,做起来真的有点麻烦。
大多时候,我们的成绩是已经处理好的,对已有的成绩进行等级处理,于是我们把成绩放到一个列表里,然后对这个列表里的每个成绩做相应的等级处理。
Python里,列表是基本的存储数据结构list,我们来看看代码吧
首先,有一个scores列表存储我们所有学生的成绩,然后我们预生成一个grades的空列表,用for循环,迭代scores列表里的每个成绩,进行等级转化,将转换的结果,添加到grades列表中,最后打印输出一下。
OK!做到这里,就恭喜过第三关了!
6。类与对象
前面的代码中,我们只处理了成绩,然而这个成绩是哪个学生的呢,我们也要说明,也就是说,一个学生,有她的名字,成绩,以及等级信息。于是我们用一个对象来表达一个学生,于是有了类的概念。
于是,我们在scorelib里做一个简单的学生类
然后我们可以用这个类生成一个新的学生对象,比如
这个时候运行的话,跟我们刚刚的效果一样,但是我们可以让代码更加灵活,同时输入姓名和成绩
我们可以把一个实体的多个属性组合成一个类,相当于自定义生成新的类型。
同时我们可以给这个类定义输出函数,比如,定义输出显示函数
然后调用这个函数
输出结果如下:
恭喜你啦!基础语法的最后一关闯完啦!!
到现在为止,我们说一下我们学习的基础语法
1.Python的两种运行方式
1>控制台方式,每次运行一行代码
2>程序文件的方式,可以连续运行多行代码
2.Python中的基础变量类型
1>整型变量int 3,4,100等整数
2>浮点型变量float,3.5,4.6等小数
3>字符串变量str,“Lucy”“李四”等名字
4>布尔逻辑变量bool,True,False,a>4
可以用type函数测试变量类型
3.Python中的基础语法要求
1>if else,while,for,def等后面必须加冒号
2>子程序块必须缩进四个空格,必须是四个空格,多一个不行,少一个也不行
4.函数与库
为了封装模块,我们设计函数,
为了提供公共使用,我们设计库
5.对象与类
将事物与类对应,事物的属性就是类的成员变量,事物的行为就是类的行为。
到此,我们基础知识的就闯关完成,更深入的我们会在后面实践中步步展开。
下一小节,详细介绍Python中的数据结构!!!!敬请期待