简明python教程(上)
2010年06月11日
1、基本概念
(1)字面意义上的常量
(2)在Python中有4种类型的数――整数、长整数、浮点数和复数。
(3)字符串
使用单引号(')
你可以用单引号指示字符串。
使用双引号(")
在双引号中的字符串与单引号中的字符串的使用完全相同。
使用三引号('''或""")
利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。
自然字符串
如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。R’test \n’
Unicode字符串
Unicode是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语写文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文本――你只需要在字符串前加上前缀u或U
字符串是不可变的
这意味着一旦你创造了一个字符串,你就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。
按字面意义级连字符串
如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。
例如,'What\'s' 'your name?'会被自动转为"What's your name?"。
给C/C++程序员的注释
在Python中没有专门的char数据类型。确实没有需要有这个类型,我相信你不会为此而烦恼。
给Perl/PHP程序员的注释
记住,单引号和双引号字符串是完全相同的――它们没有在任何方面有不同。
给正则表达式用户的注释
一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以写成'\\1'或r'\1'。
(4)变量
变量的值可以变化,即你可以使用变量存储任何东西。变量只是你的计算机中存储信息的一部分内存。
(5)标识符
标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则:
标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)。
标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。
标识符名称是对大小写敏感的。
(6)对象
Python把在程序中用到的任何东西都称为对象。就每一个东西包括数、字符串甚至函数都是对象这一点来说,Python是极其完全地面向对象的。
(7)逻辑行与物理行
默认地,Python希望每行都只使用一个语句,这样使得代码更加易读。
如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。
强烈建议你坚持在每个物理行只写一句逻辑行
(8)缩进
空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
你需要记住的一样东西是错误的缩进会引发错误。
如何缩进
不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。强烈建议在每个缩进层次使用 单个制表符 或 两个或四个空格 。
选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这一种风格。
2、运算符与表达式
3、控制流
(1)if
if语句在结尾处包含一个冒号,elif和else从句都必须在逻辑行结尾处有一个冒号。
在Python中没有switch语句。
(2)while
只要在一个条件为真的情况下,while语句允许你重复执行一块语句。
while语句有一个可选的else从句。当while循环条件变为False的时候,else块才被执行
(3)for…in
range 向上 延伸到第二个数,即它不包含第二个数
(4)break
如果你从for或while循环中 终止 ,任何对应的循环else块将不执行。
输入字符串的长度通过内建的len函数取得。
(5)continue
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环。
4、函数
函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。
(1)形参
(2)局部变量
如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是全局的。
global语句被用来声明x是全局的――因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。你可以使用同一个global语句指定多个全局变量。例如global x, y, z。
(3)默认参数值
对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。
注意,默认参数值应该是一个参数。更加准确的说,默认参数值应该是不可变的。
只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。
(4)关键参数
如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值――这被称作 关键参数 ――我们使用名字(关键字)而不是位置来给函数指定实参。
(5)return语句
没有返回值的return语句等价于return None。None是Python中表示没有任何东西的特殊类型。
pass语句在Python中表示一个空的语句块。
(7)DocStrings
Python有一个很奇妙的特性,称为 文档字符串 ,它通常被简称为 docstrings 。DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!
文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。
使用__doc__(注意双下划线)调用函数的文档字符串属性
5、模块
模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。
用import语句 输入 sys模块。
sys模块中的argv变量通过使用点号指明sys.argv
sys.argv包含了 命令行参数 的列表,即使用命令行传递给你的程序的参数。
sys.path的第一个字符串是空的――这个空的字符串表示当前目录也是sys.path的一部分,这与PYTHONPATH环境变量是相同的。这意味着你可以直接输入位于当前目录的模块。否则,你得把你的模块放在sys.path所列的目录之一。
(1)字节编译的.pyc文件
输入(import)一个模块相对来说是一个比较费时的事情,所以Python做了一些技巧,以便使输入模块更加快一些。一种方法是创建 字节编译的文件 ,这些文件以.pyc作为扩展名。字节编译的文件与Python变换程序的中间状态有关。当你在下次从别的程序输入这个模块的时候,.pyc文件是十分有用的――它会快得多,因为一部分输入模块所需的处理已经完成了。另外,这些字节编译的文件也是与平台无关的。
(2)from..import语句
如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。
(3)模块的__name__
每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。这在一个场合特别有用――就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成。
(4)制造你自己的模块
创建你自己的模块是十分简单的,你一直在这样做!每个Python程序也是一个模块。你已经确保它具有.py扩展名了
(5)dir()函数
你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。
当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。
发表评论
-
hash 表
2012-01-20 12:20 525hash 表 2011年04月07日 hash 表是基于 ... -
Android的交叉编译工具
2012-01-20 12:20 1057Android的交叉编译工具 2 ... -
GNU/Linux 编程中的定时器
2012-01-20 12:20 1643GNU/Linux 编程中的定时器 2011年06月08日 ... -
Linux设备驱动开发入门――Hello world
2012-01-20 12:20 782Linux设备驱动开发入门――Hello world 201 ... -
mod_python3.2.8中文手册(1、2、3)
2012-01-19 17:01 918mod_python3.2.8中文手册(1、2、3) 201 ... -
Python2.6+PyQt4.8+eric4+汉化+开发教程
2012-01-19 17:01 1497Python2.6+PyQt4.8+eric4+汉化+开发教程 ... -
简明python教程(下)
2012-01-19 17:01 700简明python教程(下) 2010 ... -
玩手机的都来看,教祢认识Python
2012-01-19 17:01 556玩手机的都来看,教祢认识Python 2010年08月03日 ... -
VB窗口图表化
2012-01-17 06:45 582VB窗口图表化 2011年04月20日 '本模块为实现托 ... -
VB 两小时
2012-01-17 06:45 514VB 两小时 2011年09月25日 Option Ex ... -
使用 Shell 属性及方法
2012-01-17 06:45 999使用 Shell 属性及方法 2 ... -
VB关机代码
2012-01-17 06:45 652VB关机代码 2011年07月20日 .首先在Form1 ... -
VB 打开网络连接
2012-01-17 06:45 769VB 打开网络连接 2011年10月29日 Option ... -
越南签证、柬埔寨签证价格表
2012-01-16 05:35 599越南签证、柬埔寨签证价格表 2011年03月31日 20 ... -
越南旅游
2012-01-16 05:35 475越南旅游 2009年11月17日 a.越南驻中国大使馆: ... -
我国驻越南的外交机构
2012-01-16 05:35 544我国驻越南的外交机构 2011年03月23日 中国驻越南 ... -
中国驻各国大使馆电话及地址
2012-01-16 05:35 675中国驻各国大使馆电话及地址 2009年08月13日 ... -
各国驻香港大使馆
2012-01-16 05:35 583各国驻香港大使馆 2011年05月10日 香港机票网 ...
相关推荐
简明Python教程.pdf
简明python教程,python基础内容,基本编程方法
简明 Python 教程 Python3 适合新手
Python初学教程:《简明Python教程》
简明 python 教程 简明 python 教程简明 python 教程 简明 python 教程
简明 Python 教程为 "A Byte of Python" 的指定简体中文译本
简明Python教程 python快速入门教程,简单明了,上手容易
简明 Python 教程 《简明 Python 教程》为 "A Byte of Python" 的唯一指定简体中文译本,版权 © 2005 沈洁元 本书依照 创作公用约定(署名-非派生作品-非商业用途) 发布。
此书为A Byte of Python 简明Python教程 英文版 另外上传了中文版,可以找一下 A Byte of Python 简明Python教程 中文版
简明Python教程(重新排版打印版) 简明Python教程(重新排版打印版)
简明python教程,Html版本的。 分享给大家~~~~~~~
简明python教程 4.08C 第四版,包括代码部分 简明python教程 4.08C 第四版,包括代码部分
简明Python教程,学简明Python教程 .. .
对于初学者十分有用的简明Python教程,中文版,经典教程!PDF
简明python教程+源代码,英文原版名为《A Byte of Python》。它非常简明扼要地介绍了Python语言基础的各个方面。 适合群体: 仅仅临时使用Python的新手,非专业性地临时运用十来行简单代码就能自动化处理一些工作。 ...
简明Python教程(HTML),离线版《简明python》
简明Python教程(第四版)