前言
写这些东西主要是为了养成自己记录代码的良好习惯,现在是初学,不然总是写了就忘,一定要打好基础
如何打印空格
问题描述
在print中,隔行输出
问题解决
方法1:用转义字符\n
print('take my eyes off you \n damien')
方法2:打印一个空字符)
print("take my eyes off you")
print('')
print('damien')
Next:Python的赋值与深浅拷贝
问题描述
需要弄清楚Python的赋值机制,不然在以后在赋值使,在应该浅拷贝的地方没有拷贝,则很可能会出现变量值的混乱。
思路
想要解决这一系列问题,首先需要搞懂python的赋值机制
- 在python中,对象的赋值其实是对象的引用,当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用
- python在创建变量并赋值的时时,同时创建了两个东西。第一个是变量的名称,其拥有一个内存地址,第二个是变量的值,其也拥有一个内存地址。然后该变量指向该值。按理来说,如果创建变量的同时完成赋值,那么这个时候变量的内存地址就是值的内存地址。
- 首先需要弄清Python的可变对象与不可变对象。对于可变对象而言,更改对象内部变量的值时,不会改变对象的内存地址;对于不可变对象,更改对象内部的值时,变量的内存地址也会发生改变。
- 假设存在两个变量a,b,
a=1, b=a
,该赋值操作使得a,b都是指向同一个对象的。浅拷贝使得a,b是两个独立的对象了,但是他们的子对象是不同的,而深拷贝使得他们的字对象也都是相互独立的(例如嵌套列表中的嵌套列表就是自对象)
有时间了再来继续整理,具体可以参照:
- 深浅拷贝:
- 可变对象不可变对象:https://www.jianshu.com/p/b3157c9751d0
- 深浅拷贝:https://www.jianshu.com/p/9ed9b5ce7bb0