菜鸟的python学习之路


一,编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

对于中文,使用utf-8对于内存的使用: 分别对于英文字符和中文字符的存储是分开的 英文使用8位   中文使用24位.这样可以灵活并充分利用内存空间

所以在每一个.py文件的声明中都需要加上:                                                   

   # -*- coding:utf-8 -*-   #使用utf-8的字符集



二,注释

       1,单行注释 使用 #开头为注释内容

       2,多行注释 可以使用   """ 开始      """结束

        #the python script  for system info get  #普通单行注释文件
        """name = raw_input("")
             if name == "xx":
                print "xxxx"
        """#多行注释使用方法

三,库和pyc文件的执行顺序

        1,如果库文件内容与pyc文件一致的话,优先执行pyc文件,这样会给python运行加速

        2,如果不一致先读取库文件内容

四,函数

        1,对于字符串来说,假如name1="1" name2=name1   那么name1再次变更为 name1="2" 再次执行name2的值还会是 "1" (这是相对于普通字符串的赋值)原因:因为字符串不能做更改,修改后的字符串必须重新创建

        2,如果是引用(字符串)类型的函数,只要有更改,就会在内存中新开辟一块空间。如果是值类型,只要有新改变就会在原有基础上进行增量或者减量统一变更。

        3,赋值字符串 重复使用同一字符串的话 在一个范围之内不会开辟新地址,如果超出了缓冲池的范围就不会在重用地址

        4,python内置的缓冲池地址id为 -5~257


五,python程序执行流程

        1,加载内存 2,词法分析 3,语法分析 4,编译 5,字节码 6,机器码

        2,ASCII 8位, unicode 最少16位 ,utf-8 优化内存存储空间

六,变量

        1,变量名首位不能为数字2,不能为系统内置变量名 

         2,raw_input()输入

         3,import getpass  输入字符不可见模块

七,数据类型

        1,单值

                    数字

                        整数(32位系统位数 最多为32位 限制范围为 -2**31~2**31-1)  

                       长整型 

                       浮点型

                       复数

                       布尔值(true 1 &false  0) 

                       字符串

        2,集合

                 列表

                   元祖#与列表区别是 ()[] 元祖不可修改,列表可修改

                   字典

                   哈希表 

        3,type  来查看变量的类型      

八,参数

        1,占位符 >>> name = 'im %s .age %d' % ('wq',222222)
                         >>> name
                                 'im wq .age 222222'
                “%s”(代表字符串)  “%d”(代表数字)
                         >>> name = "wqw %s %d"
                         >>> name %("wq",4444)
                                 'wqw wq 4444'


          

   
 2,format

                 

     name = "i am {0},age{1}"
     name.format("wq", 18)
      'i am wq,age18'
    3,name = "i am {0},age{1}"
      new_name = name.format("wq", 18)
      print new_name


九 ,索引

           1,

 >>> name = "wenqiang"
 >>> print name[0:4] #不包括4 ,-1代表最后一个
     wenq


           2,  

>>> name = "wenqiang"
>>> print len(name)
   8   #len 可以计算出字符串的长度


十,去空格

      

 print name.strip()#去掉两边的空格
 print name.lstrip()#去掉左边的空格
 print name.rstrip()#去掉右边的空格


十一,分割

               

 print name.split(;)   #制表符=\t 变成列表


十二,列表追加

           name_list.append('wenqiang')

十三,列表删除

           del name_list[0]

十四,将列表变为字符串

            "_".join(name_list)

十五,循环

       1, for ele in name_list:

                if ele == "wq": #找到wq

                    print "find"#本次循环结束

                    continue #重新执行

                if ele == "nihao":#再次执行

                     print "yohoo"

                     break

       2, while;

        while 1==1:

                print "true"死循环

十六,字典

                dict 字典,键值对

            person = {

                    "name":"alex",

                     "age":18,

                     "xingbie":"nv",

                    }

通过person来找字典中相应的值。

                循环:person = {

  "name":"alex",

        "age":18,

        "xingbie":"nv",

}

for k,v in person.items():

 print k

 print v

 print '======'

age

18

======

name

alex

======

xingbie

nv

======   #字典的输出是无序的

  

person = {

        "name":"alex", 

        "age":18,

        "xingbie":"nv",

}

print person.keys()

print person.values()

打印出所有key  所有values

dict 字典 键值对

特殊的for 循环

keys() -->列表

values()-->

items -->仅仅适用于for


十七,运算


age = 1

age += 1 #age=age+1


十八,文件的操作

1,file_obj = file('url','mode')#url是地址,mode是文件的操作模式  r 只读 ,w只写,a追加,w+只读只写  如果该文件已存在将其覆

盖。

    #file_obj.read() #将所有内容读入内存

    #file_obj.readlines() #将所有内容读入内存,并且将内容分行

    #for line in file_obj.xreadlines() #一行一行的读文件

        print line

    #for line in file_obj #每次循环只读一行,避免全部读入内存

    #file_obj.write()写入文件

    #file_obj.writelines()一行行写

    #file_obj.close()#关闭文件


file_obj = file('E:\log.txt','r')

line_list = file_obj.readlines()

for ele in line_list:

    line = ele.strip()

    value_list = line.split(';')#变成列表并以;分割

    last_value = int(value_list[-1]) #转换成整型

    last_value += 1

    value_list[-1] = last_value

    value_str = ';'.join(value_list)

file_obj.write('') 

            

              


       


你可能感兴趣的:(python)