catalog
ipython3
在ipython3
里, 是可以使用 (命令)的!!!
像linux
命令, 可以直接使用, 比如: ls
而shell
命令, 需要加上!
, 即: !echo
py3语法
class类
class Foo:
a = int()
b = list()
//---
def __init__( _this): #< 构造函数
pass
a
是 (成员变量), 但是: b
是 (静态)的!!!
f0 = Foo()
(注意, Foo f0;
这种语法是错误的)
f1 = Foo()
所有Foo对象, 都是共用同一个b
的!!!
这个构造函数: def __init__( _this):
, 非常重要, 要牢记他的规范格式
虽然有个 _this
的参数, 但你调用它时, 不必考虑他;
即: f0 = Foo()
是创建一个对象
如果要有(参数): def __init__( _this, _param):
, 他对应的调用为: f0 = Foo( 123)
一般, 我们不会通过 这种(c++方式), 来声明 (成员变量); 而是通过以下的方式:
class Foo:
def __init__( _this):
_this.arr = list() #< 这个arr, 就是该对象的 (成员变量)
此时, 这个arr
, 是成员变量, 不是(静态变量)
而且, 类的(成员变量), 是非常非常 灵活的!!!
f0 = Foo()
(虽然, Foo类里, 我们只定义了一个arr
的成员变量)
但是, 你此时: f0.data = 123
; 这个f0
, 就多了一个 (成员变量)!!!
继承
class Foo( Bar):
def __init__( _this):
super().__init__()
arr = list()
记得调用 (父类的构造函数)
异常捕获
try:
4 / 0
except Exception as _e:
print( _e)
系统工具函数
全局函数
len()
长度
str()
类似于to_string
的功能
工具包
randint
from random import randint
randint( 0, 5) #< [0, 5]范围
import
a.b.c.d
, 他们 可能是 (目录), 也可能是(文件), 也可能是(文件里的某个函数)
引入外部文件
就类似于, c++的 include头文件
我们如何在当前文件里, 调用其他文件的 函数呢?
from dir import util
#< 当前目录下的 dir目录里, 有一个util.py文件, 相当于: #include "dir/util.py"
#< 本质做法类似于include: 把该文件里的文本 直接给copy过来
util.func() # 调用 util.py里的 func函