> 文章列表 > python初步(一)

python初步(一)

python初步(一)

1、python 概述

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
Python 是一个高层次的结合了解释型、互动性和面向对象的脚本语言。
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python的解释器有多个语言实现,我们常用的是CPython(官方版本的C语言实现),其他还有Jython(可以运行在Java平台)、
IronPython(可以运行在.NET和Mono平台)、PyPy(Python实现的,支持JIT即时编译)
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

2、python 的优点

1、易于学习

Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

2、易于阅读

Python代码定义的更清晰。

3、易于维护

Python的成功在于它的源代码是相当容易维护的。

4、一个广泛的标准库

Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

5、互动模式

互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

6、可移植

基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

7、可扩展

如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

8、数据库接口

Python提供所有主要的商业数据库的接口。

9、GUI编程

Python支持GUI可以创建和移植到许多系统调用。

10、可嵌入

你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

3、python 应用

1、web 应用开发

Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。

2、操作系统管理、服务器运维的自动化脚本

在很多操作系统里,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脚本。

3、科学计算

NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。

4、桌面软件

PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。

5、服务器软件(网络软件)

Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

6、游戏

很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。

7、构思实现

产品早期原型和迭代 YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。

4、注释

python 中的注释有单行注释和多行注释,单行注释以#开头,多行注释用三个单引号’‘’或者三个双引号“”“将注释括起来

5、标识符

开发人员在程序中自定义的一些符号和名称
自定义的,如变量名、函数名等

1、标识符的规则

标识符由字母、下划线和数字组成,且数字不能开头
python 中的标识符是区分大小写的

2、标识符的规范

见名知意,起一个有意义的名字,尽量做到看一眼就知道什么意思(提高代码的可读性),比如:名字就定义为name,定义学生是student
小驼峰命名法(lower camel case):第一个单词以小写字母开头,第二个单词的首字母大写,例如:myName,aDog
大驼峰命名法(upper camel case):每一个单词的首字母都采用大写字母,例如:FirstName,LastName
不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如:send_buf

6、关键字

python 一些具有特殊功能的标识符,这就是所谓的关键字
关键字是 python 已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符,可以通过以下命令进行查看当前系统中python 的关键字

import keyword
keyword.kwlist

7、变量和类型

1、变量的定义

变量是内存中的一块存储区域,可以存储数据。如:

a = 1
a = b = c = 3
a, b, c = 1, 2, 'hello'

2、变量的类型

为了更充分地利用内存空间以及更有效率的管理内存,变量是有不同的类型
Number(数字):int(整型)、float(浮点型)、complex(复数)
bool(布尔类型):True、False
String(字符串)
List(列表)
Tuple(元祖)
Set(集合)
Dictionary(字典)
在 python 中,只要定义了一个变量,而且它有数据,那么它的类型就已经 确定了,不需要开发者主动地去说明它的类型,系统会自动辨别 可以使用 type(变量的名字),来查看变量的类型

8、数据类型转换

函数 描述
int(x[,base]) 将x转换为一个整数
float(x) 将x转换为一个浮点数
str(x) 将对象x转换为字符串
repr(x) 将对象x转换为表达式字符串
eval(str) 用来计算在字符串中的有效python表达式并返回一个对象
tuple(s) 将序列s转换为一个元祖
list(s) 将序列s转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典,d必须是一个(key,value)元祖序列
chr(x) 将一个整数转换为一个字符
ord(x) 讲一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制的字符串
oct(x) 将一个整数转换为一个八进制的字符串

9、输入和输出

1、print 输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=‘’

2、格式化输出

在程序中,看到了 % 这样的操作符,这就是 python 中格式化输出,如:

age = 10print("我今年%d岁"%age)

3、常用的格式符号

格式符号 转换
%c 字符
%s 通过str()字符串转换来格式化
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%e 索引符号
%E 索引符号
%f 浮点实数
%g %f和%e的简写
%G %f和%E的简写

4、换行输出

在输出的时候,如果有 \\n ,那么此时 \\n 后的内容会在另外一行展示

5、输入

python 提供了 input() 函数从标准输入读入一行文本,默认的标准输入是键盘。input 可以接收一个 python 表达式作为输入,并将运算结果返回

10、运算符

令 a = 10,b = 21

1、算术运算符

运算符 描述 实例
+ 加:两个对象相加 a + b 输出结果 31
- 减:得到负数或者一个数减去另一个数 a - b 输出结果 -11
* 乘:两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210
/ 除:x 除以 y b / a 输出结果 2.1
% 取模:返回除法的余数 b % a 输出结果 1
** 幂:返回 x 的 y 次幂 a**b 为 10 的 21 次方
// 取整除:向下取接近商的整数 b // a 输出结果 2

2、比较运算符

所有比较运算符返回1表示真,返回0表示假,这分别与特殊的变量 True 和 False 等价(注意这些变量的大写)。

运算符 概述 实例
== 等于:比较对焦是否相等 (a == b) 返回 False
!= 不等于:比较两个对象是否不相等 (a != b)返回 True
> 大于:返回 x 是否大于 y (a > b)返回 False
< 小于:返回 x 是否小于 y (a < b )返回 True
>= 大于等于:返回 x 是否大于等于 y (a >= b)返回 False
<= 小于等于:返回 x 是否小于等于 y (a <= b)返回 True

3、赋值运算符

运算符 描述 实例
= 简单的赋值运算符 c=a+b 将 a+b 的结果赋值给 c
+= 加法赋值运算符 c+=a 等效于 c=c+a
-+ 减法赋值运算符 c-=a 等效于 c=c-a
*= 乘法赋值运算符 c*=a 等效于 c=c*a
/= 乘法赋值运算符 c/=a 等效于 c=c/a
%= 除法赋值运算符 c%=a 等效于 c=c%a
**= 幂赋值运算符 c**=a 等效于 c=c**a
/= 取整除赋值运算符 c//=a 等效于 c=c//a

4、逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔“与”:如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值 (a and b) 返回20
or x or y 布尔“或”:如果 x 为 True,x or y 返回 x 的值,否则返回 y 的计算值 (a or b) 返回10
not not x 布尔“非”:如果 x 为 True,not x 返回 False,如果 x 为 False,not x 返回 True not( (a and b) )返回 False