Python学习_三元运算&深浅拷贝

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 三元运算
name = "alex" if 1 == 2 else "eric"
print(name)

# 深浅拷贝
# 对于字符串和数字,深浅拷贝无意义
import copy

n1 = "alex"
print(id(n1))
n2 = n1
print(id(n2))
# 浅拷贝
n2 = copy.copy(n1)
print(id(n2))
# 深拷贝
n2 = copy.deepcopy(n1)
print(id(n2))

# 浅拷贝只拷贝最外层
n1 = {"k1": 11, "k2": [22, 33]}
n2 = copy.copy(n1)
print(id(n1), id(n2))
print(id(n1["k2"]), id(n2["k2"]))
print()
# 深拷贝拷贝所有的层,除了最后一层
n1 = {"k1": 11, "k2": [22, 33]}
n2 = copy.deepcopy(n1)
print(id(n1), id(n2))
print(id(n1["k2"]), id(n2["k2"]))
print(id(n1["k2"][0]), id(n2["k2"][0]))

 

posted @ 2019-03-21 14:58  錦衣夜行  阅读(122)  评论(0编辑  收藏  举报