Python应用场景
-
Web应用开发
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。 -
操作系统管理、服务器运维的自动化脚本
在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。 -
科学计算
NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。 -
桌面软件
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。 -
服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。 -
游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。 -
构思实现,产品早期原型和迭代
YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。
注释
单行注释:以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用
# 我是注释,可以在里写一些功能说明之类的哦
print('hello world')
多行注释
'''我是多行注释,
可以写很多很多行的功能说明
'''
print('hello world')
python程序支持中文
在程序的开头写入如下代码,用来支持中文。
#coding=utf-8
在python的语法规范中推荐使用的方式:
# -*- coding:utf-8 -*-
示例:
#coding=utf-8
print('你好')
变量以及类型
变量的定义
在Python中,存储一个数据,需要一个叫做变量的东西。程序就是用来处理数据的,而变量就是用来存储数据的。如下示例:
num1 = 100 #num1就是一个变量
num2 = 87 #num2也是一个变量
result = num1 + num2 #把num1和num2这两个数据进行累加,然后放到 result变量中
变量的类型
为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的。
在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要开发者主动的去说明类型,系统会自动辨别。可以使用type(变量的名字),来查看变量的类型。
标示符和关键字
标示符
开发人员在程序中自定义的一些符号和名称,标示符是自己定义的,如变量名、函数名等。
标示符的规则
标示符由字母、下划线和数字组成,且不能数字开头。python中的标识符是区分大小写的。
命名规则
- 见名知意。起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性)。
- 驼峰命名法。
- 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog。
- 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName。
- 下划线命名。在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf。
关键字
Python一些具有特殊功能的标示符,这就是所谓的关键字。关键字是Python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标示符。
可以通过下面命令查看所有的关键字:
import keyword
keyword.kwlist
结果如下:
格式化输出
什么是格式化
age = 10
print("我今年%d岁"%age)
age += 1
print("我今年%d岁"%age)
age += 1
print("我今年%d岁"%age)
常用的格式符号
输入
Python2版本
在Python2中,获取键盘输入的数据的方法是采用raw_input函数,示例如下:
password = raw_input("请输入密码:")
print '您刚刚输入的密码是:', password
运行结果:
注意:
- raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
- raw_input()在从键盘获取了数据以后,会存放到等号右边的变量中
- raw_input()会把用户输入的任何值都作为字符串来对待
在Python2中还有一个input()函数,input()函数与raw_input()类似,但其接受的输入必须是表达式。input()接受表达式输入,并把表达式的结果赋值给等号左边的变量。
>>> a = input()
123
>>> a
123
>>> type(a)
<type 'int'>
>>> a = input()
abc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
>>> a = input()
"abc"
>>> a
'abc'
>>> type(a)
<type 'str'>
>>> a = input()
1+3
>>> a
4
>>> a = input()
"abc"+"def"
>>> a
'abcdef'
>>> value = 100
>>> a = input()
value
>>> a
100
Python3版本
没有raw_input()函数,只有input()。并且Python3中的input与Python2中的raw_input()功能一样。
运算符
算术运算符
赋值运算符
复合赋值运算符
常用数据类型转换
比较逻辑关系
if判断语句
if 要判断的条件:
条件成立时,要做的事情
示例:
age = 16
print "------if判断开始------"
if age>=18:
print "我已经成年了"
print "------if判断结束------"
比较(关系)运算符
逻辑运算符