11.15日完成day2-4

求最大公约数和最小公倍数

公倍数可以采用辗转相除法
高中数学好像学过但是忘了,寄>_<
具体原理就是从x,y中取最大值,然后大值对小值取余数,
如果余数不为0,则取除数为大值,余数为小值,
然后循环直到余数为0,此时算式中的小值为x,y的最大公约数

然后最小公倍数等于x*y/最大公约数

求三角形的面积

初中知识,但是也忘了。。。
三角形三边长分别为a,b,c
p = 1/2(a+b+c)*
*S = (p*(p-a)(p-b)(p-c)) *0.5

print中end的含义

print()中原本是以换行符作为结尾的,如果加入end就是自定义print的结尾
比如说

1
2
print('114',end = '')
print('514',end = '')

这样输出的结果就变成了114514了,原本的换行符消失了

11.18日完成day6

字符串中转义字符的使用

\n 表示换行
\t 表示制表符
' 表示输出’
\ 表示输出\

\后跟一个八进制或者十六进制表示字符

\141 \x61都表示小写字符a

\后跟一个Unicode字符编码来表示字符

\26106 \20180 表示文鑫

获取一个字符的unicode字符

ord(‘你的字符’)

将已知的unicode转化为字符

chr(2034)

如果希望/不表示转义,可在字符串前加r

1
s1 = r'\'hello,world\''

输出结果为
'hello,world'

11.19完成day9<类的进阶技巧>

类的property

通过property达到修改私有类的方法
可以将方法伪装为属性(即去掉方法的括号)

步骤一\

1
2
3
@property 
def age(self):
return self._age

步骤二

1
2
3
@age.setter
def age(self, age):
return self._age = age

__solts__魔法方法限制能够赋值的属性

1
2
3
4
# 如果要实现动态赋值可以加入__dict__
__solts__ = ("_name", "_hp")


类的继承和多态

类的继承

1
2
3
4
class Dog(Pet):
def __init__(self,age,name,grade):
super(age,name) #super()函数可以实现父类的初始化
self._grade = grade

类的多态

1
2
3
4
5
6
7
8
9
10
11
12
13
from abc import ABCMeta, abstractmethod
from random import randint, randrange

class Fighter(metaclass=ABCMeta):

# 无实际意义,专门有用来共子类修改达到多态的函数
@abstractmethod
def attack(self, other):
"""攻击

: param other: 被攻击的对象
"""
pass