Python初学者详细笔认知笔记

首先编程语言有很多种,类别也比较多,和数学,外语都有很大联系,学编程外语三级以上水平更好一点。编程语言主要可以分为以下两种

编译型语言:通过编译器,统一编译,一次性执行,最终生成可执行文件(相对执行更快),也叫做静态语言,它和算法联系比较紧密。比如:c语言,c#,Java等。要想学好,精通它们,对算法和数学功底的要求就比较高。

解释型语言:逐行解释每一行代码,逐条编译,逐行执行(跨平台运行能力更强),在不同的操作系统上安装不同的解释器,相同源代码使用不同的解释器进行工作,也叫做脚本语言。比如:Python,PHP,JavaScript等。

接下来说一下Python的优缺点
优点:简单,易学,可读性强,开发速度快,面向对象,免费,开源,可扩展,具有丰富的库。
缺点:运行速度相对较慢,国内市场较小,中文资料匮乏(也可以理解为优点,不要能学好它,当然工资薪酬不是问题。)

Python特点:完全面向对象的语言(一切皆对象),拥有一个强大的标准库,Python社区提供了大量的第三方模块,Python3.0没有考虑向下的兼容。

Python变量:
1.不用事先声明变量,赋值过程中就包含了变量的声明和定义的过程
2.用"=" 赋值,左边是变量名,右边是变量值
3.使用前必须先被初始化(先被赋值)
4.可以通过del语句删除不再使用的变量
Python标识符:
1.区分大小写
2.第一个字符必须是字母或者下划线
3.不能使用关键字
4.以双划线开头或者结尾的名称通常有特殊意义,不建议使用
5.模块和包名 全小写,尽量简单
6.函数名全小写,多个单词用下划线隔开
7.类名首字母大小,采用驼峰命名法
8.常量名全大写,多个单词使用下划线隔开
Python关键字:![1.and , or

and , or 为逻辑关系用语,Python具有短路逻辑,False and 返回 False
不执行后面的语句, True or 直接返回True,不执行后面的语句
2.del
删除变量

而列表本身包含的是变量,

所以

3.from
from引用模块时会用到,例:

4.golbal
golbal为全局变量,但当单个函数中出现同一变量名时,在单个函数中为局部变量

5.with
with被用来处理异常

紧跟with后面的语句被求值后,返回对象的enter()方法被调用,这个方法的返回值将被赋值给as后面的变量,此处为file
当with后面的代码块全部被执行完后,将调用前面返回对象的exit()方法

实际上,在with后面的代码块抛出任何异常时,exit()方法被执行。

正如例子所示,异常抛出时,与之关联的type,value和stack trace传给exit()方法,

因此抛出的ZeroDivisionError异常被打印出来了。
开发库时,清理资源,关闭文件等等操作,都可以放在exit方法当中。

6.while, for…in…

均为循环语句,使用while时要注意成立条件,防止陷入死循环
for in 遍历

7.assert

断言,声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。
可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

8.pass
pass是空语句,为了保证程序结构的完整性,
pass不做任何事情,一般用作 占位语句
当你编写程序部分内容还没想好,可用pass语句占位

9.yield
yield的意思是生产,返回了一个生成器对象,每个生成器只能使用一次

一个带有 yield的函数就是一个generation,他和普通函数不同,生成一个generator看起来像函数调用,但不会执行任何函数代码,直到对其调用.next()(在 for 循环中会自动调用 next())才开始执行
虽然执行流程仍按函数的流程执行,但每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行。看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield 返回当前的迭代值。

send() 与next()

10.break 与 contiue
Python break语句用来终止循环,用在while和for循环中!!直接跳出 整个 循环
嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码

break是跳出整个循环,continue是跳出当前循环

11.try except finally

如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

12.raise

触发异常
raise [Exception[,args[,traceback]]]
语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。
该参数是可选的,如果不提供,异常的参数是”None”。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。

raise 触发异常后,后面的代码就不会再执行

die函数,打印错误信息

13.exec–eval–execfile
exec 用来执行储存在字符串或文件中的Python语句
exec是一条语句将字符串str当成有效的python代码来执行
eval与execfile是pytho内置函数
eval(str[globals[locals]])函数将字符串str当成有效的python表达式来求值,并提供返回计算值

execfile(filename)函数可以用来执行文件

from os.path import exists
exists(file)将文件名字符串作为参数,如果文件存在返回True,否则返回False

14.return
return 是函数返回值

15.lambda—filter—map—reduce—
lambda 只是一个表达式,定义了一个匿名函数,起到函数速写的作用
由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员,比如

map(function, sequence)
对sequence中的item 依次执行 function,将执行结果组成list返回
单个参数

多个参数,要求函数接受多个参数

reduce(function, sequence, starting_value)
对sequence中的item顺序迭代调用function,如果有starting_value,
还可以作为初始值调用,例如可以用来对List求和

在这里插入图片描述](https://img-blog.csdnimg.cn/20200307173746251.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjM2NzA5,size_16,color_FFFFFF,t_70)

你可能感兴趣的:(python)