python的初步认识
2017-12-13 17:21
246 查看
基本知识
python在自动化运维方面越做越多,只掌握shell似乎落伍了,在学习python之前先温习一下什么是面向过程和面向对象。面向过程:以指令为中心,由指令处理数据。组织代码解决问题
面向对象:以数据为中心,所有处理代码都围绕数据展开。设计数据结构
bash是面向过程的,python支持面向对象和面向对象,但python的数据都是对象
我之前做数据库运维的时候一直都是用的shell,所有表喜欢拿shell来做比较,python在调用linux命令时可能会调用接口才能实现,从这一点讲shell在完成linux任务时更便捷高效。文本处理的能力高于shell
对象和变量的理解
对象:python中一切皆对象。如1为整型数据,在py中1也是对象,且是不可变对象,id(1)为1的内存地址,num为变量,是指向内存的引用,变量名也是对象,变量名指向变量的第一个内存地址
比如
>>> num='jerry'
>>> type(num)
<type 'str'>
num变量名存放在内存中,指向存放jerry的第一个内存地址,‘=’就是把变量与对象进行绑定
变量:内存引用标识
为了加深对象和变量的关系,我们举出列表的例子
>>> print a
['this', 'is', 234]
>>> id(a[0])
139787435361216
>>> id(a)
139787435406688
>>> a[0]='that'
>>> id(a)
139787435406688
>>> id(a[0])
139787539164928
>>> a[0]='lzl'
>>> id(a[0])
139787539185952
>>> id(a)
139787435406688
只有当对象发生变化时,id才会变化。比如列表a未被赋值,而a[0]被赋值,则id(a)不变,id(a[0])改变。可以这样理解,变量只是内存的标志,存放的内存的第一个地址,如果对象又多个对象组成,则子对象改变,母对象的地址也不会改变,只是在母对象中的存放的子对象地址发生了改变。
如果按照c的模式来理解就很容易,其实就是指针和地址的问题
python跟c的概念太像了,类、对象、数组等等,从这几天的初步认知来看,主要是python有很多已封装好的类,可以直接import然后调用,方便了很多
c很古板,不易编程,但是确实是很基础的东西,多于学习其他开发语言有很大的帮助,特别是从原理上。看来学好c还是很重要的
相关文章推荐
- [零基础学python]关于类的初步认识
- Python学习教程(一)——初步认识
- <Python初学>Python中的变量类型。对赋值、浅拷贝与深拷贝的初步认识。
- Python中协程(coroutine)的初步认识
- Python Twisted系列教程3:初步认识Twisted
- python - django - 初步认识
- 跟老齐学Python之关于类的初步认识
- 跟老齐学Python之关于类的初步认识
- 初步认识Python中的列表与位运算符
- 初步认识Python中的列表与位运算符
- Python网络爬虫(一):初步认识网络爬虫
- Python指南--初步认识Python
- python初步认识
- Python指南--初步认识Python
- 来吧来吧,一个简单的Python初步小认识
- python 初步认识弱引用 & 垃圾回收
- Python---numpy的初步认识
- 兄弟连学Python(4)—Python前端HTML与CSS初步认识
- 对面向对象程序设计的初步认识
- MVC 的初步认识