在Python中有4种类型的数——整数、长整数、浮点数和复数。
2
是一个整数的例子。- 长整数不过是大一些的整数。
3.23
和52.3E-4
是浮点数的例子。E标记表示10的幂。在这里,52.3E-4
表示52.3 * 10
-4。(-5+4j)
和(2.3-4.6j)
是复数的例子。
给C/C++程序员的注释
在Python中没有专门的char
数据类型。确实没有需要有这个类型,我相信你不会为此而烦恼。
给Perl/PHP程序员的注释
记住,单引号和双引号字符串是完全相同的——它们没有在任何方面有不同。
给正则表达式用户的注释
一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以写成'\\1'
或r'\1'
。
(如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r
或R
来指定。例如r"Newlines are indicated by \n"
。)
字符串是不可变的
使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。
关于python缩进的问题
当行首有一个空格。Python指示的这个错误告诉我们程序的语法是无效的,即程序没有正确地编写。我们不能随意地开始新的语句块 (当然除了你一直在使用的主块)
不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,在每个缩进层次使用单个制表符或两个或四个空格。只使用这一种风格。
Python函数
如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global
语句完成这一功能
def func():
global x
print 'x is', x
x = 2
print 'Changed local x to', x
x = 50
func()
print 'Value of x is', x
输出
$ python func_global.py
x is 50
Changed global x to 2
Value of x is 2
global
语句被用来声明x
是全局的——因此,当我们在函数内把值赋给x
的时候,这个变化也反映在我们在主块中使用x
的值的时候。
你可以使用同一个global
语句指定多个全局变量。例如global x, y, z
。
<S>python的语句结尾可以不要分号,使用缩进来区分代码是否属于某个方法。
<S>只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)
是有效的,但是def func(a=5, b)
是 无效 的。
DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它
http://old.sebug.net/paper/python/ch07s07.html
如何使用导入的模块
http://old.sebug.net/paper/python/ch08.html
数据结构基本上就是——它们是可以处理一些 数据 的 结构 。或者说,它们是用来存储一组相关数据的。
在Python中有三种内建的数据结构——列表、元组和字典。
元组:
元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
字符串常用的方法
startwith
方法是用来测试字符串是否以给定字符串开始。in
操作符用来检验一个给定字符串是否为另一个字符串的一部分。
find
方法用来找出给定字符串在另一个字符串中的位置,或者返回-1以表示找不到子字符串。str
类也有以一个作为分隔符的字符串join
序列的项目的整洁的方法,它返回一个生成的大字符串。
name = 'Swaroop' # This is a string object
if name.startswith('Swa'):
print 'Yes, the string starts with "Swa"'
if 'a' in name:
print 'Yes, it contains the string "a"'
if name.find('war') != -1:
print 'Yes, it contains the string "war"'
delimiter = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
print delimiter.join(mylist)
输出
$ python str_methods.py
Yes, the string starts with "Swa"
Yes, it contains the string "a"
Yes, it contains the string "war"
Brazil_*_Russia_*_India_*_China