Python学习笔记~

View Code
  1 from 模块 import 函数
  2     >>> from math import sin
  3     >>> sin(1.5)
  4     0.9974949866040544
  5 
  6 直接import
  7     >>> import cmath
  8     >>> cmath.sqrt(-9)
  9     3j
 10 
 11 字符串表示,str和repr
 12     >>> print 100000L
 13     100000
 14     >>> print (10000L)
 15     10000
 16     >>> print ("1000L")
 17     1000L
 18     >>> print repr("Hello world!") repr:创建一个字符串,以合法的Python表达式的形式来表示值。
 19     'Hello world!'
 20     >>> print repr(10000L)
 21     10000L
 22     >>> print str("Hello") str:把值转换为合理形式的字符串,以便用户理解
 23     Hello
 24     >>> print str(1000L)
 25     1000
 26 (Plus 反引号`: used in 2.7 deprecated.)
 27 
 28 raw_input: 把所有的输入当做原始数据,放入字符串中
 29 
 30 长字符串: 三个引号 or \[回车]
 31 
 32 print r's\tring' 输入原始字符串。不能以'\'结尾(显而易见)
 33 
 34 print u"unicode string" 2.7以后不支持?
 35 
 36 序列:
 37 
 38 1 索引:
 39     >>> week = ['Mon', 'Tue'] + 3 * ['Wed']
 40     >>> week
 41     ['Mon', 'Tue', 'Wed', 'Wed', 'Wed']
 42     >>> week[1]
 43     'Tue'
 44 
 45 2 分片:
 46     >>> week[1:3]
 47     ['Tue', 'Wed']
 48     >>> week[1:2]
 49     ['Tue']
 50     >>> week[-3:]
 51     ['Wed', 'Wed', 'Wed']
 52 
 53 3 步长
 54     >>> num = [1,2,3,4,5,6,7,8,9]
 55     >>> num[1:7:2]
 56     [2, 4, 6]
 57     >>> num[7:1:-2]
 58     [8, 6, 4]
 59 
 60 空值 None
 61 
 62 布尔值 True False
 63 
 64 成员资格 in
 65     >>> array = [1,2,3]
 66     >>> 1 in array
 67     True
 68     >>> 4 in array
 69     False
 70 
 71 长度、最大值和最小值 len max min
 72 
 73 列表:
 74     list函数 返回列表
 75     >>> array=[1,2,3,4,5]
 76     >>> list(array)
 77     [1, 2, 3, 4, 5]
 78 
 79     del array[1] 删除元素
 80     分片赋值 and so on.
 81     
 82     列表方法:
 83         append(element)
 84         count(element)
 85         extend(lsit)
 86         index(element)
 87         isert(index, element)
 88         pop() & pop(index)
 89         remove(element)
 90         reverse()
 91         sort()
 92         cmp(element, element)
 93         
 94 
 95 元组:
 96     >>> (1, 2, 3)
 97     (1, 2, 3)
 98     >>> (1,)
 99     (1,)
100     >>> (1)
101     1
102     
103     tuple函数:返回元组
104     >>> tuple([1, 2, 3])
105     (1, 2, 3)
106     >>> tuple('yes')
107     ('y', 'e', 's')
108     
109 字符串
110     格式化输出
111     方法:
112         find rfind index rindex count startwith endwith
113         join split(element) splitlines
114         lower islower capitalize swapcase title istitile upper isupper
115         replace(a, b)
116         strip() strip(element)
117         
118         >>> import string
119         >>> table = string.maketrans('ex', 'ez')
120         >>> len(table)
121         256
122         >>> table[97: 123]
123         'abcdefghijklmnopqrstuvwzyz'
124         >>> 'index fix fex'.translate(table)
125         'indez fiz fez'
126 
127 字典:
128     >>> stu = {'tom': '026', 'van': '027', 'von': '028', 'Liang': '029'}
129     >>> stu
130     {'von': '028', 'van': '027', 'Liang': '029', 'tom': '026'}
131     >>> stu['von']
132     '028'
133     >>> stu = [('tom', '1'), ('jim', '2')]
134     >>> stu
135     [('tom', '1'), ('jim', '2')]
136     >>> d = dict(stu)
137     >>> d
138     {'jim': '2', 'tom': '1'}
139     >>> d['jim']
140     '2'
141     >>> d = dict(name = 'tom', age = '23')
142     >>> d
143     {'age': '23', 'name': 'tom'}
144     
145     键可以为任何不可变类型
146     
147     >>> x = [None] * 5
148     >>> x
149     [None, None, None, None, None]
150     
151     >>> x = {}
152     >>> x
153     {}
154     >>> x['q'] = 123
155     >>> x
156     {'q': 123}
157     
158     字典的格式化字符串:
159         >>> phone = {'tom': '110', 'jim': '120'}
160         >>> 'tom\'s phone number is %(tom)s' % phone
161         "tom's phone number is 110"
162     
163     字典方法
164         clear
165         copy 浅复制; deepcopy 深复制
166         fromkeys([key1, key2]) 使用给定的键建立新的字典,键值为None.
167         get(key, default value)
168         has_key(key)
169         items() 以列表方式返回item
170         iteritems() 返回迭代器对象(高效)
171         keys() 以列表方式返回键
172         iterkeys() 以迭代器方式返回
173         pop(key) 返回键的值并移除键值对
174         popitem() 弹出随机项
175         setdefault(key, default value) ≈ get + 在字典中不含有给定键的情况下设定相应的键值
176         update(dict) 用一个字典项更新另外一个字典
177         values()
178         itervalues()
179     
180 print
181     在3.0前为语句,3.0后为函数
182     
183 导入模块、方法
184     import somemodule
185     from somemodule import somefuction1, ...
186     from somemodule import *
187     import somemodule as alias
188     from somemodule import somefuction as alias
189 
190 序列解包
191     >>> x, y, z = 1, 2, 3
192     >>> print x, y, z
193     1 2 3
194     >>> value = 1, 2, 3
195     >>> value
196     (1, 2, 3)
197     >>> print value
198     (1, 2, 3)
199     >>> x, y = y, z
200     >>> x, y, z
201     (2, 3, 3)
202     >>> d = {'tom': 1, 'jim': 2}
203     >>> key, value = d.popitem()
204     >>> key, value
205     ('jim', 2)
206     >>> key
207     'jim'
208     >>> value
209     2
210     
211 链式赋值
212     x = y = ...
213     
214 增量赋值
215     >>> x = 't'
216     >>> x += 'om'
217     >>> x
218     'tom'
219     >>> x *= 2
220     >>> x
221     'tomtom'
222     
223 if语句
224     if(clause):
225         ...
226         ...
227     elif(clause):
228         ...
229         ...
230     else:
231         ...
232         ...
233 
234 is
235     同一性运算符
236     
237 in
238     成员资格运算符
239 
240 and or not
241     布尔运算符
242     Special
243         >>> name = raw_input("Name: ") or '<unknown>'
244         Name: 
245         >>> name
246         '<unknown>'
247         >>> name = raw_input("Name: ") or '<unknown>'
248         Name: Tom
249         >>> name
250         'Tom'
251     三元运算
252         a if b else c
253         
254         >>> b = 1
255         >>> a = 'true' if (b == 1) else 'false'
256         >>> a
257         'true'
258         >>> b = 0
259         >>> a = 'true' if (b == 1) else 'false'
260         >>> a
261         'false'
262 
263 assert 断言
264     >>> a = 1
265     >>> assert a == 2, 'a should equals 2'
266 
267     Traceback (most recent call last):
268       File "<pyshell#13>", line 1, in <module>
269         assert a == 2, 'a should equals 2'
270     AssertionError: a should equals 2
271     
272 while语句
273     >>> x = 1
274     >>> while x < 10:
275         print x
276         x += 1
277         
278 range() 范围函数
279     >>> range(10)
280     [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
281     >>> range(0, 10)
282     [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
283     
284 for 语句
285     nums = [1, 2, 3]
286     for num in nums:
287         print num
288 
289     for x in range(0, 3):
290         print x
291         
292     遍历字典元素:
293         >>> d = {'a': 'tom', 'b': 'jim'}
294         >>> for key in d:
295             print key, ":", d[key]
296         a : tom
297         b : jim
298         >>> for key, value in d.items():
299             print key, ":", value
300         a : tom
301         b : jim
302 
303     并行迭代:
304         >>> name = ['tom', 'jim']
305         >>> age = [18, 20]
306         >>> for i in range(len(name)):
307             print name[i], ":", age[i]
308         tom : 18
309         jim : 20
310         >>> for n, a in zip(name, age):
311             print n, ":", a
312         tom : 18
313         jim : 20
314         
315         zip函数可用于不等长的序列
316         
317     编号迭代:
318         >>> s = ['xxx', 'yyy', 'xdresxxx']
319         >>> for index, string in enumerate(s):
320             if('xxx' in string):
321                 s[index] = '@@@'
322         >>> s
323         ['@@@', 'yyy', '@@@']
324         
325 sorted、reversed、join函数
326     
327 break、continue语句
328 
329 pass语句
330 
331 del 删除名称 not332 
333 exec 执行字符串的语句
334     命名空间/作用域
335         >>> from math import sqrt
336         >>> scope = {}
337         >>> exec 'sqrt = 1' in scope
338         >>> sqrt(4)
339         2.0
340         >>> scope['sqrt']
341         1
342 
343 eval 计算Python表达式
344     >>> eval(raw_input("Expression: "))
345     Expression: 2 + 3 - 4 *5
346     -15
347     >>> raw_input("Expression: ")
348     Expression: 1 + 1
349     '1 + 1'
350     
351     >>> scope = {}
352     >>> exec 'x = 2' in scope
353     >>> eval ('x * x', scope)
354     4
355 
356 callable 判断函数是否可以调用(3.0不可用)
357 
358 创建函数
359     >>> def hello(name):
360             return 'Hello ' + name
361     >>> hello('tom')
362     'Hello tom'
363 
364 记录函数
365     >>> def plus(a, b):
366             'Return a + b'
367             return a + b
368     >>> plus.__doc__
369     'Return a + b'
370 
371     >>> help(plus)
372     Help on function plus in module __main__:
373     plus(a, b)
374         Return a + b
375 
376 关键字参数
377     plus(a = xxx, b = yyy) 等于 plua(b == yyy, a = xxx)
378 
379     在函数给参数提供默认值:
380     >>> def demo(greeting = 'Hello!'):
381             print greeting
382     >>> demo()
383     Hello!
384     >>> demo('你好')
385     你好
386 
387 收集参数
388     >>> def say_hello(greeting, *names, **extras):
389         print greeting, names, extras
390     >>> say_hello('Hi', 'tom', 'jim', 'lara', x = 'glad', y = 'to see you.')
391     Hi ('tom', 'jim', 'lara') {'y': 'to see you.', 'x': 'glad'}
392 
393 逆转过程(分割)
394     >>> def hi(hi, you):
395             print hi, you
396     >>> hello = ('Hello', 'Tom')
397     >>> hi(*hello)
398     Hello Tom
399     
400     >>> yeah = {'hi': 'Hello, ', 'you': 'Tom'}
401     >>> hi(**yeah)
402     Hello,  Tom
403 
404 作用域
405     vars():返回变量字典
406         >>> x = 1
407         >>> scope = vars()
408         >>> scope['x']
409         1
410         >>> scope['x'] += 1
411         >>> scope['x']
412         2
413     globals():返回全局变量的字典
414     locals():返回局部变量的字典
415     global关键字:声明变量为全局变量
416         >>> x
417         3
418         >>> def change_x():
419                 global x
420                 x += 1
421                 return x
422         >>> change_x()
423         4
424         >>>
425     
426     嵌套函数
427         >>> def multiply(a):
428                 def multiplyByFactor(b):
429                         return a * b
430                 return multiplyByFactor
431         >>> num = multiply(2)
432         >>> num
433         <function multiplyByFactor at 0x0000000002B79C18>
434         >>> num(3)
435         6
436         >>> num(4)
437         8
438         >>> multiply(4)(5)
439         20
440     
441 类:
442     调查继承:
443         issubclass(subclass, baseclass)
444         subclass.__bases__
445         
446     判断类的实例:
447         isinstance(instance, class)
448     
449     对象所属类:
450         object.__class__
451         
452     多继承:
453         def class X (class1, class2)
454     
455     hasattr(object, '<attr name>')
456     
457     getattr(object, '<attr name>', <default value>)
458 
459     setattr(object, '<attr name>', <value>)
460     
461     object.__dict__ 查看对象内所有存储的值
原文地址:https://www.cnblogs.com/DuSizhong/p/2521636.html