0、Python的一些命名规范:
1)项目名称:首字母大写+大写式驼峰,如:ProjectName
2)模块名和包名:全部小写+下划线驼峰,如:module_name
3)类名称,异常:首字母大写+大写式驼峰,如:ClassName: ,ExceptionName
4)全局变量和常量:全部使用大写字母+下划线驼峰,如:GLOBAL_VAR_NAME
5)方法名,函数名,其余变量,参数,实例:全部小写+下划线驼峰,如:method_name
1、
(1)Python2中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了。
(2)Python3. 源码文件默认使用utf-8编码,所以可以正常解析中文,可以不指定 UTF-8 编码。
2、
(1)Python 中的标识符是区分大小写。
(2)以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
(3)以双下划线开头的 __foo 代表类的私有成员。
(4)以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
(5)缩进的空白数量是可变的,2个或者4个空格,但是所有代码块语句必须包含相同的缩进空白数量。
(6)python中单行注释采用 # 开头;python 中多行注释使用三个单引号 ''' 或三个双引号 """。
(7)if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组
3、
(1)变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
(2)Python有五个标准的数据类型:
Numbers(数字):var1 = 1
String(字符串):s = "a1a2···an"
1)python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
2)字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,但不包含尾下标的字符。
3)索引 1 到索引 4 的位置并设置为步长为 2:[1:4:2]。
List(列表)
1)列表用 [ ] 标识,是 python 最通用的复合数据类型。
2)可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,,但不包含尾下标的字符。
list[2:] # 从第三个开始至列表末尾的所有元素
list[:4] # 从0开始至列表第四个元素,不包括list[4]
Tuple(元组):tinytuple = (123, 'john')
1)元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表
2)tuple[1:3] # 第二个至第四个(不包含)的元素
Dictionary(字典): dict = {}
1)列表是有序的对象集合,字典是无序的对象集合.
2)字典当中的元素是通过键来存取的,而不是通过偏移存取
3)print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
注意:strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象
4、
1)成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组:if ( b not in list ):
2)身份运算符用于比较两个对象的存储单元:
x is not y :is not 是判断两个标识符是不是引用自不同对象
3)逻辑运算符:not and or
4)for循环
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print ('当前水果: %s'% fruit)
for index in range(len(fruits)):
print ('当前水果 : %s' % fruits[index])
5、
Python 模块:(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
1)import 语句
使用 import 语句来引入模块; import math
在调用 math 模块中的函数时,必须这样引用:模块名.函数名
2)from…import 语句
from 语句让你从模块中导入一个指定的部分到当前命名空间中
from fib import fibonacci:将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表
3)搜索路径
导入一个模块,Python 解析器对模块位置的搜索顺序是:
1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录,set PYTHONPATH=c:\python27\lib;
3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。
4)dir() 函数一个排好序的字符串列表,返回的列表容纳了在一个模块里定义的所有模块,变量和函数。
import math
content = dir(math)
5)Python包
分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。
包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。
6、
异常处理:
捕捉异常可以使用try/except语句:用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
try:
正常的操作
......................
except(Exception1[, Exception2[,...ExceptionN]]):
发生以上多个异常中的一个,执行这块代码
......................
else:
如果没有异常执行这块代码
try-finally 语句无论是否发生异常都将执行最后的代码
try:
<语句>
finally:
<语句> #退出try时总会执行
raise
7.文件I/O
1)标准输出:print
2)标准输入是键盘:input("请输入:")
3)内置的open()函数打开一个文件,创建一个file对象:open("foo.txt", "w")
4)File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入
5)write()方法可将任何字符串写入一个打开的文件
6)read()方法从一个打开的文件中读取一个字符串