要使用对象里的方法,是不是一定要实例化对象才能使用??

jessinio 2007-01-08 04:12:59
要使用对象里的方法,是不是一定要实例化对象才能使用??


好像是不一定的,请问那些对象要实例化才能用,哪些不用实例化就能用的??
...全文
466 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2007-01-15
  • 打赏
  • 举报
回复

你看的是什么Python书啊?应该仔细看下有关面向对象的部分,学习一些基本思想。

对象就一组数据,拥有操作在数据上的方法。一个实例就是一个对象。类是对象的类型。

比如str是类,是所有的字符串对象的类型。"abcd"是str类的一个对象。

实例方法必须操作在(类的)一个对象上,类方法则没有实例可操作。

"abcd".strip()是实例方法,strip()操作在s上。

str.__class__是一个类属性,不需要对象,通过类就可以使用。类方法也一样,不需要对象,不过比较少用,一时找不到例子。

len("abcd")是一般方法,虽然操作在"abcd"数据上,但是没有绑定在其上,需要显示在方法参数中指定。

所以,绑定并操作了一组数据的就是实例方法。一般通过实例名+.来调用的都是实例方法。

jessinio 2007-01-15
  • 打赏
  • 举报
回复
今天看书,看到了这一句:所有方法一定要在对象的实例上进行运算(如果是从C++中转出来的,则没有“静态方法”)

这是怎么一回事???
xyzxyz1111 2007-01-09
  • 打赏
  • 举报
回复
classmethod不需要实例化就能使用
其他的方法需要实例化
jessinio 2007-01-09
  • 打赏
  • 举报
回复
下面是java问题的回答:
类方法一般指静态方法,它通过 类名.方法名() 访问,只要类方法的访问权限(公共、保护、私有等)允许,可以不经实例化就可以访问类的方法。类方法中不可以出现 this 关键字,不可以直接访问类中的非静态成员。


实例方法就是一般的方法,它通过 类的变量名.方法名() 访问,实例方法必须在类经过实例化之后才可以访问。




请问类的构造函数是不是类方法呢??(在没有实例时可以被调用,但是它又不是静态的)
jessinio 2007-01-09
  • 打赏
  • 举报
回复
说真的,真的不知道什么是类方法,什么是实例方法!!~!~


它们怎么分呢??
ChumpKlutz 2007-01-09
  • 打赏
  • 举报
回复
方法分為类方法与实例方法

类方法通过类名就可以引用也可以用实例引用

实例方法必须通过实例引用

楼猪最好是弄清楚这些东西

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧