python总结之一 数据类型

一.python的基本数据类型。

python3的基本数据类型:
Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)
数据类型判断

>>> name="1" #定义一个str类型的变量

>>> t = type(name)#方式一获取类型,返回值就是数据类型

>>> instance = isinstance(name, str)#方式一,判断是否属于某一种类型,属于返回true,不属于返回false



True

1.1Number(数字)

Python3 支持** int、float、bool、complex(复数)**。

>>> a, b, c, d = 20, 5.5, True, 4 + 3j#定义多个变量
>>> print(type(a), type(b), type(c), type(d))#输出变量的类型

   

1.2String(字符串)

Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

>>> a="hello"
>>> b='hi'
>>> print(type(a),type(b))

 

1.字符串切片。

  • str[:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
  • str[start:] 从start 提取到结尾
  • str[:end] 从开头提取到end 负数
  • str[start:end] 从start 提取到end 负数
  • str[start:end:step] 从start 提取到end - 1,每step 个字符提取一个

2.字符串运算
+:字符串连接

>>> a="hello"
>>> b='python'
>>> print(a+b)

hellopython

*: 重复输出字符串(只能和number类型相乘)

>>> a="hello"
>>> b=3
>>> print(a*b)

hellohellohello

3.字符串常见操作
1.字符串格式输出对齐

>>> str = "Python stRING" 
 
>>> print str.center(20)       #生成20个字符长度,str排中间
   Python stRING   
    
>>> print str.ljust(20)            #生成20个字符长度,str左对齐
Python stRING      
 
>>> print str.rjust(20)            #生成20个字符长度,str右对齐
       Python stRING

2.大小写转换

>>> str = "Python stRING"
 
>>> str.upper()                #转大写
'PYTHON STRING'
 
>>> str.lower()                #转小写 
'python string'
 
>>> str.capitalize()           #字符串首为大写,其余小写
'Python string'
 
>>> str.swapcase()         #大小写对换 
'pYTHON STring'
 
>>> str.title()                #以分隔符为标记,首字符为大写,其余为小写
'Python String'

3.字符串条件判断

>>> str = '01234'
 
>>> str.isalnum()                #是否全是字母和数字,并至少有一个字符
True
>>> str.isdigit()                #是否全是数字,并至少有一个字符
True      
 
 
>>> str = 'string'
 
>>> str.isalnum()                  #是否全是字母和数字,并至少有一个字符
True
>>> str.isalpha()                  #是否全是字母,并至少有一个字符 
True
>>> str.islower()                  #是否全是小写,当全是小写和数字一起时候,也判断为True
True
 
>>> str = "01234abcd"
 
>>> str.islower()                  #是否全是小写,当全是小写和数字一起时候,也判断为True
True
 
>>> str.isalnum()                  #是否全是字母和数字,并至少有一个字符
True
 
>>> str = ' '
>>> str.isspace()                  #是否全是空白字符,并至少有一个字符
True
 
>>> str = 'ABC'
 
>>> str.isupper()                  #是否全是大写,当全是大写和数字一起时候,也判断为True
True
 
>>> str = 'Aaa Bbb'
 
>>> str.istitle()                  #所有单词字首都是大写,标题 
True
 
 
>>> str = 'string learn'
 
>>> str.startswith('str')                 #判断字符串以'str'开头
True
 
>>> str.endswith('arn')                      #判读字符串以'arn'结尾
True

4.字符串搜索定位与替换

>>> str='string lEARn'
 
>>> str.find('z')              #查找字符串,没有则返回-1,有则返回查到到第一个匹配的索引
-1
 
>>> str.find('n')              #返回查到到第一个匹配的索引
4
 
>>> str.rfind('n')         #返回的索引是最后一次匹配的
11
 
>>> str.index('a')         #如果没有匹配则报错 
Traceback (most recent call last):
  File "", line 1, in 
ValueError: substring not found
  
>>> str.index("n")      #同find类似,返回第一次匹配的索引值
4
 
>>> str.rindex("n")         #返回最后一次匹配的索引值
11
 
>>> str.count('a')      #字符串中匹配的次数
0
>>> str.count('n')      #同上
2
 
>>> str.replace('EAR','ear')        #匹配替换
'string learn'
 
>>> str.replace('n','N')
'striNg lEARN'
 
>>> str.replace('n','N',1)
'striNg lEARn'
 
>>> str.strip('n')          #删除字符串首尾匹配的字符,通常用于默认删除回车符 
   
'string lEAR' 
   
>>> str.lstrip('n')        #左匹配 
   
'string lEARn' 
   
>>> str.rstrip('n')        #右匹配 
   
'string lEAR' 
 
>>> str = " tab"
 
>>> str.expandtabs()       #把制表符转为空格
' tab'
 
>>> str.expandtabs(2)      #指定空格数
' tab'

5.字符串编码与解码

>>> str = "字符串学习"
>>> str
'\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe5\xad\xa6\xe4\xb9\xa0'
 
>>> str.decode('utf-8')                                #解码过程,将utf-8解码为unicode
u'\u5b57\u7b26\u4e32\u5b66\u4e60'
 
>>> str.decode("utf-8").encode('gbk')                      #编码过程,将unicode编码为gbk
'\xd7\xd6\xb7\xfb\xb4\xae\xd1\xa7\xcf\xb0'
 
>>> str.decode('utf-8').encode('utf-8')                        #将unicode编码为utf-8 
'\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe5\xad\xa6\xe4\xb9\xa0'

6.字符串分割变换

>> str = "Learn string"
 
>>> '-'.join(str)
'L-e-a-r-n- -s-t-r-i-n-g'
 
>>> li = ['Learn','string']
 
>>> '-'.join(li)
'Learn-string'
 
>>> str.split('n')
['Lear', ' stri', 'g']
 
>>> str.split('n',1)
['Lear', ' string']
 
>>> str.rsplit('n')
['Lear', ' stri', 'g']
 
>>> str.rsplit('n',1)
['Learn stri', 'g']
 
>>> str.splitlines()
['Learn string']
 
>>> str.partition('n')
('Lear', 'n', ' string')
 
>>> str.rpartition('n')
('Learn stri', 'n', 'g')

1.3List(列表)

列表List可以包含不同类型的数据对像,同时它是一个有序的集合"python 集合"

list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]

列表可以包含不同类型对像,也支持嵌套:

a = ['a',567,['adc',4,],(1,2)]

列表的操作
1,增加新的元素

list.append() 在list 末尾增加一个元素

list.insert(n,'4') 在指定位置添加元素,如果指定的下标不存在,那么就是在末尾添加

list1.extend(list2) 合并两个list   list2中仍有元素

2,删除list 中的元素

list.pop() 删最后一个元素

list.pop(n)指定下标,删除指定的元素,如果删除一个不存在的元素会报错

list.remove(xx) 删除list 里面的一个元素,有多个相同的元素,删除第一个 

print(list.pop()) 有返回值

print(list.remove()) 无返回值

list.clear()清空list

del  list[n] 删除指定下标对应的元素 

del list 删除整个列表, list删除后无法访问

3,查看列表中的值

print(list)    遍历列表输出

等价于    for i in list:

                      print i

print(list[n])  使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符

print(list.count(xx)) 查看某个元素在这个列表里的个数,如果改元素不存在,那么返回0

print(list.index(xx))找到这个元素的角标,如果有多个,返回第一个,如果找一个不存在的元素会报错

4,排序和反转

list.reverse()将列表反转

list.sort()排序,默认升序

list.sort(reverse=True) 降序排列

注:list 中有字符串,数字时不能排序,排序针对同类型

5,列表操作的函数

len(list):列表元素个数 
max(list):返回列表元素最大值 
min(list):返回列表元素最小值 
list(seq):将元组转换为列表

1.4 Tuple(元组)

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
元组中的元素类型也可以不相同

tuple = ('hello', 786, 2.23, 'python', 70.2)
  • 1、与字符串一样,元组的元素不能修改。
  • 2、元组也可以被索引和切片,方法一样。
  • 3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
  • 4、元组也可以使用+操作符进行拼接。

1.5 Set(集合)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合没有重复元素,且无序的数据类型,且不能通过索引来引用集合中的元素

a = {66.6, 'Jim', 12, 'Tom', True, 'Rose'}
或者
a =set()

1.6 Dictionary(字典)

字典(Dictionary)在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种结构类型通常也被称为映射,或者叫关联数组,也有叫哈希表的。

d = {
    "k1": 18,
    "k2": True,
    "k3": ['Su', {
        'kk1': 'vv1',
        'kk2': 'vv2',
        'kk3': (11, 22),
    }
           ],
    1527: (11, 22, 33, 44)
}
Python字典包含了以下内置函数:
1、cmp(dict1, dict2):比较两个字典元素。
2、len(dict):计算字典元素个数,即键的总数。
3、str(dict):输出字典可打印的字符串表示。
4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。

 

Python字典包含了以下内置方法:
1、radiansdict.clear():删除字典内所有元素
2、radiansdict.copy():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
10、radiansdict.values():以列表返回字典中的所有值

二.运算符。

2.1 算术运算符

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000

2.1 比较运算符

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。

2.1 赋值运算符

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

2.1 逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

你可能感兴趣的:(python总结之一 数据类型)