开始

默认情况下,python的源文件编码为UTF-8;
对于python文件的执行,可以在解释器中使用命令操作,也可以点击.py文件运行。
解释器,界面看到的可以理解为是命令窗口。作用就是对平台的命令解析处理。

运算符

有:+(加法)、-(减法)、/(除法)、//(取整数)、**(幂)、%(求余)、=(赋值)、==(等于)

注意

在交互模式,或notebook下,对于上一次没有赋值的运算式结果,将在下一次运算中,以“_”来代替。比如:

>>> price * tax
12.5625
>>> price + _     # 这里的"_"就等于上面的 :12.5625 = price * tax
113.0625
>>> round(_, 2) # 这里的"_"就等于上面的:113.0625 = price + _
113.06

数字类型

【这里可以补充各自区别以作区分判断,以便于后续的模块与方法的使用场景,对于他们之间的转换关系,在后续讲到的时候在这里进行补充】
1、int 整型:
2、float 浮点型:
3、decimal 小数型:
4、fraction 分数型:
5、j 复数型:

字符串

在其他语种中有:‘字符’ 与**”字符串“**的区分,在python3.7中,没有这两种区分,只有字符串,界定符号是单引号或者双引号,也就是说,作为单一的字符也被划分为字符串的定义范畴中。
不过当字符串中本身有界定符单引号或者双引号时,如果不做特别的处理,系统可能将其识别为字符串的边界,从而导致字符串的错误,这时,引入特殊功能符号:转义符(右斜杠) ”\“
同样在字符串中包含单引号时,引用就需要使用双引号,反之,字符串中包含双引号时,就需要使用单引号。如果一定要使用和字符串所包含的引号一致的界定符,需要对字符串中引号的左侧防止右斜杠。

>>> '"Yes," they said.'			#	单引号界定双引号
'"Yes," they said.'
>>> "\"Yes,\" they said."		#	双引号界定双引号
'"Yes," they said.'
>>> '"Isn\'t," they said.'		#	单引号界定单引号
'"Isn\'t," they said.'

在这样的情况下,就会带来另一个问题,那就是:在字符串中包含右斜杠,怎么办?
解决办法:在第一个引号之前添加“r”
作用:解读原始的字符串,转义无效化。

在字符串跨越多行时,使用"""…"""或者‘’‘…’‘’将内容分段
加法在字符串的使用就是字符串的拼接。而对于分段的内容也可以用…进行连接。
字符串可以索引,索引值可以缺省,第一个默认值为索引0,第二个索引为字符串长度。索引范围不能超过字符串长度。字符串是不可变性。不能对索引位置进行赋值。想要新的就自己新建一个再引入字符串的索引即可。

字符串.文本序列类型.str

综上所述:字符串可以用单引号、双引号、三重引号来界定
多个转义字符

字符串方法

方法由用途决定。
1、转换大小写:
2、字符居中:
3、字符统计:
4、字符编码方式:
5、字符查找索引检测:
6、字符串中的转义:
7、格式化套用格式:str.format()
8、字符串拼接:

格式化字符串

字符串前缀是f-string:将{}中替换相应的内容,有点类似字典的因键取值。

打印字符串

这里有相当多的东西,可能要用了才能记得住。

列表

列表有序,可以索引;类型可以相同,可以不同(不同元素,还可以嵌套);可变性,所以可以增减改
加法操作即为串联;

if…elif…else

多分支条件判断语句,条件可以不要加括号,条件后为冒号,判断后的执行语句需要缩进。注意条件完整性。

while

单分支条件判断语句,条件为真,即可执行内部缩进语句

for

循环语句,循环对象不一定是数字,可以是数据结构(列表、字典等等)。

range(num) & enumerate枚举

这是一个系列数字列表,默认0到num,前闭后开,也就是[0,num-1]或者[0,num),单纯的打印,是没有list的。所以,作为操作对象使用的时候,需要list(range(num)),而作为范围描述的时候,不需要list。

break

在循环语句中,完全跳出循环,不再循环,继续循环之后的操作。

continue

在循环语句中,仅仅跳出本次循环,继续下一个循环操作。

异常处理(这个,个人觉得比较重要)

异常处理就是对于异常需要做的操作,try和except成对(可以一try对一except,也可以一try对多except)。
1、首先执行try的子句,(缩进语句操作);
2、在try中没有发生异常的话,不管except,继续完成try;
3、在try中发生异常的话,跳进对应的异常名字的except中,执行;
4、在try中发生异常的话,所有的except中没有匹配的异常名字,将该情况告诉try,异常没有处理,执行就停止,并显示message。

try…except…else…finally
else可以捕获非异常状态并进入正常操作。
调试异常处理,可以使用raise。这是强制异常发生。

自定义的异常类都是命名为:***Error
finally是任何情况都会执行的。

【这里需要专门去学习,目前的知识点不清晰,使用与自定义方面还没有很深入的去写好。】

预定义清理

with open("myfile.txt") as f:
    for line in f:
        print(line, end="")

优于

for line in open("myfile.txt"):
    print(line, end="")

需要避免下面这样的使用方式

pass

语法需要,但是没有可以执行的操作,使用pass

定义函数

首先,注意定义函数的格式:def 函数名(传递输入参数)…(缩进内容)…return (返回输出结果)。
return没有的时候也会返回值 None。

函数的传递输入参数可以不必全部使用。
一个函数可以在定义中有多个return。
函数定义的时候,就已经预处理执行过一次,在次使用执行时,就不会在检查其他值,需要注意传入参数是具有可变性的数据类型。每次的结果可能有差异。

函数调用时,传递输入参数,类型和位置需要对应。

在传入参数中,一般的变量名称意味着单一的数据(某种数据类型,数据结构)
如果参数是为:变量名。这意味着是特定的数据(list、元组、字符串,数据结构)
如果参数是为: **变量名。这意味着是特定的数据(字典,数据结构)

解压参数列表

>>> list(range(3, 6))            # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> list(range(*args))            # call with arguments unpacked from a list
[3, 4, 5]

lambda表达式

两个数之和,一个参数输入,还有一个参数是在定义的时候给定,额,。。。研究下

文档字符串

没有用过

功能注释

没看懂

编码风格(照着copy,感觉不到用处)

1、使用4空格缩进,没有标签。
2、4个空格是小压痕(允许更大的嵌套深度)和大压痕(更容易阅读)之间的良好折衷。标签引入混淆,最好省略。
3、换行,使其不超过79个字符。
4、这有助于用户使用小型显示器,并且可以在较大的显示器上并排放置多个代码文件。
5、使用空行分隔函数和类,以及函数内的较大代码块。
6、如果可能,将评论放在他们自己的一行上。
7、使用docstrings。
8、在操作符周围和逗号后面使用空格,但不能直接在包围结构中使用:。a = f(1, 2) + g(3, 4)
9、一致地命名您的类和函数; 约定 CamelCase用于类和lower_case_with_underscores函数和方法。始终使用self第一个方法参数的名称(有关类和方法的更多信息,请参阅类的初步查看)。
10、如果您的代码旨在用于国际环境,请不要使用花哨的编码。Python的默认值,UTF-8甚至纯ASCII在任何情况下都能最好地工作。同样,如果只有最轻微的机会,说不同语言的人会阅读或维护代码,请不要在标识符中使用非ASCII字符