(一)简介
1.所有Python文件将以.py为扩展名;
2.一个简单的例子
#! /usr/bin/python
# coding=utf-8
def helloworld():
print “hello world!”
if __name__ == "__main__":
helloworld()
(1)Python中单行注释采用 # 开头;
(2)#! /usr/bin/python :指定编译器的位置;
(3)# coding=utf-8:指定中文编码;
(4)Python语句结束以换行结束,不用分号;
(5)Python的代码块不使用大括号来控制类,函数以及其他逻辑判断;Python最具特色的就是用缩进来写模块;缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行;
(6)Python中每个模块都有一个内置属性__name__,如果一个模块是被另一个模块import的,那么该模块__name__ 的值通常为模块文件名;如果像一个标准的程序样直接运行模块, __name__ 的值将是"__main__";
(7)Python中每一个.py文件都是一个模块,在一个模块中使用另一个模块的语句是:from 模块名 import *
(二)语法
1.数据类型
(1)Numbers(数字)
(2)Tuple(元组)
元组用"()"标识;内部元素用逗号隔开;但是元素不能二次赋值,相当于只读列表;
(3)String(字符串)
Python 接收单引号(' ),双引号(" ),三引号(''' """) 来表示字符串,其中三引号可以由多行组成,编写多行文本的快捷语法;
(4)List(列表)
列表用[ ]标识,支持字符,数字,字符串甚至可以包含列表(所谓嵌套);
(5)Dictionary(字典)
字典用"{ }"标识;字典由索引(key)和它对应的值value组成;
eg:tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
PS:
(1)Python中的变量不需要声明,变量的赋值操作同时也是变量声明和定义的过程;
(2)访问元组,字符串,列表以及字典使用“[]”访问,索引从0开始;
(3)定义空的字符串,列表或者字典分别使用a = “”,a = [],a = {}:添加元素分别使用a+=string,a.append[value],a[key] = value;
2.语句
(1)if语句
if 判断条件: 执行语句…… else: 执行语句……(2)while语句
while 判断条件: 执行语句……
(3)for语句
for iterating_var in sequence: statements(s)
PS:sequence为容器变量(字符串,元组,列表,字典)iterating_var为容器元素变量;
3.函数
def functionname( parameters ): function_suite return [expression]
4.类
class ClassName: class_suite #类体
(三)常见小知识点
1.append,extend与insert的区别:append是在list尾部插入一个元素,extend是在list尾部嵌入一个元素,insert是list指定位置插入一个元素;
2.python的赋值是只是把变量的内存地址赋值给另一个变量;
3.lambda表达式格式为:lambda 变量:式子
eg: f = lambda x:x+2
print f(2)
4.字典排序:返回一个列表,每个元素为一个元组;
sorted(a.items(),key = lambda x:x[1],reverse = True) 表示按照value进行降序
sorted(a.items(),key = lambda x:x[0],reverse = False)表示按照key进行升序
5.dict.items():返回字典的key-value元组数组;
6.异常处理语句:
try:
执行语句
except:
处理语句
7.json处理:
(1)json.loads:加载json数据;
(2)json.dumps:以json格式存储,json.dumps(dict,ensure_ascii=False).encode(‘utf-8’,‘ignore’)
PS:json的dumps操作默认会对中文使用ascii编码,因此为了正常显示中文,需要设置ensure_ascii为False;其中ignore表示忽略异常编码;
8.eval()函数可以将字符串当成正常的Python表达式来计算,比如eval(‘2+3’)返回5;
9.sys模块:
(1)sys.stdin:获取标准输入;
(2)sys.path.append():增加模块路径;
10.dict.get(key,value):获取字典dict的对应key的值,若不存在则置为value;
11.str.find(sub_str):字符串查找,若找到则返回位置,若找不到则返回-1;
12.pass:不执行,直接跳过;
13.str.replace('a','b'):将字符串中的字符‘a’替换为‘b’;
14.字符串在python内部默认是unicode编码,因此做转码时常需要将unicode作为中间编码,先decode成unicode再encode成需要的编码;
常见的中文编码有“gb2312”以及“utf-8”;