Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104030
  • 博文数量: 30
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 402
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-22 11:09
个人简介

摸着石头过河

文章分类

全部博文(30)

文章存档

2015年(2)

2014年(28)

我的朋友

分类: LINUX

2014-11-13 17:01:24

   五、模块
        模块相当于c语言里面的库,c里面的动态库或静态库是有后缀名的,同样Python的模块也是有后缀名的,而且必须为.py。
  1、模块的使用
        使用import语句,如import sys 表示使用sys模块
   2、常见模块及其使用方法
       (1)sys模块
              sys.argv 这个变量是一个字符串列表,用来获取命令行的参数列表。
         
   3、创建自己的模块
         def 模块名():
六、数据结构
       在Python中有三种内建的数据结构列表、字典和元组,既然是内建的就可以直接使用。
       1、列表list  
             list其实是一个类,用来存储一个序列,列表里面可以存储任一对象,不同类型的对象可以共存,如列表里面还可以再存储一个列表,而且列表中还有字符串、整数等元素。每一个用,隔开的对象都是list的一个元素。
          (1)定义一个对象
                  使用[]表示创建了一个list的对象,如:shoplist=['123','456'],注意这里与Java或者c++里面对对象的实例化又是不同的,不需要指明类名,就是对象名=[内容],[]就表明了对类list的实例化。
           (2)针对列表的操作
                   类list里面自然会封装一些方法和对象,以供我们使用。
                ①遍历list 
                          for  i in shoplist:
                                       print i
                ②添加一个元素
                    a、尾部添加
                           shoplist.append(‘789’)
            (3)求列表长度
                    列表的长度是指列表中包含元素的个数,len(shoplist)
            (4)访问列表中的某个元素
                   shoplist[0] ,访问列表中的第一个元素,可见列表中元素的编号也是从0开始,与c语言的数组一样,                                         shoplist[len(shoplist)-1] ,访问列表中最后一个元素,可见[]里面的内容可以是变量,这与c一样。
            (5)列表排序
                    shoplist.sort(),如果列表里面存储的都是字符串,那么排序时根据字符串的首字母进行排序,另外,
                    排序完后,是对原列表里面的内容做修改。
             (6)删除列表中的一个元素
                     del shoplist[0]  删除列表中第一个元素。
      2、元组
           元组和列表类似,不同点在于元组的值一旦定义就不可修改,这个与c里面字符串是相同的。 元组一般用于存储安全的数据,保证数据是只读的。
           (1)元组对象实例化
                 zoo=(‘aaa’,'bbb','cccc')
                 empty=()
                single=(2,)#注意包含单个元素的定义方式,与list不同
               可见,list用[]实例化对象,而元组用()实例化对象
            (2)求元组对象个数
                     与list相同
            (3)访问元组某个元素
                      与list相同
            (4)for循环遍历元组
                       与list相同
    
        (5)元组与打印print
                     元组常用于对print打印的格式控制,如:
                      int=100
                      str="test"
                        print 'int=%d ,str=%s' % (int,str) 
                        可见,Python中对整形和字符串的格式控制与c的是一样的。
         3、字典
             字典是key:value类型的,key必须是唯一、不可变的。
        (1)定义
                dic={key1:value1,key2:value2}
                可见,字典的定义使用{},字典中元素之间仍然使用,分隔开,key与value之间使用:。
         (2)访问字典中的元素
                要根据字典中key来访问value,如dic[key1],可以读也可以写,如果读时key1不存在就会报错,写时key1不存在就会新增,写时key1存在就会覆                盖旧值。删除字典中的元素,del dic[key1],可见字典是动态的,这点与list相同
        (3)求字典长度
                与list相同,如len(dic)
        (4)遍历字典
                  for key,value in dic.items()
                                print '%s,%d',% (key,value)
                 使用了字典的items()方法,该方法返回一个元组,因此,使用两个变量key,value且用,隔开。
           (5)根据key判断元素是否在字典中
                   if key1 in dic:
                           语句
        4、序列
             列表、元组和字典均是序列,序列主要支持两个操作索引操作和分片操作,索引操作访问一个元素,分片操作访问序列的子集。
           (1)索引操作[]
                    使用操作符[]来访问序列中的元素,[]里面是索引编号,可以是变量也可以是常量,从前往后排,索引值从0开始,从后向前排索引值
                    从-1开始,即-1访问最后一个元素,-2访问倒数第二个元素。这点与c是不同的。
            (2)切片操作
                     也使用[],但是[]里面用:还有可选的数字,下面距离说明
                     list=['dog','cat','boy','girl'] 
                     list[1:3]#就是访问编号1开始到3结束,不包括3,即1和2.
                     list[0:]#就是访问编号从0开始到最后的
                     list[1:-1]#就是访问编号1开始到最后一个之前的所有元素。
       5、参考
            将一个对象赋值给一个变量时,其实这个变量只是指向了那个对象,变量并非是对象本身,这就是变量名到对象的绑定。
            如 list1=['as',''qwe,'123']#变量list1指向了对象所在的内存
                list2=list1#这个只是变量间的赋值,并非存在对象的拷贝
                因此list2与list1指向了同一块内存,要想实现对象拷贝就必须先产生一块新的内存对象,然后让新变量指向这块内存对象。
                序列的切片操作就提供了这样一个功能,list1[:]返回一个序列对象,因此会产生一个新的内存块,list2=list1[:],这样list2
           指向的内存块与list1指向的是不同的内存块,且list1指向的内存块的内容拷贝。
    

      

 

                                              
                     
               
              

阅读(627) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~