大小孩

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

本节内容

  1. 模块初识
  2. 数据类型
  3. 各种数据类型操作
  4. 数据运算

一、模块初识

Python有非常丰富和强大的标准库和第三方库
  • 标准库:不需安装,直接可导入(Python安装目录下Lib)。
  • 第三方库:需要安装才可以使用(Python安装目录下Lib/site-packages)。

(1) sys

Python解释器自带模块,采用c语言编写
#test.py脚本
#!/usr/bin/env python  
# -*- coding: utf-8 -*-       
import sys      
print(sys.argv)
   
#执行脚本test.py,获得如下结果
$ python test.py hello world    
['test.py', 'hello', 'world']  #把执行脚本时传递的参数获取到了

(2) os

基本使用
#!/usr/bin/env python  
# -*- coding: utf-8 -*-      
import os  
     
os.system("df -h") #调用系统命令,返回退出时状态
os.popen("df -h")  #调用系统命令,返回命令执行结果
列出指定目录下所有文件
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
__author__ = "HQ"

import os
dir = r'D:\资源\软件包'
count = 0

###使用os.walk()方法
#其中maindir -> 当前目录, subdir_list -> 当前目录下的子目录列表, file_list -> 当前目录下文件列表
for maindir, subdir_list, file_list in os.walk(dir):
    if file_list:
        for file in file_list:
            # print(os.path.join(maindir,file),'\n',end="")
            count +=1
print('filenum:',count)

###使用os.listdir()方法
dir_list = [dir]
while dir_list:
    for dir_item in dir_list:
        list = os.listdir(dir_item)
        dir_list.remove(dir_item)
        if list:
            for item in list:
                path = os.path.join(dir_item,item)
                if os.path.isdir(path):
                    dir_list.append(path)
                else:
                    #print(path)
                    count += 1
print('filenum:', count)

(3) os & sys

os与sys联合使用
import os,sys
  
#把用户的输入的参数当作一条命令交给os.system来执行     
os.system(''.join(sys.argv[1:]))

#将目录加入系统环境变量
Basedir = os.path.dirname(os.path.abspath(__file__))   #取出当前文件所在目录
sys.path.append(Basedir)

#注:导入模块默认从当前目录开始查找,若找不到再去环境变量中目录去找
    Python脚本名称不要与模块名相同

二、数据类型

1、数字

(1) int(整型)

2 是一个整数的例子。
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

(2) long(长整型)

长整数不过是大一些的整数。
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意:自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。Python3去掉了long,只有int。

(3) float(浮点型)

3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

(4) complex(复数)

(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数。
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
:Python中存在小数字池:-5 ~ 257

2、布尔值

真或假(1或0),True 或 False

3、字符串

字符串是有顺序、不可修改的
变量赋值本质:当将一个字符串赋值给一个变量时,本质上是在内存中开辟一块空间用来存字符串,然后变量名指向这块内存空间。再次赋值给变量名新的字符串,本质上是在内存中再开辟一块空间存储新的字符串,变量名指向新的内存空间,原字符串并没有改变(Python中内存对象引用为0时会被释放)。
字符串格式化输出:字符串是 %s; 整数 %d; 浮点数%f

4、bytes

二进制数据由bytes类型表示。
Python3中字符串和字节包不能混用,Socket传输数据必须用bytes类型。
Python3中文本默认编码Unicode,由str表示(读取和写入时的内容都是str)。
Str与bytes的转换方式如下图:

#!/usr/bin/env python3  
#-*- coding:utf-8 -*-  
    
print('你好'.encode('utf-8'))  #utf-8是指定字符串编码格式,Python3中默认utf-8  
    
print(b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8')) 

5、列表

列表(list)有顺序、可以修改。
#创建列表
name_list = ['alise', 'seven', 'eric']  
或  
name_list = list(['alise', 'seven', 'eric'])

6、元组

元组(tuple)相当于不可变的列表,有顺序。
#创建元组
ages = (11, 22, 33, 44, 55)  
或  
ages = tuple((11, 22, 33, 44, 55))  

7、字典

字典(dict)是无序的。
#创建字典
person = {"name": "mr.wu", 'age': 18}  
或  
person = dict({"name": "mr.wu", 'age': 18}) 

8、集合

集合(set)是一个无序的,不重复的数据组合,它的主要作用如下:
  • 去重:把一个列表变成集合,就自动去重了
  • 关系测试:测试两组数据之前的交集、差集、并集等关系
s = set([3,5,9,10])      #创建一个数值集合   
t = set("Hello")         #创建一个唯一字符的集合  

a = t | s          # t 和 s的并集    
b = t & s          # t 和 s的交集  
c = t – s          # 求差集(项在t中,但不在s中)   
d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  

三、各种数据类型操作

参考:http://www.cnblogs.com/alex3714/articles/5717620.html

四、数据运算

参考:http://www.cnblogs.com/alex3714/articles/5465198.html

参考:

http://www.cnblogs.com/alex3714/articles/5465198.html
http://www.cnblogs.com/alex3714/articles/5717620.html
posted on 2017-12-16 14:33  大小孩  阅读(106)  评论(0)    收藏  举报