In [1]: #欢迎来到“只读课堂”!
...: #今天我来讲一下“类”。
...: #“类”涉及的知识量非常非常地多,下面我来举几个例子。
...: #“类”其实就是一个类似类别的东西。
...:
In [2]: s = 'hello world'
In [3]: s.center(12)
Out[3]: 'hello world '
In [4]: #它就在一个类里边。
In [5]: class Person:
...: der __init___(self, name, age)
File "<ipython-input-5-7bd7bf48f49b>", line 2
der __init___(self, name, age)
^
IndentationError: expected an indented block
In [6]: #打错了
In [7]: class Person:
...:
...: def __init___(self, name, age):
...: self._name = name
...: self.age = age
...:
In [8]: #现在我们生成一个person,输入它的年龄和名称。
In [9]: class Person:
...:
...: def __init__(self, name, age):
...: self._name = name
...: self.age = age
...:
In [10]: p = Person('wong',12)
In [11]: p
Out[11]: <__main__.Person at 0x4318c50>
In [12]: #还可以去获取它的名字
In [13]: def get_name(self):
...: return self._name
...:
In [14]: p.get_name()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-14-7d2dc20c1c72> in <module>()
----> 1 p.get_name()
AttributeError: 'Person' object has no attribute 'get_name'
In [15]: #这里总是报错啊,Spyder就可以的
In [16]: class Person:
...: def __init__(self, name, age):
...: self._name = name
...: self._age = age
...: def get_name(self):
...: return self._name
...:
In [17]: p = Person('li',11)
In [18]: p.get_name()
Out[18]: 'li'
In [19]: #就是这样用的。
In [20]: #——————————————————————————————————————————————————————————————————————
In [21]: #重命名
In [22]: #我们还是用上面的代码:
In [23]: class Person:
...: def __init__(self, name, age):
...: self._name = name
...: self._age = age
...: def get_name(self):
...: return self._name
...: def rename(self, new_name):
...: self._name = new_name
...:
In [24]: p.rename('wong lei')
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-24-6b97cbe2fb6e> in <module>()
----> 1 p.rename('wong lei')
AttributeError: 'Person' object has no attribute 'rename'
In [25]: p.get_name()
Out[25]: 'li'
In [26]: p_2 = Person('li',11)
In [27]: p_2.get_name()
Out[27]: 'li'
In [28]: #只有这种写法才是规范的,别的写法虽然也可以,但是是非常非常不规范的,而且后面调用的时候也容易产生歧义的。
In [29]: #——————————————————————————————————————————————————————————————————————
In [30]: print("\n本次“只读课堂”的python教程就到这了,欢迎继续收看!\n")
本次“只读课堂”的python教程就到这了,欢迎继续收看!