学习Python第一份笔记--数据类型

Python从技术上来说有以下几方面的优点:

(1)面向对象:它的类模块支持多态、操作符重载和多重继承等高级概念,并且以Python特有的简洁的语法和类型,OOP十分适用。就像C++一样,Python既支持面向对象编程又支持面向过程编程的模式

(2)免费:Python的使用和分发是完全免费的;

(3)可移植:Python的标准实现是由可移植的ANSIC编写的,可以再目前所有主流平台上编译和运行。

(4)功能强大:从特性的观点来看,Python是一个混合体。他丰富的工具集使他介于传统的脚本语言和系统语言之间。Python提供了所有脚本语言的简单和易用行,并且具有在编译语言中才能找到的高级软件工程工具。

   动态类型:Python在运行过程中随时跟踪对象的种类,不需要代码中关于复杂的类型和大小的声明。Python中没有类型或变量声明这回事,因为Python代码不是约束数据的类型,他往往自动地应用了一种广义上的对象。

   自动内存管理:Python自动进行对象分配,当对象不再使用时将自动撤销对象(“垃圾回收”),当需要时自动扩展或收缩。Python能够代替你进行底层的内存管理。

   大型程序支持:Python包含了模块、类和异常等工具,这些工具允许把系统组织为组件,使用OOP重用并定制代码,并以一种优雅的方式处理事件和错误。

   内置对象和类型:Python提供了常用的数据结构作为语言的基本组成部分。

(5)可混合:Python程序可以以多种方式轻易地与其它语言编写的组件“粘结”在一起。

(6)简单易用:运行Python程序,只需要简单地键入Python程序并运行就可以了,不需要其它语言所必须的编译和链接等中间步骤。

(7)简单易学

Python对象的拷贝

import copy
books=["Linux服务器架设",["Linux基础学习","zabbix监控搭建"],"docker架构"]
books3=books.copy()
print(books)
print(books3)

books[1][0]="ansible权威指南"

print(books)
print(books3)

a=1
b=a
print(a,b)
print(a==b)
print(a is b)
a=2
print(a==b)
print(a is b)
print(a,b)

c="abc"
d=copy.copy(c)
print(c==d)
print(c is d)
print(c,d)

#深拷贝其实就是父类和子类都拷贝,拷贝的是值而不是引用,内存地址不同。
e=[1,[2,3],4]
f=copy.deepcopy(e)
print("e==f?",e==f)
print("e is f",e is f)
print(e)
print(f)
print(id(e))
print(id(f))
e[1][0]=22
print("e==f?",e==f)
print("e is f",e is f)
print(e)
print(f)
print(id(e))
print(id(f))

#复制语句其实就是浅拷贝,实际上就是对象的引用,指向同一个对象;操作的都是同一块内存地址
g=[5,[6,7],8]
h=g
print("g==h?",g==h)
print("g is h",g is h)
print(g)
print(h)
g[1][0]=66
print("g==h?",g==h)
print("g is h",g is h)
print(g)
print(h)
print(id(g))
print(id(h))
原文地址:https://www.cnblogs.com/tanghu/p/8609469.html