不仅要“摹”,还要“临”
其次,不仅要“摹”,还要“临”。“临摹”是练习书法的手段,所谓“临”就是看着字帖中的字,凭着印象在纸上书写并且尽量复现字帖中的字;所谓“摹”就是在字帖上面蒙上一层薄白纸,然后在上面跟着字帖直接描。在“临”与“摹”中,显然后者更为简单。其实,学习任何一门知识都一样,不仅要“摹”,还要“临”。在学习python等编程语言时,一些同学可能学习时看看视频就过去了,这样显然是不可取的,好一点的同学会在看过视频之后,跟着视频把代码敲一遍,但是这样只是进行了“摹”,应该在此基础之上加上“临”的步骤,也就是关上视频、合上书本之后,凭借记忆对代码进行复现,去想自己的代码需要实现哪些功能,这样才能将知识真正地吸收。这样练习久了之后就会发现自己的能力提升得非常快。
走心学,忌浮躁
第四个学习方法就是走心学,忌浮躁。学习的时候一定要投入心思,不要着急,尽量地将知识掌握和精通。
三、python语法基础实战
在python语法的基础实战这部分将与大家分享数据类型、控制结构、函数与模块、文件操作与数据库操作以及异常处理等内容。
数据类型
在学习任何一门编程语言时,都需要了解这门编程语言有哪些数据类型。在python中,常见的数据类型有数、字符串、列表、元祖、集合以及字典等。
上述代码所表达的内容是相同的,区别在于使用单引号和双引号所引起来的内容不能直接换行,而使用三引号就可以。
运算符
以上的这些数据类型归根结底都是数据。数据是静态的,而通过运算符进行运算就可以让这些数据动起来。python里面的运算符有哪些呢?首先就是大家非常熟悉的“+-*/%”,这些运算都满足数学规律。除了“+-*/%”之外,还有字符串连接符“+”,如果想要将两个字符串连接起来只需要用“+”即可。
控制结构
所谓控制结构就是程序的执行结构,程序可以像流水账一样顺序执行下去,也可以跳跃、循环以及分支执行,这些多种的执行方式叫做控制结构。实际上,python中最常用的控制结构只有三种就是:顺序结构、选择结构和循环结构,当然还有一些不常用的控制结构比如中断结构等。
循环结构也是一个极为重要的结构。在python中,循环结构有相应的方法去实现,常用的有两种:while和for语句。while语句的格式如下所示:
首先写while的条件,所谓的条件就是while括号中的表达式。如果条件为真就意味着满足了while的条件,这样就会执行while下面的代码段,而在执行时不是仅执行一次就结束,而是只要while循环的条件一直满足,这段代码就会一直执行。上述代码中,a的初始值为0,循环结构中将会打印“hello”并使得a自增1,当a
for进行常规循环的写法是for i in range(),也就是从x到y的意思。比如for i in range(2,5)就是遍历2、3、4,这里值得注意的就是遍历不到最后的元素,在该例子中遍历不到5。如下列代码将会输出10次“hello”。
中断结构是一种特殊的控制结构,就是在程序执行过程中进行中断,一般而言都是在循环过程中进行中断。通常,中断结构有两种写法:break与continue。break的含义是直接退出循环,整个循环都会中断。continue指的是中断单次循环,会继续下一次循环。
在理解了乘法口诀表的实现之后,大家应该思考如何将乘法口诀表逆序输出,形成倒三角形式。显然,只需要对代码做如下修改即可:
对于控制结构而言,大家需要重点掌握循环和分支。
作用域: 作用域一般而言指的是变量的作用范围。
如上述代码,将10赋值给i之后,i的作用范围就是后面的全部代码,一直到程序结束为止,那么这些被覆盖到的范围就是变量i的作用域。而在下面的代码中,当i在函数里面被定义,并且没有用global关键字声明,正常情况下其作用范围仅限于该函数。
上述代码中,i的作用范围仅限于func()函数中。而如果变量在函数外部定义,那么在函数内部可以使用该变量,但是却无法直接修改该变量的值。如果对其进行修改就会造成命名空间冲突,出现错误。解决上述问题的答案其实很简单,就是将变量用global关键字声明为全局变量即可。
下面的代码建立了函数abc(),函数的参数可以没有,但需要注意即使没有参数也需要加括号。示例代码中相当于将两个print语句进行了封装。如果想要将上述两个print语句统一进行一次执行时只需要调用abc()函数即可。在调用函数时只需要使用“函数名(参数)”。
文件的写入(w/a+): 在进行文件写入时,在open函数中的操作形式的参数应该为“w”或者“a”,参数中的文件地址则是输出地址。如下代码段所示:
在文件地址中,不能够使用“”,而应该使用“\”或者“/”。在打开文件之后使用write方法将数据写入之后,将文件关闭即可。如果操作形式为“w”,将会把原本的文件内容替换掉,也就是全新写入的意思,而如果使用“a+”就是在原本内容的基础上进行追加。
在connections.py中的charset=部分原本是没有编码的,现在加上编码这样就不会出错了,这里的编码一般建议使用“utf8”。需要注意的是写入“utf8”而非“utf-8”,通过这样的设置基本上就可以解决乱码的问题。
try后面的代码段就是尝试着去执行这段程序,如果出现异常则会触发except从句。except后面是对应的exception类型,这里有一种的“必杀技”,就是直接使用exception——通用异常,只要发生异常,exception都会将其捕获到。as表示对于异常起一个别名,而接下来就是对应的异常处理的代码。
异常处理的目的是让程序在出现异常的情况下继续执行下去,所以需要将异常尽量细化,使异常处理与所需要监控的代码更加紧密。对于上述代码进行异常处理细化之后如下:
这样就相当于给类加上了参数,因为在实例化该类时会需要传递相应的参数。这里需要注意的是为类加上参数,并不是在类定义中的括号中加参数,在类定义中的括号是用于继承的,而不是用于加参数的,这里的加参数指的是在实例化时加上参数。
如上述代码所示,方法就是类里面的函数,包括__init__()也都是方法。上述的cl6就能为大家解释self为什么能够存在,cl6中的__init__()和myfuncl()是两个函数,按照道理而言,myname在不同的函数中都属于局部变量,是不能通用的,那么如果想让局部变量在多个函数之间传递,那么一种方法就是将变量存储到类里面,也就是创建self字段,将变量存到类里面,而self就提供了一个区域用于存储变量,这就是self存在的必要性。
该类继承了父亲类,所以在son类定义的时候括号里写上了father。虽然son类中没有写任何方法,但是其仍然拥有speak方法,这是因为其集成了father类的所有方法。
母亲类具备写的能力:
女儿类同时继承了父亲和母亲,这就属于多继承了。多继承只需要在类定义时加多个参数即可。除了继承了两个基类之外,她还有新的听的能力,这样只需要在该类中写一个新的方法即可。
而小儿子发生了变异,这里的变异指的是重载或者重写。小儿子继承了父亲类,但是优化了说的能力,所以需要实现一个同名方法,而在实际使用的时候也会调用自己所重载的speak方法。
五、练熟基础:2048小游戏项目的实现与实战
上面为大家介绍的python知识非常零散,但是也非常重要,既然想要掌握python,就需要使用实际项目进行巩固和提升,当将项目实现之后,对应的能力也就自然掌握了。
如有侵权请联系小编删除哦!