1. 简介
Python 是一个解释型高级语言,无需像c/c++一样需要提前编译,而是直接编写后便能运行。
该专题会尽量在三到五个章节将基本语法和使用描写清楚,并且提供对应的运行示例代码,如果还有不清楚的地方,会提供更详细的语法学习连接;中间三到五个章节描写python的一些高级用法,如类、线程、函数指针等;后面五到八个章节从编码开发者的角度来实战,由简入深,从配置文件读写、mysql数据库操作到redies缓存、web框架、任务队列等。
鄙人认为,python基本语法相对于其它编程语言如c/c++/java等,是一门容易入门的编程语言,通过从本专题的学习和示例中多加斟酌,应该是容易进入python编程开发的大军的。
Python的学习,不仅仅只是为了学会一门编程语言,写几个hello word类似的脚本,大部分还是为了增加各个方面的知识面,在工作中能够使用的上,因此,本专题是以实用为主,从研发者的角度来分析项目中所需要用到一些开源库。因此,建议后面的章节能够多花一些时间反复琢磨,毕竟,越折腾,越快乐。
2. Hell world
Hello word作为编程语言入门的经典,这里也简单给个示例,不做过多解释,在后面的基本语法学完之后,自然而然就知道为什么这么写了。
示例代码:https://github.com/minlixia/python (base_1/hello_word.py)
# coding=utf-8
# hello word 脚本
def main():
'''
主函数
:return:
'''
print('hello word')
if __name__ == '__main__':
main()
运行结果如下:
[root@localhost base_1]# python hello_word.py
hello word
[root@localhost base_1]#
3. 基本语法
3.1 Python运行方式
3.1.1 交互式编程
交互式编程不需要创建脚本文件,是通过 Python解释器来交互式运行代码,在Linux控制台上 输入python 命令即可启动交互式编程,提示窗口如:
输入print输出语句,即可直接执行print代码,将hello word字符串输出在控制台。
交互式编程主要用于测试和学习,具体项目中,主要还是用脚本运行的方式。
记录: 进入交互式编程后,可以通过按ctrl+z退出
3.1.2 脚本编程
如第二章节,将代码保存在hello_word.py文件中,然后在linux控制台,用python hello_word.py的方式运行,这种方式为脚本运行。
3.2 Hello word解释
该小节为中间临时加的一个章节,希望能够通过解释第一个脚本,对python的编码为什么需要这么些有个大体的了解,按照编号A->B->C的顺序看
A.注释 (#为注释)
# coding=utf-8 (定义脚本为utf8编码,如果不定义,该脚本如果存在中文,则会报错)
# hello word 脚本 (该脚本所实现的功能,可不定义)
C. 函数实体(main
函数可以自行)
def main():
''' (''' '''为多行注释)
主函数
:return:
'''
print('hello word') (print输出语句)
B. 程序运行入口 (main)
if __name__ == '__main__':
main()
3.3 关键字
代码由编程语言的关键字和变量组成,python解释器通过解析指定的关键字而运行(例如print就是python用于输出的关键字)。
关键字 |
描述 |
示例 |
# |
注释 |
#这是一个注释 |
''' ''' |
多行注释 |
'' |
import |
用来导入模块,有时这样用from....import |
import os (导入系统模块,便可以调用os下的函数,例如os.system()) |
from |
用来导入模块,有时这样用from....import |
from a import b |
global |
定义全局变量 |
global a |
|
输出函数 |
print(‘hello world’) |
and |
表示逻辑‘与’ |
1 and 2 |
or |
表示逻辑‘或者’ |
1 or 2 |
not |
表示逻辑‘非’ |
not true |
break |
作用是终止循环,一般用于for、while中 |
|
pass |
pass的意思就是什么都不做 |
|
continue |
跳过continue后面循环块中的语句,继续进行下一轮循环,一般用于for、while中 |
|
if |
if语句用于选择分支,依据条件选择执行那个语句块 |
if a < 100: a++ |
else |
和if结合使用,当条件不为if时,就执行else的逻辑。 |
if a<100:a+1;:a++ |
elif |
if配合使用的,if语句中的一个分支用elif表示 |
if a<100:a+1;:a++ |
in |
查找列表中是否包含某个元素 |
1 in [1, 2, 3] |
is |
判断的是a对象是否就是b对象,是通过id来判断的 |
a is b |
for |
循环,当满足for后的条件时候,执行for内的代码 |
for i in range(0,100) |
while |
while循环,允许重复执行一块语句,(和上面for类似,区别是while先执行逻辑在判断条件) |
while True: a++ |
def |
用于定义函数 |
def main() |
return |
函数的返回 |
|
assert |
表示断言,用于声明某个条件为真,如果该条件不是真的,则抛出异常 |
assert 1==1 |
try |
出现在异常处理中,使用格式为:try...except,try中放想要执行的语句,except捕获异常 |
try: Print(‘aaa’) except Exception as ex: pass |
except |
异常捕获 |
同上 |
finally |
Try的内容,不管是否异常,必然执行finally语句的代码块 |
ry: Print(‘aaa’) except Exception as ex: pass finally: print(‘end’) |
raise |
抛出一个异常 |
raise MyException(‘aaa’) |
class |
类定义 |
class A |
exec |
行储存在字符串或文件中的Python语句 |
exec 'print "Hello World"' |
lambda |
匿名函数 |
|
yield |
和return很像,但它返回的是一个生成器 |
|
3.4 变量
变量类型 |
示例 |
描述 |
int |
10 |
有符号整型 |
long |
51924361L |
长整型[也可以代表八进制和十六进制] |
float |
0.0 |
浮点型 |
complex |
3.14j |
浮点型 |
str |
China |
字符串 |
list |
[1,2,3,4,5] |
列表 |
tuple |
(aa, 123 ) |
元组 |
dict |
{‘key’: value} |
字典 |
所有的变量均可以用type(var)打印查看:
3.5常用函数
后续整理