此时的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 苹果

python 定义类 学习1的更多相关文章

  1. python 定义类 学习2

    构造函数的变量 也叫做 实例变量 class role(): # 传参数 def __init__(self,name,role,weapon,life_value=100,moneny=15000) ...

  2. python定义类()中写object和不写的区别

    这里需要说明一下: python3中,类定义默认继承object,所以写不写没有区别 但在python2中,并不是这样 所以此内容是针对python2的,当然python3默认继承,不代表我们就傻乎乎 ...

  3. python 定义类 简单使用

    在test.py文件里面 #coding=utf-8 #类的定义 class user: #定义私有属性 __name = '' __age = 0 #定义基本属性 sex = '' #定义构造函数 ...

  4. Python用类实现串以及对串的方法进行单元测试

    串是一种常见的数据结构,这里使用Python定义类来实现相应的方法.先看代码,再对相关知识进行讲解. # coding=utf-8 __all__=['ADTString'] class ADTStr ...

  5. 第15.26节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QListWidget详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 列表部件(List Widget)对应类QListWidget,是从QListView派生 ...

  6. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  7. python之定义类创建实例

    https://www.cnblogs.com/evablogs/p/6688938.html 类的定义 在Python中,类通过class关键字定义,类名以大写字母开头 1 2 >>&g ...

  8. 洗礼灵魂,修炼python(47)--巩固篇—定义类的方法之@classmethod,@staticmethod

    定义类的方法,相信你会说,不就是在class语句下使用def () 就是定义类的方法了嘛,是的,这是定义的方法的一种,而且是最普通的方式 首先,我们已经知道有两种方式: 1.普通方法: 1)与类无关的 ...

  9. 【python】python中的定义类属性和对像属性

    python中变量是没有类型的可以绑定任意类型,但是在语法上不能声明变量. 那我们怎麽来声名一个变量呢? f=None 这样我们给着个变量绑定了以各None类型,我们随时可用重新绑定其它类型.这样我们 ...

随机推荐

  1. 阿里云ACE下的PHP开发环境搭建

    阿里云ACE下的PHP开发环境搭建 本系列文章由ex_net(张建波)编写.转载请注明出处. http://blog.csdn.net/ex_net/article/details/23999053 ...

  2. 加L“”

    error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型 初学.net,编写如下代码运行,竟然提示错误(error C2665: “AfxMessageBo ...

  3. [转]wcout输出中文却不显示出来

    准备使用UNICODE来写个控制台测试程序发现,cout无法输出UNICODE的中文字符.查找C++标准看到,其提供了wcin.wcout.wcerr.wclog用于处理wchar_t字符的输入输出. ...

  4. NodeJS-002-Expres启动

    1.打开app.js文件 2.在module.exports = app;之前输入: app.listen(8100,function(){ console.log("Server Star ...

  5. laravel 使用验证码

    1)php.ini需要开两个扩展 extension=php_fileinfo.dllextension=php_gd2.dll 2)使用composer安装类包 composer require m ...

  6. C语言简介(转自菜鸟教程)

    C 简介 C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的.C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现. 在 1978 ...

  7. 当inline-block或者float失效的时候怎么弄

    当我们想要元素水平排列的时候,inline-block或者float是最好的选择了,但是当父元素的宽高都设置了的时候,子元素会失效,如下: 代码: <!DOCTYPE html> < ...

  8. COM组件技术名称解释

    GUID:全局唯一标识. CLSID 或 ProgID :唯一地表示一个组件服务程序,那么根据这些ID,就可以加载运行组件,并为客户端程序提供服务了. IID :唯一的表示接口ID. COM 组件是运 ...

  9. mount: block device /dev/cdrom is write-protected, mounting read-only 解决方法

    [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ mount: block device /dev/sr0 is write-protected, mo ...

  10. 演示PostgreSQL的详细安装及配置图解

    右击文件选择以管理员身份运行 2 开始执行程序的安装 3 设置安装目录 4 设置数据的保存目录 5 设置数据库管理员密码,请牢记此密码. 6 设置端口号,选择默认的端口号即可 7 根据自己选择设置地区 ...