zoukankan      html  css  js  c++  java
  • Python第一阶段06

    1.面向对象编程:

    class Dog:
    
        def __init__(self, name):
            self.name = name
    
        def bulk(self):
            print("%s 汪汪汪。。。"%self.name)
    
    d1 = Dog("aaa")
    d2 = Dog("bbb")
    d3 = Dog("ccc")
    
    d1.bulk()
    d2.bulk()
    d3.bulk()

    2.实例变量和类变量

    类变量:大家共用的属性,节省开销;

    析构函数:

    3.继承:

    class People():
        def __init__(self,name):
            self.name = name
    
        def talk(self):
            print("talk...")
    
        def eat(self):
            print("eat...")
    
    class Man(People):
        def drink(self):
            print("drink...")
    
    m1 = Man("sisi")
    m1.drink()

    4.多态:

    一种接口,多种实现;

    # Author:SiSi
    
    class Animal():
    
        def __init__(self, name):
            self.name = name
    
        def talk(self):
            print("talk...")
    
        def animal_talk(obj):
            obj.talk()
    
    class Dog(Animal):
        def talk(self):
            print("wangwang...")
    
    class Cat(Animal):
        def talk(self):
            print("miaomiao...")
    
    
    d = Dog("aaa")
    # d.talk()
    
    d1 = Cat("bbb")
    # d1.talk()
    
    a = Animal("sisi")
    Animal.animal_talk(d)
    Animal.animal_talk(d1)

    5.静态方法,类方法,属性方法:

    静态方法只是名义上归类管,实际上在静态方法里访问不了类和实例中的任何属性和方法;

    类方法只能访问类变量,不能访问实例变量;

    属性方法:

    # Author:SiSi
    
    class Dog(object):
        def __init__(self, name):
            self.name = name
    
        @staticmethod    # 实际上和类没什么关系了
        def eat(self):
            print("%s is eating..."%(self.name))
    
        @classmethod
        def drink(self):
            print("我说类方法")
    
        @property
        def log(self):
            print("我是属性方法。。。")
    
        @eat.setter
        def log(self, food):
            print("log:",food)
    
        @eat.deleter
        def log(self):
            # del self._food
            print("删完了。。。")
            
    d = Dog("sisi")
    # Dog.eat()
    d.eat(d)

    6.反射详解:

    7.异常处理:

    names = ['aaa', 'bbb']
    data = {}
    
    try:
        names[3]
        data['name']
    
    except {KeyError, IndexError} as e:
        print("没有这个key",e)
    except IndexError as e:
        print("列表操作错误",e)
    
    except Exception as e:
        print("未知错误",e)
    
    else:
        print("一切正常")
        
    finally:
        print("不管有错没错,我都执行")

    8.Socket通信:

  • 相关阅读:
    IIs和ftp
    java中HashMap重要性质和优化总结
    深入理解mysql的left join(真的很深入)
    windows bat批处理语法简析
    遍历hashMap的两种方式
    Java开发实践 集合框架 全面分析
    MySQL中日期与时间类型
    CentOS6.5下Redis安装与配置
    查看redis进程
    Web阶段:第七章:Tomcat服务器
  • 原文地址:https://www.cnblogs.com/pengsi/p/8734462.html
Copyright © 2011-2022 走看看