一、导入模块的两种方式

  1.直接使用import

 import 模块名

 #调用
模块名.方法名()

  2.使用from…import…

 from 模块名 import 方法名1,方法名2(from 模块名 import *)

 #调用
4 方法名()

  3.__name__:直接使用解释器调用模块时,值为__main__,在其他地方调用模块时, 会显示为模块名,通过这一特性可以更好的测试

def test1(object):
print('') def test2(object):
print('') if __name__ == '__main__':
test1()
test2()

  4. 一个模块在导入后进行修改,修改后的内容是无法直接生效的,如果想要让修改后的内容生效,可以用下面的办法

from imp import *

reload(模块名)

  5.修改导入模块的默认路径

import sys

print(sys.path)    #会打印出模块加载的默认路径,是一个列表

sys.path.append('/home/itcast/xxx')
sys.path.insert(0, '/home/itcast/xxx') #可以确保先搜索这个路径

  5.模块的循环导入问题

    (1)首先定义一个a模块和一个b模块,在a模块中想要调用b模块中的b函数,在b模块中想要调用a模块中的a函数,这样就会形成一个死循环,报错

from b import b

def a():
print('----a----')
b() a()
from a import a

def b():
print('----b----') def c():
print('----c----')
a() c()

    (2)要谨防上面问题的发生,解决该问题应该写一个新的模块,在新的模块中调用

二、其他

  1.__all__

__all__ = ["test1"];

def test1():
print("") def test2():
print("") #在模块中__all__后的部分添加模块中的方法名,如果在外部使用from ... import *时,只会导入__all__中的方法

  2.让程序自动导入在下一级目录下的模块,可以在下一级目录创建一个名为__init__.py的文件(此时该目录称之为包),然后在__init__.py文件中输入__all__ = ['模块名']的内容(注:该方法只是在导入模块式使用from ... import *时生效,想直接使用模块见下条)

  3.如果想直接使用该目录下的模块,需要在__init__.py文件中使用from . import 模块名进行导入

  4.列表推导式

a = [x for x in range(4)]
print(a) #结果为:[0, 1, 2, 3] a = [x for x in range(3, 4)]
print(a) #结果为:[3] a = [x for x in range(3, 19, 2)]
print(a) #结果为:[3, 5, 7, 9, 11, 13, 15, 17] a = [x for x in range(10) if x % 2 == 0]
print(a) #结果为:[0, 2, 4, 6, 8] a = [x for x in range(3) for j in range(2)]
print(a) #结果为:[0, 0, 1, 1, 2, 2] a = [(x, y) for x in range(3) for j in range(2)]
print(a) #结果为:[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]

三、集合

  1.集合的定义:a = {11, 22, 33}

  2.集合的特点:集合会自动去重

  3.集合和列表的相互转换:set() list()  利用集合会自动去重的特点,可以对列表进行去重

python--模块、列表生成式、集合元祖列表的更多相关文章

  1. 关于Python元祖,列表,字典,集合的比较

      定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'], ...

  2. day007 列表类型、元祖类型、 字典类型、 集合类型的内置方法

    目录 列表数据类型的内置方法 作用 定义方式 优先掌握的方法 需要掌握的方法 元祖类型的内置方法 作用 定义方式 优先掌握的方法(参考列表方法) 字典类型的内置方法 作用 定义方式 优先掌握的方法 需 ...

  3. 学习python的第十天(内置算法:列表数据类型,元祖数据类型,字典数据类型)

    5.8自我总结 1.列表类型内置算法 1.必须掌握 1.按索引取值(正向取值+反向取值),即可存也可以取 #用于取其中一个值 name = ['yang','wen','yi'] ##正方向取wen, ...

  4. Python字符串/元祖/列表/字典互转

    #-*- coding:UTF-8 -*- #author:RXS002 #1.字典 dict = {'name':'Zara','age':7,'class':'First'} #字典转换为字符串, ...

  5. 列表list和元祖tuple

    list和tuple list列表: Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: ...

  6. 列表操作方法,元祖,for循环嵌套

    li = ['alex','wusir''女神']增 1.增加到列表末位 li.append() 连续增加,输入q停止 li = ['alex','wusir''女神'] while 1: s = i ...

  7. python-列表 字典 集合 元祖 字符串的相关总结练习

    1.执行python脚本的两种方式指定解释器执行在交互器中执行 2.简述位.字节的关系:ASCII1个二进制位是计算机里的最小表示单元1个字节是计算机里最小的储存单元二进制位=8bits(位)8bit ...

  8. python基础一数据类型之元祖

    摘要: python基础一中写到数据类型元祖,那么这篇主要讲元祖. 1,元祖定义 tuple1 = (1,2,'a','b') 元祖是不可变数据,所以又名只读列表.那么如何让是元祖可变呢?可以在元祖中 ...

  9. python 基础知识3-列表元祖

    1.列表增. # append 追加,给列表的最后面追加一个元素 li = ['alex','wufa','太白','大白'] li.append('教师') li.append(1) print(l ...

随机推荐

  1. 安装部署hyperledger fabric1.0

    安装环境 CentOS7 1.安装Docker Docker Hub在国外,安装会较慢,可用国内镜像DaoCloud.可执行以下命令安装Docker. sudo yum install -y yum- ...

  2. 一文掌握Redis的三种集群方案

    在开发测试环境中,我们一般搭建Redis的单实例来应对开发测试需求,但是在生产环境,如果对可用性.可靠性要求较高,则需要引入Redis的集群方案.虽然现在各大云平台有提供缓存服务可以直接使用,但了解一 ...

  3. Linux下MongoDB单实例的安装和配置详解

    推荐网站 MongoDB官网:http://www.mongodb.org/ MongoDB学习网站:http://www.runoob.com/mongodb 一.创建MongoDB的资源目录和安装 ...

  4. Pending 打断点

    pending 英['pendɪŋ],美['pɛndɪŋ] a. 未决定的, 待决的, 行将发生的, 向外伸出的prep. 在等待...之际, 直到...时为止, 在...期间, 在...过程中 pe ...

  5. 转载:Nginx 相关介绍

    转载自:https://www.cnblogs.com/wcwnina/p/8728391.html Nginx 相关介绍(Nginx是什么?能干嘛?)   Nginx的产生 没有听过Nginx?那么 ...

  6. 【ES】Java High Level REST Client 使用示例(增加修改)

    ES提供了多种编程语言的链接方式,有Java API,PHP API,.NET API 官网可以详细了解 https://www.elastic.co/guide/en/elasticsearch/c ...

  7. Spring框架——基于XML/注解开发

    IoC的实现方式有两种:XML配置文件.基于注解. MVC开发模式: Controller层 Service层 Repository层 Controller层调用Service,Service调用Re ...

  8. jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(一)

    注:这部分的学习还是要靠自己多点点 多尝试尝试 这部分19年3月份我是玩的很溜的,一年没用,基本忘光光了. 学习要温故而知新! 流程拓扑图 前提准备 部署应用服务 部署kubernetes 集群:ht ...

  9. NBL小可爱纪念赛「 第一弹 」 游记(部分题解)

    比赛链接 洛谷:禁止含有侮辱性质的比赛 . ??? 反正我觉得,gyx挺危险的 不说废话. 首先,比赛经验,前几个小时不打,跟着刷榜. 一看 T1. 发现是道水题,直接切掉了. 然后看到了 T2. 感 ...

  10. JDBC开源框架:DBUtils自定义业务类型相关转换器

    dbutils提供的handler转换不能满足实际业务开发的需求.比如枚举转int,时间类型LocalDateTime,实体对象的属性名与字段未能相对应. mysql表member结构字段: id.m ...