鱼C论坛

 找回密码
 立即注册
查看: 2618|回复: 13

python关于,类,类对象、实例对象,属性,方法有点蒙圈

[复制链接]
发表于 2018-4-30 17:40:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这回的这个代码应该全了吧,最后发一次这个问题  麻烦给答仔细点
下面代码中 类,类对象、实例对象,属性,方法,还有什么名词么?今天啥也不干,必须把这个整明白了才睡觉。谢谢各位耐心指导
  1. import math  # 首先引入数学函数

  2. class Point():  #创建一个点类
  3.     def __init__(self, x=0, y=0): #初始化点的坐标(x, y)
  4.         self.x = x
  5.         self.y = y
  6.         
  7.     def getX(self): #获取点的X轴坐标
  8.         return self.x
  9.    
  10.     def getY(self): # 获取点的Y轴坐标
  11.         return self.y
  12.    
  13. class Line():  #定义一个线类
  14.     def __init__(self, p1, p2): #初始化线的两个点
  15.         self.x = p1.getX() - p2.getX()
  16.         self.y = p1.getY() - p2.getY()
  17.         self.len = math.sqrt(self.x * self.x + self.y * self.y)

  18.     def getLen(self):   #获取直线长度
  19.         return self.len
复制代码
类、类对象.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-4-30 17:48:52 | 显示全部楼层
麻烦师兄师姐们帮忙指点指点 好乱哦  你们都说好简单
属性呢.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 17:53:42 | 显示全部楼层
程序运行前  Point Line 是类,def 开头哦的函数模块是方法,程序运行之后的 Point Line 是类对象,截图里面 p1 p2 是实例对象
我向问问这里面 属性是什么   line = Line(p1, p2) 是什么 怎么叫法?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-30 19:28:51 | 显示全部楼层
类的实例化--对象(类变量、实例变量和方法),属性就是变量:self.x=x--叫实例变量;方法是函数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-30 20:49:12 | 显示全部楼层
铁岭小刚fishc 发表于 2018-4-30 17:48
麻烦师兄师姐们帮忙指点指点 好乱哦  你们都说好简单

line是Line类(可以理解为一张图纸)“制造出来的对象”,它拥有类(也就是制造出它的图纸)里面的所有功能假如你写x = Line(p1,p2)的话x也是Line这张图纸制造出来的一个对象,总之前面的变量就是图纸制造出来的对象,但是你如果写Line(p1,p2)的话前面没有变量,那它只是一个实例对象并非真正的(刚才的理解)对象。
如果说方法是函数的话那么属性就是变量。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 21:17:32 | 显示全部楼层
故梦L 发表于 2018-4-30 19:28
类的实例化--对象(类变量、实例变量和方法),属性就是变量:self.x=x--叫实例变量;方法是函数

能具体点么? 上面那些代码 或者图片上的,那些是类的实例化,那些事对象(类变量、实例变量和方法),属性就是变量
谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 21:22:10 | 显示全部楼层
Sanks 发表于 2018-4-30 20:49
line是Line类(可以理解为一张图纸)“制造出来的对象”,它拥有类(也就是制造出它的图纸)里面的所有功 ...

好的 谢谢我琢磨琢磨   可能就是一层窗户纸的事
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 21:25:26 | 显示全部楼层
Sanks 发表于 2018-4-30 20:49
line是Line类(可以理解为一张图纸)“制造出来的对象”,它拥有类(也就是制造出它的图纸)里面的所有功 ...

你好  您这个 能在我上面代码中 指出具体那些是属性 那些是方法么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-30 21:44:25 | 显示全部楼层
实例变量:self.x=x或self.y=y----只能放在方法里面
属性包括类变量与实例变量(上面没有类变量)eg:i=1--这是类变量,只能放在方法外面,可以通过类名去访问:
p1为类的对象(类的实例化)
方法:函数def .....
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 21:56:38 | 显示全部楼层
故梦L 发表于 2018-4-30 21:44
实例变量:self.x=x或self.y=y----只能放在方法里面
属性包括类变量与实例变量(上面没有类变量)eg:i=1-- ...

想加你好友来着 设置权限了 哈哈
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y

你好 这里 只有  def __init__(self, x=0, y=0) 这一行是方法么?
下面的 self.x = x 和 self.y = y 是实例变量 是这样么?
我看书上有说属性 和 方法  这里属性是什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-30 22:10:18 | 显示全部楼层
是;def __init__(self):
属性:包括实例变量-->self.x  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-1 14:22:31 | 显示全部楼层
铁岭小刚fishc 发表于 2018-4-30 17:48
麻烦师兄师姐们帮忙指点指点 好乱哦  你们都说好简单

C:\Documents and Settings\Administrator\桌面\a.png方法没错,属性就是变量,我标注出来了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-2 16:58:27 | 显示全部楼层

实例变量:self.x=x或self.y=y----只能放在方法里面
属性包括类变量与实例变量(上面没有类变量)eg:i=1--这是类变量,只能放在方法外面,可以通过类名去访问:
p1为类的对象(类的实例化)
方法:函数def .....
属性:包括实例变量-->self.x

好像明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-3 01:19:54 | 显示全部楼层
  1. >>> class CC:
  2.     def setXY(self, x, y):
  3.         self.x = x
  4.         self.y = y
  5.     def printXy(self):
  6.         print(self.x, self.y)

  7.             
  8. >>> dd = CC()
复制代码

dd = CC()
dd 是实例化对象    CC( ) 是类对象
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-29 20:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表