python 模块中__all__作用,命令行给程序传参,列表推导式,集合

普通moudle中定义的__all__变量

#如果定义了这个,只有放在这个列表中的东西才能被外界导入使用,

#注意要用字符串形式写变量或者方法的名字

__all__ = ["test1","num"]

num =564612

##=====================================================

这是__init__.py文件下的

这个init文件,也就是这个文件夹下的文件所形成的包,python2必须有这

#个,python3则会认为它本来就是个包

#外部引用这个包的moudle的时候,会查询 这个,如果没有就没法引用

# __all__ = ["MingMoudle"]

#除了all的另外一种导入方式,只能python2用

# import MingMoudle

#除了all的另外一种导入方式,python3用法

from.importMingMoudle

#=====================================================

"""给程序传参"""

importsys

#用这个东西来接收给程序传递的参数,是如下的一个列表形式

# ['GiveProgramParam.py', 'a', 'b', 'cdefg']

# names = sys.argv

#

# print("我是%s的爸爸" % names[1])

# ===================================================================

"""列表推导式,优达学城课好坑,这个都不讲"""

# range(1,5)包左不包右,1到4

# range(10)则表示0到9

# range(0,6,2)则表示0,2,4,第三个参数为步长

#这个函数在python2中如果使用超大的值,会内存溢出

# for i in range(1, 10):

#    print(i)

# a = [12, 3, 534, 65, 6, 34, 777, 234, 32]

#使用列表生成式来生成一个列表,就是如下列表

# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

# for循环只负责循环的次数,前面的值则由你自己来控制,比如i*2,就全变双倍

# a = [i for i in range(1, 18)]

# print(a)

# #它后面还可以跟条件控制语句

# # [3, 6, 9, 12, 15, 18]

# c = [i for i in range(1, 20) if i % 3 == 0]

# print(c)

# #循环嵌套,也就是后面的语句其实是在前一个循环内部的

# # [0, 0, 1, 1, 2, 2]

# d = [i for i in range(3) for j in range(2)]

# # [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]

# d = [(i, j) for i in range(3) for j in range(2)]

# #三重循环

# d = [(i, j, k) for i in range(3) for j in range(2) for k in range(3)]

# print(d)

# ===================================================================

#元组,列表内容可以重复,集合不行,而且它还是无序的

# c = {11, 22, 33, 11, 33, 22}  #集合类型

# {33, 11, 22}

# print(c)

#因此,可以使用集合的特性来进行去重

a = [11,22,33,44,55,11,33,44,55]

#将列表转成集合,自然就去重了

b =set(a)

print(b)

print(type(b))#

d = {"name":"shit"}

print(type(d))#

#将集合再转成列表

c =list(b)

print(c)

你可能感兴趣的:(python 模块中__all__作用,命令行给程序传参,列表推导式,集合)