-
class中定义类方法和实例方法不同的是,这里有两点需要特别注意:
类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法
类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。
查看全部 -
实例化
查看全部 -
内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
查看全部 -
with关键字对资源进行访问的场合,会确保不管在使用过程中是否发生异常,都会执行必要的“清理”的操作,释放资源,比如文件使用后自动关闭等等。
查看全部 -
如果没有定义__len__()方法的类使用len()函数获取长度时,将会引起异常。
查看全部 -
class Student()定义的时候,需要在括号内写明继承的类Person
在__init__()方法,需要调用super(Student, self).__init__(name, gender),来初始化从父类继承过来的属性
查看全部 -
类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法
类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。
因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。
查看全部 -
通过定义实例方法来操作私有属性的这种方法是推荐的,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度。
查看全部 -
私有属性是以双下划线'__'开头的属性。
查看全部 -
把count改为私有__count,这样实例变量在外部无法修改__count
查看全部 -
Python提供了简易的HTTP服务器,可以直接运行起来
启动一个HTTP服务器:python -m http.server
启动成功后,会输出以下信息:
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
提示HTTP服务器在本机8000端口运行,接着就可以在浏览器输入http://127.0.0.1:8000看到由这个服务器提供的网页。
这个HTTP服务器会把运行目录的所有文件列出来,并提供下载功能。
关闭:前台进程的话,直接执行 Ctrl+c进行关闭
后台运行:python -m http.server &(此时Ctrl+C不会关闭服务)
保持服务:nohup python -m http.server 8001
指定端口:python -m http.server 8001
nohup后台运行&关闭后台程序:
1.nohup python3 -u test.py >test.log 2>&1 &
2.回车
3.输入exit命令退出终端
4.关闭shell
注意:不能直接退出终端
其中,
1. 最后一个“&”表示后台运行程序
2. “nohup” 表示程序不被挂起
3. “python”表示执行python代码
4. “-u”表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
5. “test.py”表示python的源代码文件
6. “test.log”表示输出的日志文件
7. “>”表示将打印信息重定向到日志文件
8. “2>&1”表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)查看后台运行程序及关闭参考博文https://blog.csdn.net/u013123046/article/details/80610931
有两个命令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的任务,换了终端就看不到了。而ps命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程。
更多参考:https://blog.csdn.net/weixin_38723657/article/details/106502995
查看全部 -
list查看全部
-
class Person(object):
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
需要注意的是,__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。查看全部
举报