文章目录
输入输出txt
特殊字符基本单位:list|tuple|dict|set|generator判断:if循环:for|while|break|continue|Iterable,iter,Iterator函数自定函数函数别名基本单位高阶函数:map|reduce|lambda|filter|sorted偏函数
方法编码解码传参切片:list|tuple|str
调试try except
类
输入输出
输入input
name
= input('请输入姓名')
输出print
print('任何你想打印到窗口的内容')
print('多串字符之间','可以用逗号连接','而逗号会转换为空格')
txt
f
= open(r
'Users/danzhao/test.txt','r')
f
.read
()
f
.close
()
with open(r
'Users/danzhao/test.txt','r') as f
:
f
.read
()
特殊字符
注释#
转义符\
I\'m OK
\\
\n
禁止转义r
print(r
'C:\Users\example.xlsx')
缩进即是语法
a
= 100
if a
>= 0:
print('非负数')
else:
print('负数')
格式化%
print('-' % 3)
print('d' % 3)
print('%.2f' % 3.1415)
print('%s' % 'a')
运算符
a
= 1 + 1
a
= 1 - 1
a
= 1 * 1
a
= 1 / 1
a
= 3 % 2
a
= 2 ** 2
赋值
a
,b
= c
,d
a
= b
c
= d
私有化_
def _private_1(name
):
return 'hello,%s' % name
def _private_2(name
):
return 'hi,%s' % name
def greeting(name
):
if len(name
) > 3:
return _private_1
(name
)
else:
return _private_2
(name
)
私域化变量__score
class student:
def __init__(self
,score
):
self
.__score
= score
特殊变量__score__
__author__
= 'Dan'
基本单位:list|tuple|dict|set|generator
list
alist
= ['1',2,'teststr']
增
alist
= []
alist
= list(range(10))
alist
.appned
('abc')
alist
.insert
(1,'xyz')
列表推导式list comprehensions
blist
= [x
* x
for x
in range(100)]
blist
= []
for x
in range(100):
a
= x
* x
blist
.append
(a
)
clist
= [x
* x
for x
in range(100) if x
% 2 == 0]
clist
= []
for x
in range(100):
if x
% 2 == 0:
a
= x
* x
clist
.append
(a
)
clist
= [x
if x
% 2 == 0 else -x
for x
in range(100)]
clist
= []
for x
in range(100):
if x
% 2 == 0:
clist
.append
(x
)
else:
clist
.append
(-x
)
dlist
= [m
+ n
for x
in 'abc' for y
in 'xyz']
dlist
= []
for m
in 'abc':
for n
in 'xyz':
r
= m
+ n
dlist
.append
(r
)
elist
= ['%s=%s' % (k
,v
) for k
,v
in d
.items
()]
删
alist
.pop
()
alist
.pop
(1)
查
len(alist
)
alist
[0]
alist
[1]
alist
[-1]
alist
[-2]
改
alist
[1] = 'what'
tuple
atuple
= ('123',2,'exstr')
增
atuple
= ()
atuple
= (1,)
删:不能删 查:与List一样 改
atuple
= ('1','2',['3','4'])
atuple
[1] = 'abc'
atuple
[2][0] = '5'
dict 增
d
= {}
d
= {'mj':95,'bob':79,'jack':100}
d
['rose'] = 61
删
d
.pop
('rose')
查
d
['mj']
d
['jason']
'jason' in d
d
.get
('jason')
d
.get
('jason','no')
改
d
['mj']=59
set 增
s
= set([1,2,3])
s
= set([1,2,2,3])
s
.add
(4)
删
s
.remove
(4)
查 改 运算
s1
= ([1,2,3])
s2
= ([2,3,4])
s1
& s2
s1
| s2
generator 生成器:生成元素然后一个个释放(一边循环一遍计算) 增
g
= (x
* x
for x
in range(10))
g
= iter([1,2,3,4])
删 查
next(g
)
for n
in g
:
print(n
)
def fib(max):
n
,a
,b
= 0,0,1
while n
< max:
yield b
a
,b
= b
,a
+b
n
+= 1
return 'Done'
改
判断:if
age
= 18
if age
> 18:
print('成年了')
elif age
> 14:
print('法定')
else:
print('未成年')
循环:for|while|break|continue|Iterable,iter,Iterator
for
names
= ['Jack','Rose','Little']
for name
in names
:
print(name
)
list,tuple,字符循环
for a
in alist
:
print(a
)
for a
in atuple
:
print(a
)
for a
in astr
:
print(a
)
alstp
= [(1,2),(2,4),(3,9)]
for a
,b
in alstp
:
print(a
,b
)
dict循环
d
= {'a':1,'b':2}
key循环
for k
in d
:
print(k
)
value循环
for v
in d
.values
():
print(v
)
key-value循环
for k
,b
in d
.items
():
print('key:%s' % k
)
print('value:%s' % v
)
for k
in d
:
print('key:%s' % k
)
print('value:%s' % d
[k
])
下标循环 下标和内容一起循环
alist
= ['jack','rose','green']
for index
,value
in alist
:
print(index
,value
)
for i
in range(len(alist
)):
print(i
,alist
[i
])
while
sum = 0
n
= 99
while n
> 0:
sum += n
n
-= 2
print(sum)
break 中断循环
names
= ['Jack','Rose','Little']
for name
in names
:
if name
= 'Rose':
break
else:
print(name
)
x
= 0
while x
< 99:
if x
> 50:
break
else:
x
+= 1
continue 跳过此次循环,进入下一次循环
n
= 0
while n
< 10:
n
+= 1
if n
% 2 == 0:
continue
print(n
)
Iterable,iter,IteratorIterrable : 可循环的
from collectioins
.abc
import Iterable
isinstance([],Iterable
)
isinstance((1,),Iterable
)
isinstance({},Iterable
)
isinstance('abc',Iterable
)
isinstance((x
for x
in range(10)),Iterable
)
isinstance(100,Iterable
)
Iterator : 迭代器 可以被next()函数调用的
from collections
.abc
import Iterator
isinstance([],Iterator
)
isinstance((1,),Iterator
)
isinstance({},Iterator
)
isinstance('abc',Iterator
)
isinstance((x
for x
in range(10)),Iterator
)
isinstance(123,Interator
)
iter : 迭代器化 这是一个函数,用来将循环对象变成迭代器
isinstance(iter([]),Iterator
)
isinstance(iter((1,),Iterator
)
isinstance(iter({}),Iterator
)
isinstance(iter('abc',Iterator
)
isinstance((x
for x
in range(10)),Iterator
)
isinstance(iter(123),Iterator
)
函数
自定函数
def my_abs(x
):
if x
>= 0:
return x
else:
return -x
from abstest
import my_abs
import math
def move(x
,y
,step
,angle
=0):
nx
= x
+ step
* math
.cos
(angle
)
ny
= y
- step
* math
.sin
(angle
)
return nx
,ny
x
,y
= move
(100,100,60,math
.pi
/6)
z
= move
(100,100,60,math
.pk
/6)
函数参数位置参数
def power(x
):
return x
* x
默认参数
必须参数在前,默认参数在后默认参数必须指向不变对象(最好不是list)
def power(x
,n
=2):
s
= 1
while n
> 0:
n
= n
- 1
s
= s
* x
return s
可变参数 星号* 参数会被组装成一个tuple,参数数量可以为0
def calc(*numbers
):
sum = 0
for i
in numbers
:
sum = sum + n
* n
return sum
calc
(1,2,3,4)
num
= [1,2,3]
calc
(*num
)
关键字参数 双星号** 可选参数,这部分的输入会被打包成字典
def person(name
,age
,**kw
):
print('name':name
,'age':age
,'other':kw
)
person
('jack',18)
person
('jack',18,city
='beijing')
person
('jack',18,city
='beijing',job
='bi')
extra
= {'city':'beijing','jon':'bi'}
person
('jack',18,**extra
)
命名关键字参数 星号*,但是是作为分隔符,*后面的参数必须写参数名,也必须传入
def person(name
,age
,*,city
,job
):
print(name
,age
,city
,job
)
person
('jack',18,city
='beijing',job
='bi')
def person(name
,age
,*,city
='beijing',job
):
print(name
,age
,city
,job
)
person
('jack',18,job
='bi')
参数优先级
必选参数>默认参数>可变参数>命名关键字参数>关键字参数
def f1(a
,b
,c
=0,*args
,**kw
):
print('必选参数':a
,'必选参数':b
,'默认参数':c
,'可变参数':args
,'关键字参数':kw
)
f1
(1,2)
f1
(1,2,3)
f1
(1,2,3,'a','b')
f1
(1,2,3,'a','b',x
=99)
args
=(1,2,3,4)
kw
= {'d':99,'x':'#'}
f1
(*args
,**kw
)
def f2(a
,b
,c
=0,*,d
,**kw
):
print(a
,b
,c
,d
,kw
)
f2
(1,2,d
=99,kw
={'ext':None})
args
=(1,2,3)
kw
= ('d':88,'x':'#'}
f2
(*args
,**kw
)
函数别名
b
= abs(-20)
a
= abs
c
= a
(-20)
基本单位
range
一般用来循环
for x
in range(5):
sum += x
用来生成List
alist
= list(range(5))
数据类型转换
int('123')
float('12.34')
str(1.23)
bool
类型判断
isinstance(x
,(int,float))
from collections
import Iterable
isinstance(x
,Iterable
)
type(x
)
if type(x
) == int or type(x
) == float:
print('y')
编码解码
ord('A')
chr(65)
len('abc')
高阶函数:map|reduce|lambda|filter|sorted
函数嵌套
map 逐个遍历
def f(x
):
return x
* x
r
= map(f
,[1,2,3,4,5,6])
>>> [1,4,9,16,25,36]
reduce 累计遍历
from functolls
import reduce
def f(x
):
return x
* x
r
= reduce(f
,[1,2,3,4,5,6])
>>>
lambda 匿名函数,或者理解为不需要写函数名不需要写return的函数,快速函数等等
r
= map(lambda x
:x
*x
,[1,2,3,4,5,6]
from functools
import reduce
r
= reduce(lambda x
:x
*x
,[1,2,3,4,5,6])
filter 过滤掉对象中不符合的,剩下符合的
def f(x
):
return x
% 2 == 1
list(filter(f
,[1,2,3,4])
>>> [1,3]
sorted 排序函数
sorted([1,-2,3,-4])
>>> [-4,-2,1,3]
sorted([1,-2,3,-4],reverse
=True)
>>> [3,1,-2,-4]
sorted([1,-2,3,-4],keys
=abs)
>>> [1,-2,3,-4]
偏函数
快速修改函数的默认参数
def int2(x
,base
=2):
return int(x
,base
)
import functools
int2
= functools
.partial
(int,base
=2)
方法
编码解码
'abc'.encode
('ascii')
b
'abc'.decode
('ascii')
传参
'这是一串{0},它写于凌晨{1}点'.format('测试文字',2)
切片:list|tuple|str
list 从一个单位中提取部分
alist
= ['jack','rose','green']
alist
[0:2]
alist
[:2]
alist
[-2:-1]
alist
[-2]
alist
[-2:]
alist
= list(range(100))
alist
[0]
alist
[-1]
alist
[:10]
alist
[0:10]
alist
[-10:]
alist
[-10:-1]
alist
[10:20]
alist
[:10:2]
alist
[0:10:2]
alist
[:]
alist
[:5]
alist
[::5]
tuple
t
= (0,1,2,3,4,5)
t
[:3]
str
s
= 'abcdefg'
s
[:3]
s
[::2]
调试
try except
try:
a
()
except:
b
()
else:
c
()
finally:
d
()
#mermaid-svg-26yfq4GuzYCKYwRr .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-26yfq4GuzYCKYwRr .label text{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .node rect,#mermaid-svg-26yfq4GuzYCKYwRr .node circle,#mermaid-svg-26yfq4GuzYCKYwRr .node ellipse,#mermaid-svg-26yfq4GuzYCKYwRr .node polygon,#mermaid-svg-26yfq4GuzYCKYwRr .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-26yfq4GuzYCKYwRr .node .label{text-align:center;fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .node.clickable{cursor:pointer}#mermaid-svg-26yfq4GuzYCKYwRr .arrowheadPath{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-26yfq4GuzYCKYwRr .flowchart-link{stroke:#333;fill:none}#mermaid-svg-26yfq4GuzYCKYwRr .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-26yfq4GuzYCKYwRr .edgeLabel rect{opacity:0.9}#mermaid-svg-26yfq4GuzYCKYwRr .edgeLabel span{color:#333}#mermaid-svg-26yfq4GuzYCKYwRr .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-26yfq4GuzYCKYwRr .cluster text{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-26yfq4GuzYCKYwRr .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-26yfq4GuzYCKYwRr text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-26yfq4GuzYCKYwRr .actor-line{stroke:grey}#mermaid-svg-26yfq4GuzYCKYwRr .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-26yfq4GuzYCKYwRr .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-26yfq4GuzYCKYwRr #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-26yfq4GuzYCKYwRr .sequenceNumber{fill:#fff}#mermaid-svg-26yfq4GuzYCKYwRr #sequencenumber{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr #crosshead path{fill:#333;stroke:#333}#mermaid-svg-26yfq4GuzYCKYwRr .messageText{fill:#333;stroke:#333}#mermaid-svg-26yfq4GuzYCKYwRr .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-26yfq4GuzYCKYwRr .labelText,#mermaid-svg-26yfq4GuzYCKYwRr .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-26yfq4GuzYCKYwRr .loopText,#mermaid-svg-26yfq4GuzYCKYwRr .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-26yfq4GuzYCKYwRr .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-26yfq4GuzYCKYwRr .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-26yfq4GuzYCKYwRr .noteText,#mermaid-svg-26yfq4GuzYCKYwRr .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-26yfq4GuzYCKYwRr .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-26yfq4GuzYCKYwRr .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-26yfq4GuzYCKYwRr .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-26yfq4GuzYCKYwRr .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .section{stroke:none;opacity:0.2}#mermaid-svg-26yfq4GuzYCKYwRr .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-26yfq4GuzYCKYwRr .section2{fill:#fff400}#mermaid-svg-26yfq4GuzYCKYwRr .section1,#mermaid-svg-26yfq4GuzYCKYwRr .section3{fill:#fff;opacity:0.2}#mermaid-svg-26yfq4GuzYCKYwRr .sectionTitle0{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .sectionTitle1{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .sectionTitle2{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .sectionTitle3{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-26yfq4GuzYCKYwRr .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .grid path{stroke-width:0}#mermaid-svg-26yfq4GuzYCKYwRr .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-26yfq4GuzYCKYwRr .task{stroke-width:2}#mermaid-svg-26yfq4GuzYCKYwRr .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .taskText:not([font-size]){font-size:11px}#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-26yfq4GuzYCKYwRr .task.clickable{cursor:pointer}#mermaid-svg-26yfq4GuzYCKYwRr .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-26yfq4GuzYCKYwRr .taskText0,#mermaid-svg-26yfq4GuzYCKYwRr .taskText1,#mermaid-svg-26yfq4GuzYCKYwRr .taskText2,#mermaid-svg-26yfq4GuzYCKYwRr .taskText3{fill:#fff}#mermaid-svg-26yfq4GuzYCKYwRr .task0,#mermaid-svg-26yfq4GuzYCKYwRr .task1,#mermaid-svg-26yfq4GuzYCKYwRr .task2,#mermaid-svg-26yfq4GuzYCKYwRr .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutside0,#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutside2{fill:#000}#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutside1,#mermaid-svg-26yfq4GuzYCKYwRr .taskTextOutside3{fill:#000}#mermaid-svg-26yfq4GuzYCKYwRr .active0,#mermaid-svg-26yfq4GuzYCKYwRr .active1,#mermaid-svg-26yfq4GuzYCKYwRr .active2,#mermaid-svg-26yfq4GuzYCKYwRr .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-26yfq4GuzYCKYwRr .activeText0,#mermaid-svg-26yfq4GuzYCKYwRr .activeText1,#mermaid-svg-26yfq4GuzYCKYwRr .activeText2,#mermaid-svg-26yfq4GuzYCKYwRr .activeText3{fill:#000 !important}#mermaid-svg-26yfq4GuzYCKYwRr .done0,#mermaid-svg-26yfq4GuzYCKYwRr .done1,#mermaid-svg-26yfq4GuzYCKYwRr .done2,#mermaid-svg-26yfq4GuzYCKYwRr .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-26yfq4GuzYCKYwRr .doneText0,#mermaid-svg-26yfq4GuzYCKYwRr .doneText1,#mermaid-svg-26yfq4GuzYCKYwRr .doneText2,#mermaid-svg-26yfq4GuzYCKYwRr .doneText3{fill:#000 !important}#mermaid-svg-26yfq4GuzYCKYwRr .crit0,#mermaid-svg-26yfq4GuzYCKYwRr .crit1,#mermaid-svg-26yfq4GuzYCKYwRr .crit2,#mermaid-svg-26yfq4GuzYCKYwRr .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-26yfq4GuzYCKYwRr .activeCrit0,#mermaid-svg-26yfq4GuzYCKYwRr .activeCrit1,#mermaid-svg-26yfq4GuzYCKYwRr .activeCrit2,#mermaid-svg-26yfq4GuzYCKYwRr .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-26yfq4GuzYCKYwRr .doneCrit0,#mermaid-svg-26yfq4GuzYCKYwRr .doneCrit1,#mermaid-svg-26yfq4GuzYCKYwRr .doneCrit2,#mermaid-svg-26yfq4GuzYCKYwRr .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-26yfq4GuzYCKYwRr .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-26yfq4GuzYCKYwRr .milestoneText{font-style:italic}#mermaid-svg-26yfq4GuzYCKYwRr .doneCritText0,#mermaid-svg-26yfq4GuzYCKYwRr .doneCritText1,#mermaid-svg-26yfq4GuzYCKYwRr .doneCritText2,#mermaid-svg-26yfq4GuzYCKYwRr .doneCritText3{fill:#000 !important}#mermaid-svg-26yfq4GuzYCKYwRr .activeCritText0,#mermaid-svg-26yfq4GuzYCKYwRr .activeCritText1,#mermaid-svg-26yfq4GuzYCKYwRr .activeCritText2,#mermaid-svg-26yfq4GuzYCKYwRr .activeCritText3{fill:#000 !important}#mermaid-svg-26yfq4GuzYCKYwRr .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-26yfq4GuzYCKYwRr g.classGroup text .title{font-weight:bolder}#mermaid-svg-26yfq4GuzYCKYwRr g.clickable{cursor:pointer}#mermaid-svg-26yfq4GuzYCKYwRr g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-26yfq4GuzYCKYwRr g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-26yfq4GuzYCKYwRr .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-26yfq4GuzYCKYwRr .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-26yfq4GuzYCKYwRr .dashed-line{stroke-dasharray:3}#mermaid-svg-26yfq4GuzYCKYwRr #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr .commit-id,#mermaid-svg-26yfq4GuzYCKYwRr .commit-msg,#mermaid-svg-26yfq4GuzYCKYwRr .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-26yfq4GuzYCKYwRr g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-26yfq4GuzYCKYwRr g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-26yfq4GuzYCKYwRr g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-26yfq4GuzYCKYwRr .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-26yfq4GuzYCKYwRr .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-26yfq4GuzYCKYwRr .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-26yfq4GuzYCKYwRr .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-26yfq4GuzYCKYwRr .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-26yfq4GuzYCKYwRr .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-26yfq4GuzYCKYwRr .edgeLabel text{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-26yfq4GuzYCKYwRr .node circle.state-start{fill:black;stroke:black}#mermaid-svg-26yfq4GuzYCKYwRr .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-26yfq4GuzYCKYwRr #statediagram-barbEnd{fill:#9370db}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-state .divider{stroke:#9370db}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-26yfq4GuzYCKYwRr .note-edge{stroke-dasharray:5}#mermaid-svg-26yfq4GuzYCKYwRr .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-26yfq4GuzYCKYwRr .error-icon{fill:#522}#mermaid-svg-26yfq4GuzYCKYwRr .error-text{fill:#522;stroke:#522}#mermaid-svg-26yfq4GuzYCKYwRr .edge-thickness-normal{stroke-width:2px}#mermaid-svg-26yfq4GuzYCKYwRr .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-26yfq4GuzYCKYwRr .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-26yfq4GuzYCKYwRr .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-26yfq4GuzYCKYwRr .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-26yfq4GuzYCKYwRr .marker{fill:#333}#mermaid-svg-26yfq4GuzYCKYwRr .marker.cross{stroke:#333}
:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}
#mermaid-svg-26yfq4GuzYCKYwRr {
color: rgba(0, 0, 0, 0.74902);
font: normal normal normal normal 16px/26px -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
}
成功执行
指定错误
非指定错误
开始
try
finally
except ValueError
else
类
创建类
class student:
pass
class mid_student(student
):
pass
jack
= student
()
创建类属性
class student:
def __init__(self
,name
,score
):
self
.name
= name
self
.score
= score
jack
= student
('Jack','99')
jack
.name
创建类方法
class student:
def __init__(self
,name
,score
):
self
.name
= name
self
.score
= score
def print_score(self
):
print('%s:%s' % (self
.name
,self
.score
))
jack
= student
('Jack','99')
jack
.print_score
()
私有化变量
class student:
def __init__(self
,name
,score
):
self
.__name
= name
self
.__score
= score
def print_score(self
):
print('%s:%s' % (self
.__name
,self
.__score
))
子类:类的类
class animal:
def run():
print('Animal is running')
class dog(animal
):
def eat():
print('Dog eats meat')
d
= dog
()
d
.run
()
class cat(animal
):
def run():
print('cat is running')
c
= cat
()
c
.run
()
class mammal(animal
):
pass
class flyable(animal
):
pass
class bird(mammal
,flyable
):
pass