==================================
修订时间:
17:36 2016-03-03 星期四
12:43 2015-2-5 星期四
==================================
文件头通用写法
#!/usr/bin/python
#conding:utf8
==================================
■ 浅拷贝:
● 标签 和 地址空间
a=[1,3,4]
b=a
a 和 b 是标签 后面的数据是地址空间 a 和b 指向同一个地址空间,随便改一个,都会跟着变
系统拷贝方式
b=a[:]
import copy
a=[1,3,4,['a','b']]
b=copy.copy(a)
浅拷贝:只拷贝父对象,子对象不拷贝,若a改变第4个元素,b对应的第4个元素还会变
可以用id()函数看内存地址
■ 深拷贝:
b=copy.deepcopy(a)
深拷贝:把对象和存储空间完全拷贝出来
■ 这对代码性能有一定的影响
* 变量赋值:
#简化赋值,这样两边数目要一样
>>> one,two,three,four="good"
>>> one
Out[257]: 'g'
>>> two
Out[258]: 'o'
>>> three
Out[259]: 'o'
>>> four
Out[260]: 'd'
>>> name,age="toby",22
>>> name
Out[262]: 'toby'
>>> age
Out[263]: 22
#两变理交换数值
>>> name="john"
>>> age=22
>>> name,age=age,name
>>> name
Out[46]: 22
>>> age
Out[47]: 'john'
比其它高级语言强
#序列赋值左右数目一定要相等
>>> a,b=33,11,22
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 3066, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-48-af8ae72f8be9>", line 1, in <module>
a,b=33,11,22
ValueError: too many values to unpack
左2,右3,当然报错了
# 条件赋值
>>> name="John" if 3>2 else "Mary"
>>> name
Out[20]: 'John'
>>> name="John" if 3<2 else "Mary"
>>> name
Out[22]: 'Mary
if 条件为真,保底前面赋值,否则用后面值换了