9.类

2019-10-15  本文已影响0人  jxc1

1.名称和对象

2.作用域和命名空间

3.初探类

class MyClass:
  """A simple example class"""
  i=12345
  def f(self):
    return 'hello world'
x=MyClass()
#创建新的类实例并将此对象分配给局部变量x

当一个类定义了__ init __()方法时,类的实例化操作会自动为新创建的类实例发起调用 __ init __()。相当于初始构造函数。
-方法对象与函数对象
方法中,方法所属对象会作为第一个参数被传入,后可跟其他参数

class Dog:
  tricks=[]
  def __init__(self,name):
    self.name=name
  def add_trick(self,trick):
    self.tricks.append(trick)

d=Dog('Fido')
e=Dog('Buddy')
d.add_trick('roll over')
e.add_trick('play dead')
print(d.tricks)
print(e.tricks)
class Dog:
  def __init__(self,name):
    self.name=name
    self.tricks=[]
    #实例变量,初始化时给实例化的对象的
  def add_trick(self,trick):
    self.tricks.append(trick)

d=Dog('Fido')
e=Dog('Buddy')
d.add_trick('roll over')
e.add_trick('play dead')
print(d.tricks)
print(e.tricks)

4.补充说明

5.继承

class DerivedClassName(BaseClassName):
  ...
 ...

6.私有变量

在python中不存在仅限从一个对象内部访问的私有实例变量。通常带有一个下划线_a

8.迭代器

>>> s = 'abc'
>>> it = iter(s)
>>> it
<iterator object at 0x00A1DB50>
>>> next(it)
'a'
>>> next(it)
'b'
>>> next(it)
'c'
>>> next(it)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    next(it)
StopIteration

9.生成器

yield表达式
生成器:用于创建迭代器的简单而强大的工具。写法类似标准的函数,不同的是使用yield语句。返回的就是一个迭代器!!

上一篇 下一篇

猜你喜欢

热点阅读