前言

写这些东西主要是为了养成自己记录代码的良好习惯,现在是初学,不然总是写了就忘,一定要打好基础


如何打印空格

问题描述
在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是两个独立的对象了,但是他们的子对象是不同的,而深拷贝使得他们的字对象也都是相互独立的(例如嵌套列表中的嵌套列表就是自对象)

有时间了再来继续整理,具体可以参照:

  1. 深浅拷贝:
  2. 可变对象不可变对象:https://www.jianshu.com/p/b3157c9751d0
  3. 深浅拷贝:https://www.jianshu.com/p/9ed9b5ce7bb0