Python面向对象的学习

2019-07-19  本文已影响0人  雪之梦_8f14

思维导图


code


面向对象

calss 类名:
  def func1(self, arg1...):
    pass
    def __init__(self):
        print("this is __init__ function in subbird")
        super(subbird, self).__init__() # 也可以是  super().__init__()
class cat(animal):
    def __init__(self):
        super().__init__()
        print("__init__ in cat class")
    def eat(self):
        print("eat in cat")
        super().eat()
class subbird(bird2, bird):
    count = 0
    __num = 0
    def __init__(self):
        subbird.count += 1
        subbird.__num += 1
        print("this is __init__ function in subbird")
        super(subbird, self).__init__()

    def bark(self):
        print("bark in subbird")
        super(subbird, self).bark()

sub1 = subbird()
print(subbird.count)

print(subbird._subbird__num)

sub1.count = 100 #
print(sub1.count) # 100
print(subbird.count) # 2
  @classmethod
    def method1(cls):
        pass

静态方法

@staticmethod
    def method2():
        print("this is static method in people class")
        pass

单例模式

new 方法

  def __new__(cls, *args, **kwargs):
        if cls.instance is None:
            cls.instance = super().__new__(cls)
        return cls.instance

举例说明:

class singlepeople:
    instance = None
    init_flag = False

    def __init__(self):
        if not singlepeople.init_flag:
            singlepeople.init_flag = True
        else:
            return
        self.name = None
        pass
    
    def __new__(cls, *args, **kwargs):
        if cls.instance is None:
            cls.instance = super().__new__(cls)
        return cls.instance

---
from models.singlepeople import singlepeople

p = singlepeople()
print(p)
p.name = "smx"
print(p.name)

p2 = singlepeople()
# p2.name = "xyj"
print(p2)
print(p2.name)
print(p.name)

异常

目标

捕获异常

try:
    # 提示用户输入一个数字
    num = int(input("请输入数字:"))
except:
    print("请输入正确的数字")
try:
    # 尝试执行的代码
    pass
except 错误类型1:
    # 针对错误类型1,对应的代码处理
    pass
except 错误类型2:
    # 针对错误类型2,对应的代码处理
    pass
except (错误类型3, 错误类型4):
    # 针对错误类型3 和 4,对应的代码处理
    pass
except Exception as result:
    # 打印错误信息
    print(result)
else:
    # 没有异常才会执行的代码
    pass
finally:
    # 无论是否有异常,都会执行的代码
    print("无论是否有异常,都会执行的代码")
try:
    num = int(input("请输入整数:"))
    result = 8 / num
    print(result)
except ValueError:
    print("请输入正确的整数")
except ZeroDivisionError:
    print("除 0 错误")
except Exception as result:
    print("未知错误 %s" % result)
else:
    print("正常执行")
finally:
    print("执行完成,但是不保证正确")

抛出异常

 # 1> 创建异常对象 - 使用异常的错误信息字符串作为参数
    ex = Exception("密码长度不够")

    # 2> 抛出异常对象
    raise ex

模块和包

目标

模块

导入模块

import module
import module as md
from module import *

图片.png

发布模块

图片.png
图片.png
图片.png

文件

目标

文件读写

图片.png
图片.png
图片.png
图片.png
图片.png
图片.png

文件目录常用操作

图片.png

文件的编码格式

图片.png
图片.png

eval函数

图片.png

教程笔记图

image.png
上一篇 下一篇

猜你喜欢

热点阅读