菜鸟求问,python语言中'__module__'的作用是啥,求详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟求问,python语言中'__module__'的作用是啥,求详解相关的知识,希望对你有一定的参考价值。
首先python语言的基本组织单位是模块,不像Java是一类一文件,python的类、函数都在模块里面,当通过import引入一个函数以后,有时候由于函数签名的同名现象,需要看函数是从那个模块导入进来的,就需要看一下定义函数的的模块名称,这个时候,就使用一下语句来得这个模块名称:
function_name.__module__不过需要提醒的是这个module名称不一定和import语句前面的from名称完全一致,os模块的open函数的__module__在windows下面是"nt",而django模块的get_version函数的__module__就是"django"
参考技术A __module__The name of the module the
function was defined in, or
None if unavailable.
Writable
ref http://docs.python.org/2/reference/datamodel.html
#yyds干货盘点#挑战40天从 Python菜鸟变大咖
- [x] 040.元组_特点_创建的两种方式_tuple()要点
- [x] 041.元组_元素访问_计数方法_切片操作_成员资格判断_zip()
- [x] 042.元组_生成器推导式创建元组_总结
- [x] 043.字典_特点_4种创建方式_普通_dict_zip_formkeys
- [x] 044.字典_元素的访问_键的访问_值的访问_键值对的访问
- [x] 045.字典_元素的添加_修改_删除
- [x] 046.字典_序列解包用于列表元组字典
- [x] 047.字典_复杂表格数据存储_列表和字典综合嵌套
- [x] 048.字典_核心底层原理_内存分析_存储键值对过程
- [x] 049.字典_核心底层原理_内存分析_查找值对象过程
- [x] 050.集合_特点_创建和删除_交集并集差集运算
一、元组:
- 列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。
-
因此,我们只需要学习元组的创建和删除,元组中元素的访问和计数即可。元组支持如下操作:
- 索引访问
- 切片操作
- 连接操作
- 成员关系操作
- 比较运算操作
- 计数:元组长度 len()、最大值 max()、最小值 min()、求和 sum()等。
元组的创建:
- 通过
()
创建元组。小括号可以省略。 - 如果元组只有一个元素,则必须后面加逗号。这是因为解释器会把
(1)
解释为整数1,(1,)
解释为元组
- 通过tuple()创建元组
- 总结:
- tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组。
- list()可以接收元组、字符串、其他序列类型、迭代器等生成列表。
二、一个简单的字典:
举个例子:
三、使用字典:
- 在Python中,字典是一系列键值对。每个键都与一个值相关联,你可使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。
- 在Python中,字典用放在花括号()中的一系列键值对表示,如前面的示例所示:
- 键值对是两个相关联的值。指定键时,Python将返回与之相关联的值。键和值之间用冒号分隔,而键值对之间用逗号分隔。在字典中,想存储多少个键值对都可以。
- 最简单的字典只有一个键值对,如下述修改后的字典alien_0所示:
- 这个字典只存储了一项有关alien_0的信息,具体地说是这个外星人的颜色。在该字典中,字符串color是一个键,与之相关联的值为green。
访问字典中的值:
- 上述代码首先定义了一个字典。然后,从这个字典中获取与键points相关联的值(见❶),并将这个值赋给变量new_points。
- 接下来,将这个整数转换为字符串,并打印一条消息,指出玩家获得了多少分(见❷):
添加键值对:
- 字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名、用方括号括起的键和相关联的值。
- 这个字典的最终版本包含四个键值对:原来的两个指定外星人的颜色和分数,而新增的两个指定其位置。
- 注意:在Python 3.7中,字典中元素的排列顺序与定义时相同。如果将字典打印出来或遍历其元素,将发现元素的排列顺序与添加顺序相同。
先创建一个空字典:
- 在空字典中添加键值对有时候可提供便利,而有时候必须这样做。
- 为此,可先使用一对空花括号定义一个字典,再分行添加各个键值对。
修改字典中的值:
- 要修改字典中的值,可依次指定字典名、用方括号括起的键,以及与该键相关联的新值。
这里更正书中的一处错误!
删除键值对:
- 对于字典中不再需要的信息,可使用del语句将相应的键值对彻底删除。使用del语句时,必须指定字典名和要删除的键。
由类似对象组成的字典:
- 字典存储的是一个对象(游戏中的一个外星人)的多种信息,但你也可以使用字典来存储众多对象的同一种信息。
- 注意:对于较长的列表和字典,大多数编辑器提供了以类似方式设置格式的功能。对于较长的字典,还有其他一些可行的格式设置方式,因此在你的编辑器或其他源代码中,你可能会看到稍微不同的格式设置方式。
使用get()来访问值:
- 使用放在方括号内的键从字典中获取感兴趣的值时,可能会引发问题:如果指定的键不存在就会出错。
- 方法get()的第一个参数用于指定键,是必不可少的;第二个参数为指定的键不存在时要返回的值,是可选的:
- 如果指定的键有可能不存在,应考虑使用方法get(),而不要使用方括号表示法。
- 注意:调用get()时,如果没有指定第二个参数且指定的键不存在,Python将返回值None。这个特殊值表示没有相应的值。None并非错误,而是一个表示所需值不存在的特殊值,第8章将介绍它的其他用途。
四、遍历字典:
- 一个Python字典可能只包含几个键值对,也可能包含数百万个键值对。鉴于字典可能包含大量数据,Python支持对字典进行遍历。字典可用于以各种方式存储信息,因此有多种遍历方式:可遍历字典的所有键值对,也可仅遍历键或值。
遍历所有键值对:
- 探索各种遍历方法前,先来看一个新字典,它用于存储有关网站用户的信息。
五、嵌套:
字典列表:
- 有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。
- 你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。正如下面的示例将演示的,嵌套是一项强大的功能。
- 鉴于要修改前三个外星人,我们遍历一个只包含这些外星人的切片。当前,所有外星人都是绿色的,但情况并非总是如此,因此编写一条if语句来确保只修改绿色外星人。
- 如果外星人是绿色的,就将其颜色改为yellow,将其速度改为medium,并将其分数改为10,如下面的输出所示:
在字典中存储列表:
- 每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。
- 在本章前面有关喜欢的编程语言的示例中,如果将每个人的回答都存储在一个列表中,被调查者就可选择多种喜欢的语言。在这种情况下,当我们遍历字典时,与每个被调查者相关联的都是一个语言列表,而不是一种语言;
- 因此,在遍历该字典的for循环中,我们需要再使用一个for循环来遍历与被调查者相关联的语言列表:
- 注意:列表和字典的嵌套层级不应太多。如果嵌套层级比前面的示例多得多,很可能有更简单的解决方案。
在字典中存储字典:
首先定义一个名为users的字典,其中包含两个键:用户名aeinstein和mcurie。
与每个键相关联的值都是一个字典,其中包含用户的名、姓和居住地。
在❶处,遍历字典users,让Python依次将每个键赋给变量username,并依次将与当前键相关联的字典赋给变量user_info。
在循环内部的❷处,将用户名打印出来。
在❸处,开始访问内部的字典。
变量user_info包含用户信息字典,而该字典包含三个键:first、last和location。对于每位用户,都使用这些键来生成整洁的姓名和居住地,然后打印有关用户的简要信息(见❹):
始访问内部的字典。
变量user_info包含用户信息字典,而该字典包含三个键:first、last和location。对于每位用户,都使用这些键来生成整洁的姓名和居住地,然后打印有关用户的简要信息(见❹):
各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。
每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
以上是关于菜鸟求问,python语言中'__module__'的作用是啥,求详解的主要内容,如果未能解决你的问题,请参考以下文章
angular2 ng build --prod 报错:Module not found: Error: Can't resolve './$$_gendir/app/app.modu
求问:在使用百度统计的时候,使用“自定义变量”的JS-API部署,请问如何在加载统计代码前调用接口。