python学习笔记(1 )

1、在确定自己不会导入多个同名函数(从不同的模块导入)的情况下,可以使用

from math import sqrt  【from 模块 import 函数】

这样就可以直接使用sqrt(9),而不用每次都用math.sqrt(9)

2、可以使用变量来引用函数(及Python中的大多数对象),如

>>> import math
>>> foo = math.sqrt
>>> int(foo(16))
4

3、原始字符串,在要输出的字符串前加一个 r ,就不会进行转义了(但是原始字符串的最后一个字符不能是 \ ,除非对它转义)

>>> print 'c:\now'
c:
ow
>>> print r'c:\now'
c:\now

4、分片,用于提取序列的一部分

>>> numbers = [1,2,3,4,5,6,7,8,9]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:1] #用[-3:-1]取得7、8    #用[-3:]取得最后三位
[1]
>>> numbers[::2]  #第三个数字为步长
[1, 3, 5, 7, 9]
>>> numbers[8:3:-2]	#步长不能为0,但可以为负数
[9, 7, 5]

5、索引
>>> "Hello"[1]    #[-1]得最后一个'o'
'e'

>>> forth = raw_input("Year:")[3]
Year:2008
>>> forth
'8'


6、in 成员资格,用in运算符检测一个值是否在序列中

database = [
	['a','1234'],
	['b','0985'],
	['c','9527'],
	]
username = raw_input("username:")
pin = raw_input("pin:")
if[username,pin] in database:
    print "Access granted"

7、分片赋值

>>> name = list("he")
>>> name
['h', 'e']
>>> name[1:] = list("is")
>>> name
['h', 'i', 's']
>>> numbers = [1,5]
>>> numbers[1:1] = [2,3,4]  #'替换'空的分片
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:3]=[]	#删除
>>> numbers
[1, 4, 5]

8、列表的复制

y = x[ : ] , 不要用y=x,这样x和y就指向同一个列表了

9、字符串格式化

>>> s = "hello %s,%s python"
>>> values = ("I","HATE")<span style="white-space:pre">	</span>#只有元组和字典可以格式化一个以上的值
>>> print s % values
hello I,HATE python
10、模板字符串


11、字符串的translate函数

>>> from string import maketrans
>>> table = maketrans("cs","kz")  #maketrans参数为两个等长的字符串,表示第一个字符串中的每个字符都用第二个字符串中相同位置的字符替换
>>> len(table)
256
>>> table[97:123]
'abkdefghijklmnopqrztuvwxyz'
>>> maketrans("","")[97:123]<span style="white-space:pre">	</span>#maketrans中包含了256个ASCII字符
'abcdefghijklmnopqrstuvwxyz'
>>> "this is a incredible test".translate(table)
'thiz iz a inkredible tezt'

12、== 与 is

>>> x = y = [1,2,3]
>>> z = [1,2,3]
>>> x==y
True
>>> x is y<span style="white-space:pre">	</span>#is是同一运算符,== 判断两个对象是否相等,is判断是否等同(同一对象)
True
>>> x is z
False


未完待续。。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章