菜鸟的python学习之路,,一,编码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,多行注释 可以使用 """ 开始 """结束

#thepythonscriptforsysteminfoget#普通单行注释文件"""name=raw_input("")ifname=="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‘imwq.age222222‘“%s”(代表字符串)“%d”(代表数字)>>>name="wqw%s%d">>>name%("wq",4444)‘wqwwq4444‘


2,format

name="iam{0},age{1}"name.format("wq",18)‘iamwq,age18‘3,name="iam{0},age{1}"new_name=name.format("wq",18)printnew_name


九 ,索引

1,

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


2,

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


十,去空格


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


十一,分割

printname.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(‘‘)




本文出自 “一只小强” 博客,请务必保留此出处http://51ace.blog.51cto.com/8224420/1706650

菜鸟的python学习之路

评论关闭