zoukankan      html  css  js  c++  java
  • python 定义类 学习1

     此时的d1就是类Dog的实例化对象

    实例化,其实就是以Dog类为模版,在内存里开辟一块空间,存上数据,赋值成一个变量名
    # 定义类模板
    class dog(object):
    
    
    
        # 定义类的方法功能 
        # 说话功能 self 必须有
        def sayhi(self):
            print("helo")
    
    # 通过类 实例化对象
    d1 = dog("小涛")
    print(d1)
    
    # <__main__.dog object at 0x0000000001ECD208>
    
    # 通过对象 调用类里的方法
    d1.sayhi()
    
    # helo
    # 定义类模板
    class dog(object):
    
        # 定义类的 属性
        def __init__(self, name):
            # 相当于创建一个变量 NAME
            self.NAME = name
    
        # 定义类的 方法功能 
        # 说话功能 self 必须有
        def sayhi(self):
            print("helo")
    
    # 通过类 实例化对象
    d1 = dog("小涛")
    d2 = dog("小峰")
    print(d1)
    
    # <__main__.dog object at 0x0000000001ECD208>
    
    # 通过对象 调用类里的方法
    d1.sayhi()
    
    d2.sayhi()
    
    
    # helo

     这里类由 多个函数拼出来的 函数的特性局部变量也有

    有了self 就可以在函数之间的局部变量的调用  ,各种字符串格式化格式

    # 定义类模板
    class dog(object):
    
        # 定义类的属性
                    # d1
        def __init__(self, name):
            # 相当于创建一个变量 NAME
            self.NAME = name
    
            # D1.NAME =name
    
        # 定义类的方法功能
        # 说话功能 self 必须有
        def sayhi(self):
            print("helo, i m is {name}".format(name=self.NAME))
            print("helo, i m is {0}".format(self.NAME))
            print("helo, i m is %s" % self.NAME)
            print("helo, i m is", self.NAME )
    
    # 通过类 实例化对象 d1 d2
    d1 = dog("小涛")  # dog(d1, "小涛")  传参数
    d2 = dog("小峰")
    print(d1)
    
    # <__main__.dog object at 0x0000000001ECD208>
    
    # 通过对象 调用类里的方法
    d1.sayhi()
    
    d2.sayhi()
    
    
    # helo, i m is 小涛
    # helo, i m is 小峰

    没有实例化 打印类 证明创建类后 类已经存在内存里了

    # 定义类模板
    class dog(object):
    
        # 定义类的属性
                    # d1
        def __init__(self, name):
            # 相当于创建一个变量 NAME
            self.NAME = name
    
            # D1.NAME =name
    
        # 定义类的方法功能
        # 说话功能 self 必须有
        def sayhi(self):
            print("helo, i m is {name}".format(name=self.NAME))
            print("helo, i m is {0}".format(self.NAME))
            print("helo, i m is %s" % self.NAME)
            print("helo, i m is", self.NAME )
    
    # 通过类 实例化对象 d1 d2
    # d1 = dog("小涛")  # dog(d1, "小涛")  传参数
    # d2 = dog("小峰")
    # print(d1)
    #
    # # <__main__.dog object at 0x0000000001ECD208>
    #
    # # 通过对象 调用类里的方法
    # d1.sayhi()
    #
    # d2.sayhi()
    
    # helo, i m is 小涛
    # helo, i m is 小峰
    
    print(dog)
    
    # 执行结果
    <class '__main__.dog'>

    实例化后产生的对象 叫 实例 。  d1、d2就是实例 ,  self 就是实例

    __init__   就是构造函数 构造方法    函数是类的方法

    # 定义类模板
    class dog(object):
    
        # 定义类的属性
                    # d1
        # self 就是实例
        def __init__(self, name):  # 构造函数 构造方法==初始化方法
            # 相当于创建一个变量 NAME
            self.NAME = name
    
            # D1.NAME =name
    
        # 定义类的方法功能
        # 说话功能 self 必须有
        def sayhi(self):    # 类的方法
            print("helo, i m is {name}".format(name=self.NAME))
            print("helo, i m is {0}".format(self.NAME))
            print("helo, i m is %s" % self.NAME)
            print("helo, i m is", self.NAME)
    
    # 通过类 实例化对象 d1 d2
    d1 = dog("小涛")  # dog(d1, "小涛")  传参数
    d2 = dog("小峰")  # 实例化后产生的对象 叫 实例 d2就是实例
    
    # 定义类模板
    class dog(object):
    
        # 定义类的属性
                    # d1
        # self 就是实例
        def __init__(self, name):  # 构造函数 构造方法==初始化方法
            # 相当于创建一个变量 NAME
            self.NAME = name
    
            # D1.NAME =name
    
        # 定义类的方法功能
        # 说话功能 self 必须有
        def sayhi(self):    # 类的方法
            print("helo, i m is {name}".format(name=self.NAME))
    
    
        def eat(self,food):
            print("helo, my name is %s, i like eat %s" %(self.NAME,food))
    
    
    # 通过类 实例化对象 d1 d2
    d1 = dog("小涛")  # dog(d1, "小涛")  传参数
    d2 = dog("小峰")  # 实例化后产生的对象 叫 实例 d2就是实例
    
    d1.eat("苹果")  # helo, my name is 小涛, i like eat 苹果
    
    
    

  • 相关阅读:
    在SplendidCRM中添加用户控件
    SPendidCRM:给HK的ImageInfoEntryEditView增加一个checkbox,用于判断特殊类型的PODS记录
    html button 跳转ASP.NET页面跳转技术总结
    让<li>不显示超出内容,显示... (编程方法和CSS方法)
    SplendidCRM Popup.aspx的hyperlink字段配置的易错点
    asp.net 个别页面URL参数出现中文乱码的解决方法
    解决:工具箱里边没了Dev控件
    DevControlgridview的属性说明 (转)
    DevControlgridview的属性说明 (转)
    VM如何设置U盘启动
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/8393283.html
Copyright © 2011-2022 走看看