继上篇文章比较了PHP与Python语法以后,这周又学习了Python数据类型,准备从经过这篇文章给本身进行一些总结,也给其余读者一些参考。数组
Python中字符串操做基本和PHP相似,下面介绍一下Python中字符串的常规操做方法bash
在PHP中能够经过索引下标的方式获取到字符串中的某一个字符,在Python中也一样能够获取到,以下代码所示微信
#定义字符串
testStr = 'tangqingsong'
#经过索引下标获取字符
print(testStr[1])
#打印结果 a
复制代码
在Python中有一个很是好用的功能叫作切片,好比当你想获取字符串中第n个字符到第m个字符中的区间字符,使用Python的切片实现很是简单,以下代码所示app
#定义字符串
testStr = 'tangqingsong'
#经过索引下标获取字符
print(testStr[0:4])
#打印结果 tang
复制代码
在Python中for不只仅能够循环相似于PHP中的数组,还能够循环字符串,以下代码所示函数
testStr = 'tangqingsong'
for value in testStr[0:4]:
print(value)
#打印结果 tang
复制代码
在Python中实现字母大小写转换和PHP的写法稍有不一样,Python中操做有点相似于PHP操做对象的感受,以下代码所示学习
#定义字符串
testStr = 'tQs'
#大写转换
aStr = testStr.upper()
#小写转换
bStr = testStr.lower()
print(aStr,bStr)
#打印结果 TQS tqs
复制代码
接着咱们再来看一下怎么把字符串切割与合并,以下代码所示ui
s = 'tang|qing|song'
l = s.split('|')
print(l)
#打印结果 ['tang', 'qing', 'song']
s2 = '|'.join(['tang', 'qing', 'song'])
print(s2)
#打印结果 tang|qing|song
复制代码
在PHP中字符串首尾过滤一般使用trim()
函数过滤,而Python中字符串首尾过滤的语法有点相似于PHP操做对象的方式,代码以下所示spa
# 去掉边界上的内容 strip
s1 = ' tang qing song '
print(s1.strip())
#打印结果 ‘tang qing song’
复制代码
若是你想指定删除某一个字符,代码以下所示code
s2 = '<汤青松>'
print(s2.strip('>'))
#打印结果 '<汤青松'
复制代码
在Python中有一种叫作list的数据类型,在PHP中咱们一般称之为索引数组对象
定义list数据方式以下代码所示
#定义一个list数据
lst = ['张三','李四','王五','马六','田七']
复制代码
取数据方式和PHP基本一致,好比想获取lst里面的李四,能够这样获取
$name = lst[1]
复制代码
除了正向取数据还能够反着顺序取数据,好比你要获取马六,你能够这样写
$name = lst[-2]
复制代码
在Python中有一种获取数据很是简便的方法,叫作切片,好比你想获取lst中的李四到马六区间的数据,在PHP中你得用array_slice
函数去截取,但在Python则很是方便,以下代码所示
print(lst[1:4])
# 打印结果 ['李四','王五','马六']
复制代码
若是你想隔一个数据取一个数据,切片还支持设置步长,步长默认为1,也就是说连续取数据,当你设置步长后,会按照指定的步长,以下代码所示
print(lst[1:4:2])
# 打印结果 ['李四','马六']
复制代码
一样切片也支持反着取数据,好比你想获取田七到王五区间的数据,参考代码以下
print(lst[-1:-3:-1])
# 打印结果 ['田七','马六','王五']
复制代码
在Python中若是你想向一个list数据中追加一个数据可使用append方法向末尾增长,以下代码所示
lst = lst.append('王八')
复制代码
也可使用pop方法弹出最末尾一个数据,以下代码所示
value = lst.pop()
复制代码
若是你想吧数据清空,也可使用clear方法,固然你也能够直接将值从新赋值一个空list,以下代码所示
lst.clear()
#或者
lst = []
复制代码
在Python中须要注意一种引用内存地址的特殊状况,以下代码所示
# 定义两个变量
aList = ['张三', '李四', '王五']
bList = []
# 在bList中追加aList,此时bList为二维list
bList.append(aList)
#修改aList变量里面的值
aList[0] = '张三丰'
#打印bList
print(bList)
# 打印结果 [['张三丰', '李四', '王五']]
复制代码
在上面代码中能够看到,已经将一个变量赋给另一个变量,按照常规理解来讲,他们是相互独立的,但实际上并非;在Python中若是存在二维的list,一维里面每每是记录一个内存地址,并非把值完整的复制一份,这种引用操做Python中也称之为浅拷贝;
在Python中有一种数据类型和list很是类似,称之为元组(tuple);它们最明显区别就是list定义以后能够修改结构,而元组定义以后不能再次修改,其次是在定义的时候有一点点不一样,以下代码所示
#定义list数据
lst = ['张三', '李四', '王五']
#定义元组数据
tple ('张三', '李四', '王五')
复制代码
在取数据的时候一样支持切片,也一样支持用索引(下标)方式来取值,惟一的区别就是不能再更改里面的值,好比说追加数据或者里面的某一个数据从新赋值。
在PHP中咱们知道数组有两种类型,索引数组和关联数组,而关联数组在Python中称之为字典,定义方式和lst区别不大,以下代码所示
demo = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
}
复制代码
在Python中定义字典相对PHP来讲比较严格,对key有要求,不像PHP中能够只输入值而不输入能够,在Python中必须同时输入key和value。
Python中的字典增删改查和PHP基本相似,获取字典数据参考代码以下所示
#明确存在某一个key能够这样取值,若是值不存在会报错
d['存在的key']
#不知道是否存在的状况
d.get('不知道存不存在的key')
复制代码
增长数据的方式比较常规,这里再也不特别说明,示例代码以下所示
#增长一项数据
data['不存在的key'] = '值'
复制代码
删除数据的方式有两种形式,第一种是弹出指定数据,第二种是经过方法删除,和PHP基本相似,以下代码所示
#弹出数据
data.pop('key')
#删除数据
del data['key']
复制代码
修改数据直接赋值便可,以下代码所示
# 修改数据
data['存在的key'] = 新的值
复制代码
在Python中对数据会常常处理,这里记录三个经常使用的操做方法;
有时须要定义一个列表,里面包含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则表明一次递增几个数值
在Python中的布尔值中,数字 0为 False,其余数字都为true,字符串除了''是false之外,其余非空的字符串都是true,tuple类型中除()
和{}
是false,其余都是true,还有Python中表示空的none也是false
在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