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常用函数
后续整理