python之路 --- python模块初认识&数据类型

一、模块初识

首先,文件名不能和导入的模块名称一样。因为系统默认先从当前文件寻找模块名,如果文件名和导入的模块名称一样的话,就相当于自己调用自己,会找不到相应的方法的。

sys模块

sys.path   # 打印环境变量

sys.argv   # 实现从程序外部向程序传递参数。

os模块

os.system('dir')  # 执行系统命令,不保存结果

cmd_res = os.popen('dir').read()  # 可以读取结果

os.mkdir('new_dir')  # 创建一个目录

二、数据类型

1、数字

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
      先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html 
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
2、布尔值
  真或假
  1 或 0

3、索引:

  左都是从0开始,末尾-1
4、list:(list中可以有不同的数据类型)
  追加:append
  插入:insert(索引,元素)
  删除:pop(索引)
  替换:赋值
  排序:sort()
  倒序:reverse

注意:copy和copy.deepcopy(深层copy)的区别

5、tuple:

  元组(元素不可变)

6、dict:

  key--value

  对于字典的遍历:

  1. for i in info:  推荐用这种,可以更高效率的遍历字典中信息比较多的情况

    print(i,info[i])

  2. for k,v in info.items():

    print(k,v)

7、String:
  左边从0开始,右边是从-1开始

8. set:

  > 去重:

  list_1 = [1,2,3,4,5,2,3]

  list_1 = set(list_1)

  > 关系测试:

  交集\差集\并集\对称差集

list_1 = [1,4,5,7,3,6,7,9]
# 去重
list_1 = set(list_1)
print(list_1)

list_2 = set([2,6,0,66,22,8,4])
print(list_1,list_2)

# 交集
print(list_1.intersection(list_2))
print(list_1 & list_2)              #  ‘&’ 运算符

# 并集
print(list_1.union(list_2))
print(list_1 | list_2)        # ‘|’ 运算符

# 差集
print(list_1.difference(list_2))
print(list_1 - list_2)      # in list_1 not in list_2

list_3 = set([1,4,7])
# 子集
print(list_3.issubset(list_1))

# 父集
print(list_1.issuperset(list_3))

# 对称差集
print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2)


# 判断两个集合是否有交集
print('-'*20)
print(list_2.isdisjoint(list_1))
list_4 = set([1,2,8])
print(list_3.isdisjoint(list_4))

list_4.add(20)
print(list_4)

补充:

*   匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于o{0,}
+  匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
?  匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}。

 

 

posted @ 2018-05-03 20:28  petrolero  阅读(235)  评论(0编辑  收藏  举报