当前位置: 移动技术网 > IT编程>脚本编程>Python > python数据类型及常用方法

python数据类型及常用方法

2019年08月01日  | 移动技术网IT编程  | 我要评论

 数字类型

#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

 字符串类型

#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:是否为单词首字母大写格式 ''' 了解:字符串运算 ''' 

 列表

#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

 

元祖

#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. 有序存储:排列的索引取值
'''

 

字典

#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取值
'''

 

集合

#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}

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网