Python3入门 | 枚举类、模块、包、类

Python3入门 | 枚举类、模块、包、类

作者的话

通常我们需要表示一些日常事物,但是表达形式又不想太复杂,比如,我们QQ使用的红钻、绿钻、黄钻和黑钻,然后想通过1,2,3,4分别代替,但是在代码中使用1,2,3,4,对于代码的可阅读性会非常差,从而就有了枚举类,如果还是不能很好的理解,那么我们在后面学习枚举类的时候就能够更好地理解。对于包和模块要区分好,学会写类和使用类。

枚举类的基本表达

from enum import Enum

class VIP(Enum):
    YELLOW = 1
    GREEN = 2
    BLACK = 3
    RED = 4
    
print(VIP.YELLOW)

# 结果是输出 VIP.YELLOW

由此可以很清晰的看出,枚举实际上是一个类,而我们自定义的枚举类就是继承了Enum这个类

包和模块

两者都可能表现形式都是文件夹,会存在细微的差别,多个模块会组成包。

模块还可以就是指单个py文件,我们如果对于一个简单的功能,只需要一个文件就可以完成,那么这个功能就用一个py构成叫做一个模块,如果这个功能很复杂,一个py文件并不能完整的实现,而需要多个文件结合,这时候这些py文件存在的文件夹就成了一个模块.

文件夹和包 区别在于 在包下会有sinit.py文件

包下面是可以存在子包的,子包下也可以有它的子包

导入包

import 模块名

例:
存在一个模块

# file : spam.py  
a = 37                    # 一个变量  
def foo:                  # 一个函数  
    print "I'm foo"  
class bar:                # 一个类  
    def grok(self):  
        print "I'm bar.grok"  
b = bar()  

测试模块

# ceshi.py
import spam           # 导入并运行模块 spam  
print spam.a          # 访问模块 spam 的属性  
spam.foo()  
c = spam.bar()  
  1. 总结下来就是,import 导入某个模块,通过模块名.* 在选择使用的对象

  2. 如果包路径很深怎么办,那么我们使用as关键字进行简化

存在一个模块

# file : spam.py   位于 a/b下面
a = 37                    # 一个变量  
def foo:                  # 一个函数  
    print "I'm foo"  
class bar:                # 一个类  
    def grok(self):  
        print "I'm bar.grok"  
b = bar()  

测试模块

# ceshi.py 位于 a下面
import b.spam  as bspam         # 导入并运行模块 spam  
print bspam.a          # 访问模块 spam 的属性  
bspam.foo()  
c = bspam.bar()  

另外一种导入方式

from ... import ...

比如上面的导入可以改写为

# ceshi.py 位于 a下面
from b import spam      # 导入并运行模块 spam  
print spam.a          # 访问模块 spam 的属性  
spam.foo()  
c = spam.bar()  

这种方式也可以导入模块中某个具体对象

# ceshi.py 位于 a下面
from b.spam import a      # 导入并运行模块 spam  
print a          # 访问模块 spam 的属性   

tips: 包和模块的导入时不会重复的,要避免循环导入

今天就到这里吧,简单简单的非常口语化,写作能力确实有限,慢慢进步吧。

关注我
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容

  • 模块和包 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是...
    go以恒阅读 2,267评论 0 4
  • [TOC] 最开始写程序的时候,都是一个文件里输入几行源码(python 的一个 web 框架bottle就特别强...
    人世间阅读 5,491评论 1 10
  • 用 python 解释器来编程从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。 为此...
    chen_000阅读 522评论 0 3
  • 【今日话题】 迄今为止,你收益最大的一段时间或者一次经历是什么? 2016年跨年的时候,做了一个决定。找一个适合自...
    一缕阳光v阅读 139评论 0 0
  • 我就想 若是以后你也想我为你这般 为另一个人辗转反侧夜不成眠念念不忘揪心挂肺 我才不会觉得这是一种快意补偿 这明明...
    芮小芮阅读 236评论 0 1