我读的有关python教学的第一本书
- remove()函数只能删除一个元素,且是此列表中此元素的第一个匹配项,不可提供索引,可提供变量名
- del 并非函数操作,且只能通过索引删除
- pop()可给索引,不给索引默认最后一个
- sort()会自动按字母表顺序和数字大小排列列表,且不会创建新列表
- 若要保留原列表(或其他事物)需建立副本进行操作,不可直接连续赋新变量名,因为这只是在原事物上加了多个标签。
- append()是向列表中加入新的元素(即括号内的事物),而extend()的实质是合并两个列表
- 逗号强制不换行已经失效,须使用end(“”)来实现
- 注意理解函数中引入参数的实质,可理解为括号内的为空变量(占位),当调用时必须赋予一定值,否则将引发逻辑错误。且在调用时可输入一个新变量名,但也必须有实际值
- 函数内变量(即在用def命令创建函数时,括号内引入的参数)无法在全局使用,或者说在全局内不存在。只能随着函数的调用被使用。而且经过尝试,即便在最后强行使用return返回参数变量,也只会返回其所含的信息,使用print打印时,依然会显示错误,这就代表着,此变量依然然不在全局中存在。但是可以反过来,全局变量允许在函数内使用(进行打印等等操作),但是前提是,此变量必须在调用函数前已经被定义,须为实参不能是形参。若此全局变量在函数被改变,那么它将成为一个新的局部变量,不再是全局变量,,但原先那个全局变量依然存在,二者是不同的内存块。(同名不同值)
- 对某个东西初始化,就是指把某个东西设置为我们希望的状态,以备后续使用。
- 类名总以大写字母开头,这只是一个约定,最好遵循。
- 在使用print打印两组引号包裹的字符时,若以逗号连接,则中间会自动空格隔开,若以+相连,则会无缝衔接。
- 数据隐藏,是指只能通过方法(函数等)来访问获取或修改属性数据,而不能直接访问修改,就像不能直接跨入后台来操作。
- 多态:定义对象(类)时,对不同的类,允许有多个同名的操作方法(函数),实质上可以理解为函数的多种态。
继承:创建类时,可以有主类及其派生类(子类),一般情况下可以引用其方法和属性,主类拥有的属性设置可以是子类都拥有的属性设置,然后在子类下,再设置其各自不同的特色属性。(这种继承方法可以大大减少代码,不用每个类都打一遍代码,并且有一定的归类性,整洁方便。) - 两个对齐的if语句,无论前一个是true还是false,都会进行后一个,属于多条件判断。一个if与一个(或多个)elif对齐,只会进行到第一个true的判断就停止。
- Python中调用其他模块中的函数时,即便开头使用import引入,在后续调用时,也要具体指出其所在的模块,使用点记法(模块.函数())。如果用from,可以直接引入具体函数,且直接就把此函数引入了此局部命名空间(from 模块 import 函数),若要引入整个模块,则import后加*(星号),则全部都被引入,实质上可理解为是把此模块融合入进来了。但引入后若有同名的函数或变量出现,就会引发错误,慎用!
如图所示。 - random.randint(x,y)得到随机整数(需要为其提供一个参数范围)。random.random()得到一个小于一的随机小数,若要扩大范围,可在其后乘以不同的数(若想要0到10之间,则乘10)
- 引用多个模块时,中间用逗号隔开即可。
- 使用open()打开文件进行操作后,建议立刻close(),如果一直保持开启状态,那么接下来再使用时就会无法打开文件。这样的事常出现,就好像当一个文件处于打开状态时你无法把它放入回收站。而且对一个文件进行修改后,使用close(),才能对其进行保存。养成好习惯最重要。
- 除了write(),print()函数也可用来写入文件,语法区别如下:
my_file.write(“xxx”) print(“xxxxxx”,file=my_file),用print写入会自动结尾时换行(\n)