Python学习新手必看——Python字典、模块、类、对象傻傻分不清

Python字典、模块、类、对象傻傻分不清

一、字典

二、模块

三、类

四、对象

一、字典

mystuff = {'apple': "I AM APPLES"}
print(mystuff['apple'])

字典是类似列表的一种储存数据的方法,但是要获取其中的数据,用的不是数值索引,而是任何你想用的东西。这样就可以把字典当作储存和组织数据了。

二、模块

def apple():
    print("I AM APPLE!")
   
tangerine = "Living reflecion of a dream"

import mystuff
mystuff.apple()
print(mystuff.tangerine)

我们发现模块和字典的使用方式有点相似,只不过是语法的不同。

Python里有一个非常常用的模式:

​ 1、拿一个类似“键 = 值”风格的容器

​ 2、通过“键”的名称获取其中的“值”

​ 对于字典来说,键可能是一个字符串,获取值的语法是"[key]"。对于模块来说,key是函数或者变量的名称,而语法是“.key”。除了这个,就没有什么区别了。

三、类

类和模块差不多

​ 可以把模块当作一种专用的字典,可以通过它来储存一些Python代码,并通过“.”运算符访问这些代码。Python中还有另一种方法来实现类似的目的——类。通过类,可以把一组函数和数据放到一个容器中,从而用“.”运算符访问他们。

class MyStuff(object):
    
    def __init__(self):
        self.tangerine = "And now a thousand years between"
        
	def apple(self):
        print("I AM CLASSY APPLES!")

​ 可以看的出模块和类的功能并无明显的差别。但是我们使用类而非模块的原因是:类可以重复创建出很多出来,他们不会互相干涉。而模块,一次导入之后,整个程序里就只有这一份内容。

四、对象

​ 学习了类,那么类中引出的问题又有“object”又是什么?“object”是对象

class Person:
    """

    不带object

    """
    name = "zhengtong"
    
class Animal(object):
    """

    带有object

    """
    name = "chonghong"

if __name__ == "__main__":

    x = Person()

    print "Person", dir(x)

    y = Animal()

    print "Animal", dir(y)

运行结果如下


Person ['__doc__', '__module__', 'name']

Animal ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', 

'__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', 

'__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name']

Person类很明显能够看出区别,不继承object对象,只拥有了__doc__ , module 和 自己定义的name变量, 也就是说这个类的命名空间只有三个对象可以操作.

Animal类继承了object对象,拥有了好多可操作对象,这些都是类中的高级特性。

猜你喜欢

转载自blog.csdn.net/JMU_Ma/article/details/88775185
今日推荐