此时的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. linux 删除文件夹及其内容,显示文件路径

    比如要删除work文件夹包括里面的内容,则:rm -r /home/ftk/apache-tomcat-5.5.20/work,不管它是文件还是目录都删掉了 知道文件名 要查询文件大概地址用~cd ~ ...

  2. jdbcType 与 Java type

    JDBC Type           Java Type CHAR                String VARCHAR             String LONGVARCHAR      ...

  3. 详解MathType引用公式编号功能

    在论文创作期间,如果需要在文本中删除大量的公式,手动编号删除的工作量是比较大的,使用MathType引用公式编号功能就可以节约大量的时间,提供很大的方便.本教程将详解MathType引用公式编号功能. ...

  4. Visual Studio各版本一览!

    上图红线标识处为常用版本,最经典的是VC++ 6.0,专为早期C++开发设计.红框标识处是其内部版本,如VS2008,其内部版本为vc9.0,注意查找区分! 目前,最新版本的VS2017已经发布,很大 ...

  5. linux中,查看某个命令是来自哪个RPM包或者是通过哪个RPM包安装的

    需求描述: 今天在测试ssh命令到底是哪个RPM包,安装之后生成的,找了一些文档 在这里进行记录下,主要是rpm -qf命令的使用,查询文件在哪个包里. 操作过程: 1.通过whereis 定位ssh ...

  6. Linux Shell脚本面试25个经典问答

    1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Sh ...

  7. ios 气泡聊天

    最近做的项目里面,有几个模块用到了聊天功能和评论回复的功能,使用的频率还是很高的,所以抽时间做了这个博客,希望能给自己和别人带来方便, 具体代码如下: 1,创建model, #import <F ...

  8. 给IT同学推荐这15个不错的学习网站,收藏起来慢慢看吧

    1.学堂在线:http://www.xuetangx.com 目前,学堂在线运行了包括包括清华大学.北京大学.复旦大学.斯坦福大学.麻省理工学院.加州大学伯克利分校等国内外几十所顶尖高校的优质课程.在 ...

  9. Android中开发习惯

    我觉得首先是命名规范.命名规范这种东西每个人都有自己的风格,Google 也有自己的一套规范(多看看 Android 系统源码就明白了).好的规范可以有效地提高代码的可读性,对于将来接手代码的小伙伴也 ...

  10. linux系统UDP的socket通信编程2

    UDP套接字编程范例: server端代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...