PHP工程师学Python数据类型

1、背景

继上篇文章比较了PHP与Python语法以后,这周又学习了Python数据类型,准备从经过这篇文章给本身进行一些总结,也给其余读者一些参考。数组

2、内容概要

  1. 字符串(str)
  2. 列表(list)
  3. 元组(tup)
  4. 字典(dict)
  5. 数据操做

3、字符串(str)

Python中字符串操做基本和PHP相似,下面介绍一下Python中字符串的常规操做方法bash

3.1 索引下标取值

在PHP中能够经过索引下标的方式获取到字符串中的某一个字符,在Python中也一样能够获取到,以下代码所示微信

#定义字符串
testStr = 'tangqingsong'
#经过索引下标获取字符
print(testStr[1])

#打印结果 a
复制代码

3.2 切片

在Python中有一个很是好用的功能叫作切片,好比当你想获取字符串中第n个字符到第m个字符中的区间字符,使用Python的切片实现很是简单,以下代码所示app

#定义字符串
testStr = 'tangqingsong'
#经过索引下标获取字符
print(testStr[0:4])

#打印结果 tang
复制代码

3.3 循环

在Python中for不只仅能够循环相似于PHP中的数组,还能够循环字符串,以下代码所示函数

testStr = 'tangqingsong'

for value in testStr[0:4]:
    print(value)

#打印结果 tang
复制代码

3.4 字母大小写转换

在Python中实现字母大小写转换和PHP的写法稍有不一样,Python中操做有点相似于PHP操做对象的感受,以下代码所示学习

#定义字符串
testStr = 'tQs'
#大写转换
aStr = testStr.upper()
#小写转换
bStr = testStr.lower()

print(aStr,bStr)

#打印结果 TQS tqs
复制代码

3.4 分割和合并

接着咱们再来看一下怎么把字符串切割与合并,以下代码所示ui

s = 'tang|qing|song'
l = s.split('|')

print(l)
#打印结果 ['tang', 'qing', 'song']

s2 = '|'.join(['tang', 'qing', 'song'])
print(s2)
#打印结果 tang|qing|song
复制代码

3.5 字符串首尾过滤

在PHP中字符串首尾过滤一般使用trim()函数过滤,而Python中字符串首尾过滤的语法有点相似于PHP操做对象的方式,代码以下所示spa

# 去掉边界上的内容 strip
s1 = ' tang qing song '

print(s1.strip())
#打印结果 ‘tang qing song’
复制代码

若是你想指定删除某一个字符,代码以下所示code

s2 = '<汤青松>'
print(s2.strip('>'))

#打印结果 '<汤青松'
复制代码

4、列表(list)

在Python中有一种叫作list的数据类型,在PHP中咱们一般称之为索引数组对象

4.1 数据定义

定义list数据方式以下代码所示

#定义一个list数据
lst = ['张三','李四','王五','马六','田七']
复制代码

取数据方式和PHP基本一致,好比想获取lst里面的李四,能够这样获取

$name = lst[1]
复制代码

4.2 切片

除了正向取数据还能够反着顺序取数据,好比你要获取马六,你能够这样写

$name = lst[-2]
复制代码

在Python中有一种获取数据很是简便的方法,叫作切片,好比你想获取lst中的李四到马六区间的数据,在PHP中你得用array_slice函数去截取,但在Python则很是方便,以下代码所示

print(lst[1:4])

# 打印结果 ['李四','王五','马六']
复制代码

若是你想隔一个数据取一个数据,切片还支持设置步长,步长默认为1,也就是说连续取数据,当你设置步长后,会按照指定的步长,以下代码所示

print(lst[1:4:2])

# 打印结果 ['李四','马六']
复制代码

一样切片也支持反着取数据,好比你想获取田七到王五区间的数据,参考代码以下

print(lst[-1:-3:-1])

# 打印结果 ['田七','马六','王五']
复制代码

4.3 修改数据

在Python中若是你想向一个list数据中追加一个数据可使用append方法向末尾增长,以下代码所示

lst = lst.append('王八')
复制代码

也可使用pop方法弹出最末尾一个数据,以下代码所示

value = lst.pop()
复制代码

若是你想吧数据清空,也可使用clear方法,固然你也能够直接将值从新赋值一个空list,以下代码所示

lst.clear()
#或者
lst = []
复制代码

4.4 值的引用

在Python中须要注意一种引用内存地址的特殊状况,以下代码所示

# 定义两个变量
aList = ['张三', '李四', '王五']
bList = []

# 在bList中追加aList,此时bList为二维list
bList.append(aList)

#修改aList变量里面的值
aList[0] = '张三丰'

#打印bList
print(bList)
# 打印结果 [['张三丰', '李四', '王五']]
复制代码

在上面代码中能够看到,已经将一个变量赋给另一个变量,按照常规理解来讲,他们是相互独立的,但实际上并非;在Python中若是存在二维的list,一维里面每每是记录一个内存地址,并非把值完整的复制一份,这种引用操做Python中也称之为浅拷贝;

5、元组(tup)

在Python中有一种数据类型和list很是类似,称之为元组(tuple);它们最明显区别就是list定义以后能够修改结构,而元组定义以后不能再次修改,其次是在定义的时候有一点点不一样,以下代码所示

#定义list数据
lst = ['张三', '李四', '王五']
#定义元组数据
tple ('张三', '李四', '王五')
复制代码

在取数据的时候一样支持切片,也一样支持用索引(下标)方式来取值,惟一的区别就是不能再更改里面的值,好比说追加数据或者里面的某一个数据从新赋值。

6、字典 (dict )

在PHP中咱们知道数组有两种类型,索引数组和关联数组,而关联数组在Python中称之为字典,定义方式和lst区别不大,以下代码所示

6.1 数据定义

demo = {
    'k1':'v1',
    'k2':'v2',
    'k3':'v3',
}
复制代码

在Python中定义字典相对PHP来讲比较严格,对key有要求,不像PHP中能够只输入值而不输入能够,在Python中必须同时输入key和value。

6.2 增删改查

Python中的字典增删改查和PHP基本相似,获取字典数据参考代码以下所示

#明确存在某一个key能够这样取值,若是值不存在会报错
d['存在的key']

#不知道是否存在的状况
d.get('不知道存不存在的key')
复制代码

增长数据的方式比较常规,这里再也不特别说明,示例代码以下所示

#增长一项数据
data['不存在的key'] = '值'
复制代码

删除数据的方式有两种形式,第一种是弹出指定数据,第二种是经过方法删除,和PHP基本相似,以下代码所示

#弹出数据
data.pop('key')
#删除数据
del data['key']
复制代码

修改数据直接赋值便可,以下代码所示

# 修改数据
data['存在的key'] = 新的值
复制代码

7、杂项

在Python中对数据会常常处理,这里记录三个经常使用的操做方法;

7,1 range 函数

有时须要定义一个列表,里面包含1~100的全部数值,在PHP中可能须要经过for循环来实现,但在Python中有一个函数range()能够建立一个整数列表,通常用在 for 循环中,以下代码所示

#range(start, stop[, step])
 for i in range(0,5,1):
     print(i)
# 打印结果 0 1 2 3 4 5
复制代码

start参数表明计数从 start 开始,stop是表明计数中止的数值,step则表明一次递增几个数值

7.2 布尔型说明

在Python中的布尔值中,数字 0为 False,其余数字都为true,字符串除了''是false之外,其余非空的字符串都是true,tuple类型中除(){}是false,其余都是true,还有Python中表示空的none也是false

7.3 数据操做

在Python中若是你想判断一个列表是否包含某一个值可使用in方式,以下代码所示

#定义一个列表
lst = ['tang','qing','song']
#判断lst是否包含某一个值
result = 'tang' in lst

print(result)
#打印结果 True
复制代码

若是你想知道一个list中是否不包含可使用not in方式,以下代码所示

#定义一个列表
lst = ['tang','qing','song']

#判断lst是否不包含某一个值
result2 = 'tang' not in lst

print(result2)
#打印结果 False
复制代码

在Python中若是你想查看一个列表的长度,可使用len(lstt)方法 查看列表的长度

lst = ['tang','qing','song']

print(len(lst))

#打印结果 3
复制代码

做者:汤青松

微信:songboy8888

更新日期:2019-07-21

相关文章
相关标签/搜索