分类: Python/Ruby
2010-12-16 13:56:50
Python 中的每样东西都是对象,不同与其他面向对象语言的是:
第一,Python 中的所有数据值都被封装在相关对象类中。
第二,Python 程序中的所有东西都是可以从程序访问的对象,即使是您编写的代码也不例外。
Python 不包含像 int 这样的简单类型 —— 只有对象类型。如果 Python 中需要整数值,将整数赋值给相应变量(如 i = 100 )即可。在后台,Python 将创建一个整数对象,并将对新对象的引用赋值给变量。问题的关键是:Python 是一种动态类型化语言,所以无需声明变量类型。事实上在单个程序中,变量的类型是可以改变(多次)的。
可以将 PyObject 类之下的所有 Python 类划分为 Python 运行时解释器可以使用的四个主要类别:
1) 简单类型 —— 基本构建块,如 int 和 float。
2) 容器类型 —— 保存其他对象。
3) 代码类型 —— 封装 Python 程序的元素。
4) 内部类型 —— 程序执行期间使用的类型。
本次重点介绍简单类型。
Python 有五个内置的简单类型:bool、int、long、float 和 complex。这些类型是不可变的,就是说整数对象一旦创建,其值便不可更改。相反,系统将创建新的简单类型对象并将其赋值给变量。通过 Python id 函数,可以查看基本 PyObject 标识的变更方式:
整数有两种,分别是 int 和 long。其中 int 最大值是 2147483647 (sys.maxint),而 long 长度仅受内存大小限制。
1. abs(x) 取绝对值。
2. coerce(x, y) 将两个数字转换成相同类型。
6. min(x [, y, z...]) 返回最小的一个数。
7. max(x [, y, z...]) 返回最大的一个数。
8. cmp(x, y) 比较数字。x > y 返回 1, x == y 返回 0, x < y 返回 -1。
字符串同样支持转义符。还记得 C# 字符串前面那个常用的 "@" 吗?Python 也有类似的东西,就是 "r"。
Python 拥有非常方便的切片处理能力,我们可以使用负索引号从字符串结尾进行索引。
Python 同样支持格式化字符串,类似 C# 中的 String.Format。包括各种类型以及固定宽度输出。
Python 使用如下方式支持 Unicode。
1. lstrip() / rstrip() / strip() 好像多数语言都命名为 LTrim() / RTrim() / Trim()。
>>> " abc ".strip()
'abc'
2. expandtabs() 将 TAB 替换成指定数量的空格。
3. lower() / upper() 大小写转换。
4. swapcase() / title() / capitalize() 分别将全部字符,每单词首字符,短语首字符转成大写。
5. isxxxx 判断字符串... 没啥好说的。
6. find() 查找子串,类似的还有 index() / rindex() / rfind()。rxxx 表示找最后一个子串, index 在找不到时会触发异常。
7. count() 统计子串数量。
8. replace() 替换子串
9. split() 分解字符串。
10. join() 连接字符串。
3. divmod(a, b) 获取商和余数。返回一个 tuple,如 (2, 1) 分别是商和余数。
4. pow(x, y) 取幂,和 ** 操作符意义相同。
5. round(x, [n]) 四舍五入
>>>>>> round(3.1415926535897932,2)
3.1400000000000001
>>>>>> round(2.4567,2)
2.46
转载自: