程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

python数据类型及常用方法

发布于2019-08-05 11:34     阅读(1242)     评论(0)     点赞(2)     收藏(2)


 数字类型

#1. 整型
a1 = 10
a2 = int(20)

#2. 长整型(py2特有,py3废弃)
b1 = 12345678901234567890
b2 = long(100)

#3. 浮点型
c1 = 3.14
c2 = float(5.12)

#4. 复数类型
d = 2 + 3j
View Code

 字符串类型

#1. 单行字符串
>>> s1 = 'abc'
>>> ss1 = "xyz"

#2. 多行字符串
>>> s2 = """first line
second line
last line"""

#3. 字符串嵌套
#i) 单、双、三引号直接可以相互嵌套
#ii) 同类型引号直接嵌套需要转义:\' | \"

#4. 索引取值
>>> s4 = 'oldboy'
#i) 正向取值从0开始:
>>> s4[0]
'o'
#ii) 逆向取值从-1开始:
>>> s4[-1]
'y'

#5. 切片(顾头不顾尾,切片有步长)
>>> s5 = 'my love'
语法:[起始索引:结束索引:步长]
>>> s5[0:6:2]
'm o'


'''
i) 步长省略,默认为1
ii) 起始索引省略,默认为从头开始
iii) 结束索引省略,默认到最后结束
'''

#6. 长度
>>> s6 = 'oldboy'
>>> len(s6)
>>> s6.__len__()

#7. 成员运算
语法:in | not in:子字符串是否在父字符串中
>>> 'he' in 'hello'
True

#8. 首尾去白
语法:strip()
>>> ' hello wolrd   '.strip()
'hello world'
>>> '===login success==='.strip('=')
'login success'

#9. 拆分
语法:split(拆分规则, 拆分次数)
>>> 'D:\\python36\\python3.exe'.split('\\', 1)
['D:', 'python36\\python3.exe']

#10. 纯数字判断isdigit() 方法检测字符串是否只由数字组成语法:isdigit() >>> '18'.isdigit() 
True

#11. 循环(迭代)
s10 = 'hello wolrd'
count = 0 
while count < len(s10):
  print(s10[count])
   count += 1 
for s in s10: 
  print(s)
''' 总结:
 1. 只可以存放一个值:s = 'abc' 
 2. 为不可变类:s = 'xyz' 
'''

#常用方法
#1. lstrip | rstrip:左 | 右 取留白 
#2. rsplit:从右开始拆分
#3. lower | upper:全小 | 大写 
#4. startswith | endswith:以某某开头 | 结尾 
#5. format:格式化 
>>> 'name:{},age:{}'.format('Owen', 16)
'name:owen, age:16'
>>> 'name:{0},age:{1}'.format('Owen', 16)
'name:owen, age:16'
>>>'name:{name},age:{age}'.format(name='Owen', age=16) 
'name:owen, age:16'
#6. replace:替换 语法:replace(oldS, newS, count)
#其他方法
#1. find | rfind:查找子字符串索引,无结果返回-1 
#2. index | rindex:查找子字符串索引,无结果抛出异常 
#3. count:计算子字符串个数 
#4. center | ljust | rjust | zfill:按位填充 语法:center(所占位数, '填充符号')
>>> s = '12' 
>>> print(s.center(10,'3'))
3333123333
>>> print(s.ljust(10,'3')) 
1233333333
>>> print(s.rjust(10,'3')) 
3333333312
#5. expandtabs: #规定\t所占空格数
#6. captialize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转
#7. isdigit | isdecimal | isnumeric:数字判断
#isgigit 检测字符串是否只有数字组成
#isdecimal 检测字符串是否只包含十进制字符
#isnumeric 检测字符串是否只由数字组成。 这种方法是只针对unicode对象。
>>> str = u"this2009"; 
>>> print str.isnumeric();
>>> False

>>> str = u"23443434"; 
>>> print str.isnumeric(); 
>>> False 
#8. isalnum | isalpha:是否由字母数字组成 | 由字母组成 
#9. isidentifier:是否包含关键字 
#10. islower | isupper:是否全小 | 大写 
#11. isspace:是否是空白字符 
#12. istitle:是否为单词首字母大写格式 ''' 了解:字符串运算 ''' 
View Code

 列表

#1. 声明:可以包含不同类型数据,可以嵌套,[]
>>> l1=[1,'age',True,18.0]
#2. 索引取值:支持正向反向
>>> l1[1]
'age'
>>> l1[-1]
18.0
#3. 切片(顾头不顾尾,切片有步长)
>>> l1[0:2]
[1,'age']
#4. 长度
>>> len(l1)
4
#5. 成员运算
#6. 增删改
l = [1, 2, 3, 4, 5]
增:append(obj) | insert(index, obj)
>>> l.append(6)
>>> l
[1,2,3,4,5,6]
>>> l.insert(1,6)
>>> l
[1,6,2,3,4,5,6]

删:remove(obj) | del(list[index]) | pop(index)
>>> l.remove(1)
>>> l
[6,2,3,4,5,6]
>>> del(l[1])
>>> l
[6,3,4,5,6]
>>> l.pop()
6
>>> l
[6,3,4,5]
>>> l.pop(0)
[3,4,5]
改:l[index] = newObj
>>> l[0]=1
>>>l
[1,4,5]
#7. 循环
for item in l:
    print(item)
1
4
5
#8. 反转
语法:reverse()
>>> list1=[1,2,3]
>>> list1.reverse()
>>> list1
[3,2,1]
#9. 排序
语法:sort(reverse=True) reverse=True从大到小,反之从小到大
>>> list1 = [2,3,1,5,6]
>>> list1.sort(reverse=True)
>>> list1
[6,5,3,2,1]

'''
总结:
1. 可以存放多个值:list = [1, 2, 3]
2. 为可变类型:list.append(4)
3. 有序存储:排列的索引取值
'''

#其他方法
#1. copy:复制
>>> list1 = [1,2,3]
>>> list1.copy()
[1,2,3]
#2. clear:清空
>>> list1.clear()
>>> list1
[]
#3. count:计算成员个数
>>> list1 = [3,4,5]
>>> list1.count(3)
1
#4. extend:添加多个值(参数为可迭代对象)
>>> list1.extend([6,7,8])
>>> list1
[3,4,5,6,7,8]
#5. index:查找索引
>>> list1.index(3)
0
View Code

 

元祖

#1. 声明:可以包含不同类型数据,可以嵌套,()
t1 = (1,'11',11.0,True)
2. 索引取值:支持正向反向
>>> t1 = (1,'11',11.0,True)
>>> t1[1]
'11'
>>> t1[-1]
True

'''
总结:
1. 可以存放多个值:t = (1, 2, 3)
2. 为不可变类型
3. 有序存储:排列的索引取值
'''
View Code

 

字典

#1. 声明:key为不可变类型数据,value可以为任意类型,{}
d1 = {'name': 'Owen'}
d2 = dict(name='Owen')
d3 = dict([('name','Owen')])
d4 = {}.fromkeys(['name'], None)

2. 增删改查
增:d2['newKey'] = value
删:pop('key', defalutValue) #如果没有key,返回defaulValue
改:d2['key'] = newValue
查:d1['key']
了解:popitem():从末尾开始删除,返回(key, value)
>>> d1 = {'name':'dgt'}
>>> d1['name1':'boduo']
>>> d1
{'name':'dgt','name1':'boduo'}
>>>
>>>d1.pop('name')
>>> d1
{'name1':'boduo'}
>>>
>>> d1[name1] = 'cangjin'
>>> d1
{'name1':'cangjin'}
>>>
>>> d1['name1']
'cangjin'

3. 长度:len
>>> len(d1)
1
4. 成员运算:in | not in(用于判断key是否在字典里)
>>> d1 = {'key1':'value1','key2':'value2'}
>>> 'key1' in d1
True
>>> 'value1' in d1
False

5. 循环
i) 直接for循环
ii) keys()
iii) values()
iv) items()
>>> d1 = {'key1':'value1','key2':'value2'}
>>> for d in d1:
...     print(d)
... 
key1
key2
>>> d1.keys()
dict_keys(['key1', 'key2'])
>>> for k in d1.keys():
...     print(k)
... 
key1
key2
>>> d1.values()
dict_values(['value1', 'value2'])
>>> for v in d1.values():
...     print(v)
... 
value1
value2
>>> d1.items()
dict_items([('key1', 'value1'), ('key2', 'value2')])
>>> for i in d1.items():
...     print(i)
... 
('key1', 'value1')
('key2', 'value2')
#6. 默认值取值:get
语法:get(key, defalutValue)
>>> d1.get('key1')
'value1'
>>> d1.get('key3',3)
3
#7. 更新
语法:update(newDict)
>>> d1.update({'name': 'dgt', 'age': 18})
>>> d1
{'key1': 'value1', 'key2': 'value2', 'name': 'dgt', 'age': 18}


8. 设置默认
语法:setdefault(key, defalutValue)
setdefault(key[, default]) If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None.
'''
>>> d1 = {}
>>> d1.setdefault('key','default')
'default'
>>> d1
{'key': 'default'}
>>> d1.setdefault('key','newdefault')
'default'
>>> d1
{'key': 'default'}

'''
总结:
1. 可以存放多个值:dic = {'name': 'Owen', age: 18}
2. 为不可变类型
3. 无序存储:安装key取值
'''
View Code

 

集合

#1. 声明:
s = {1, 2, 3, 4, 5}

#2. 集合运算
&交集 | |合集 | ^对称差集 | -差集 | 比较
>>> s1 = {1,2,3,4,5}
>>> s2 = {4,5,6,7,8}
>>> s1&s2
{4,5}
>>> s1|s2
{1,2,3,4,5,6,7,8}
>>> s1^s2
{1,2,3,6,7,8}
>>> s1-s2
{1,2,3}
>>> s2-s1
{8,6,7}
View Code

 



所属网站分类: 技术文章 > 博客

作者:我是女王

链接:https://www.pythonheidong.com/blog/article/4368/bca490347443e39b4299/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

2 0
收藏该文
已收藏

评论内容:(最多支持255个字符)