谈到运维自动化,大多数人都会想到Python这个工具,学习好Python对于自身的价值实现,或者说涨薪是必不可少的。
下面从Python最基本的数据类型写起。
一、常用基本数据类型.
1)整型——int
数字
python有5种数字类型,最常见的就是整型int。
例如:1234、-1234
2)布尔型——bool
用符号==表示
布尔型是一种比较特殊的python数字类型,它只有True和False两种值,它主要用来比较和判断,所得结果叫做布尔值。
例如:3==3 给出True,3==5给出False
3)字符串——str
用单引号' '或双引号" "表示
例如:'www.hello.com'或者"hello"
4)列表——list
用方括号[ ]符号表示,中间用逗号区分,有些人觉得这是数组,功能相同,但是python中没有数组的概念,只有list列表。
例如:[1,2,3,4]
5)元组——tuple
用小括号( )符号表示,中间用逗号区分
例如:('d',300)
6)字典——dict
用{ }符号表示,中间是键值表示,一个key对应一个value
例如:{'name':'coco','country':'china'}
二、Python基本数据类型中哪些可变,哪些是不可变
python可变数据类型:列表list[ ]、字典dict{ }
python不可变数据类型:整型int、字符串str' '、元组tuple()
提到可变不可变,我们先聊聊python中对象的概念,以及数据类型的组成。
--Python从设计之初就是一门面向对象的语言,它有一个重要的概念,即一切皆对象;Python 中的一切都可以赋值给变量或者作为参数传递给函数。
--每个对象都有三个属性分别是,(id)身份,就是在内存中的地址;类型(type),是列表list[ ]、字典dict{ }、整型int、字符串str' '、元组tuple()等;值,是数据项。
这与可变数据,不可变数据什么关系呢?
python中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象;
可变数据类型,允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。
例如:
观察 数据类型-----------值--------------内存地址 的关系。
整型 ,值发生变化,内存地址发生变化。实际创建了新对象,改变了变量的对象引用。
列表,值相同,内存地址也发生变化,实际是不同对象;
列表,值新增,内存地址没有发生变化,实际是相同对象。