Python学习笔记
学习资料
点了百度排名最上面的廖雪峰的讲解,先看着。
菜鸟教程系列:Python 3 教程
Python官方文档:Python 3.7.1 documentation
工具
测试 HTTP 请求及响应:httpbin
语言基础
语言中的一些值得注意的特性。
除法
/
表示浮点数除法
//
表示整数除法
list的浅拷贝与深拷贝
Python中没有指针的概念,需要自己注意是否传入了一个共享的变量地址。如果直接将一个list传递给另一个变量,不管是通过赋值或者作为函数的参数,都是以地址的形式传递的。如果需要使用一个全新的list变量,需要使用拷贝函数:
# -*- coding: utf-8 -*-
import copy
list1 = [1, [2, ]]
# 只拷贝第一层
list2 = copy.copy(list1)
# 拷贝全部内容
list3 = copy.deepcopy(list1)
#
list1[1].append(3)
list1.append(4)
print(list1)
print(list2)
print(list3)
class
__new__与__init__方法
new负责创建一个对象,此时的传入参数为类属性(区别于实例属性)。
new方法需要返回一个实例,这个实例的init函数会被调用,而实例本身则成为self属性的值。
init函数才对应c++中的构造函数,该函数传入对象被创建时的初始化参数。
因此,在python中,类的init函数被调用与否取决于new函数。同时,我们也可以在new函数中修改实例的默认属性。
super函数
会按一定顺序调用所有基类的相应函数。
成员函数
成员函数的第一个参数必须是指向自身的self,这一点与c++自动添加this指针有所不同。