Python数据类型

标准数据类型

Python3 中有五个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

Number(数字)

Int整数

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

在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的type()函数可以用来查询变量所指的对象类型。

整数,int
    a.
	  # n1 = 123
	  # n2 = 456
	  # print(n1+n2)
	  #	
	  #	print(n1.__add__(n2))   
	b. .bit_length()
	  #  获取可表示的二进制最短位数
	  #	n1 = 4
	  #	ret = n1.bit_length()
	  #	print(ret)

  

String(字符串)

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

字符串的截取的语法格式如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
.capitalize 首字母变大写
# al = "alex"
# print(al.capitalize())首字母变大写
# Alex

.center 字符串居中,两边空格
# al = "alex"
# print(al.center(20,"_"))  字符串居中,两边空格
# ________alex________

.count统计
# al = "alex is ap"
# print(al.count("a")) 统计a出现了几次
# #2
# print(al.count("a",0,7))
# 1 统计0到7之间所有的a

.endswith查看是否以什么结尾
# temp = "keyby"
# print(temp.endswith("y")) 查看是否以“y”结尾
# False
# print(temp.endswith("b",0,4)) 统计0到四是不是以“b”结尾
# True

.find查找位置,如果找不到就返回-1
# al = "alexa"
# print(al.find("e"))查找位置,如果找不到值就返回-1
# 2

.format() 格式化
# s = "hello {0},{1}"     #{} 占位符
# print(s)
# new = s.format("alex",100)
# print(new)
# hello {0},{1}
# hello alex,100

.isalnum 查看是否是字母和数字
# n1 = "alex"
# print(n1.isalnum()) 查看是否是字母和数字
# True

.isalpha 查看是否是字母
# print(n1.isalpha())查看是否是字母
# True

.isdigit 查看是否是小写
# print(n1.isdigit()) 查看是否是小写
# False

.isspace 查看是否有空格
# print(n1.isspace())  查看是否是空格
# False

.istitle 查看是否是标题
# print(n1.istitle())   查看是否是标题
# False

.isupper 查看全部是不是大写
# print(n1.isupper())    检验全部是不是大写
# False

.join 连接,可迭代的
# al = "alex","eric"
# s = "_".join(al)  ;两个字符串连接起来
# print(s)


# s = " alex "
#al = s.lstrip() 移除左面的空格
# al = s.rstrip() 移除右边的空格
# al = s.strip()  移除左右的空格
# print(al)

.partition分割
# s = "alex sb slex"
# print(s.partition("sb"))   从左向右分成三部分
# ('slex ', 'sb', ' alex')
# print(s.rpartition("sb"))   从右向左分成三部分
# ('alex ', 'sb', ' slex')

.split 取值分割
# s = "alexalex"
# rat = s.split("e")   根据e分割
# print(rat)
# ['al', 'xal', 'x']

.replace  替代
# s = "alex sb alex"
# ret = s.replace("al","bb") #将al 替换乘bb
# print(ret)
# bbex sb bbex

# s = "alex"
# print(s[0:2])   切片
# al
# print(s[0])    索引
# a

for循环
# s = "alex"
# for itme in s:    for循环
#     print(itme)
# a
# l
# e
# x
View Code

List(列表)

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号([])之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表截取的语法格式如下:

#namelist = ["wang", "sun", "guok", "wuyo", "qihu", "alex", "n1", "n3", "n5", "n8", "n0", "n11", "s2", "s5", "s8", "n3",
            "n5"]
切片
#print namelist[2:5]拿出列表中的值
['guok', 'wuyo', 'qihu']

len 查看列表长度
print len(namelist)
17

.index 索引的意思 
#print namelist.index("wuyo")查找值在表中的位置
3
#namelist.index('n3')#索引找值在表中的位置

#print namelist[-3:] 查找表中倒数后三个的值

跳着取值
#print(namelist[0:10:3] )#跳着按顺序查找,10个数以内3个3个跳着查找

.count统计
# print namelist.count("n3") #统计,列表里有几个这样的值
2
#n = namelist.index("n5") #索引查找表中值的位置
#namelist[n]='1D3'#编辑列表中的值
#print (namelist) 查找列表有没有被改变

.insert给表格插入值
# n = namelist.index("alex")#索引查找表中值的位置
# namelist.insert(n+1,"huge") #在alex后插入huge
# print namelist
['wang', 'sun', 'guok', 'wuyo', 'qihu', 'alex', 'huge', 'n1', 'n3', 'n5', 'n8', 'n0', 'n11', 's2', 's5', 's8', 'n3', 'n5']

.sort() 排序
# namelist.sort()#按顺序排序
# print namelist  
['alex', 'guok', 'n0', 'n1', 'n11', 'n3', 'n3', 'n5', 'n5', 'n8', 'qihu', 's2', 's5', 's8', 'sun', 'wang', 'wuyo']

.reverse() 反转
#namelist.reverse() #反转,把列表的值从后向前列出来
#print namelist
['n5', 'n3', 's8', 's5', 's2', 'n11', 'n0', 'n8', 'n5', 'n3', 'n1', 'alex', 'qihu', 'wuyo', 'guok', 'sun', 'wang']

.extend("")扩展, 把两个表和起来
# namelist.extend("list") 扩展
# print namelist

.append("")追加
# namelist.append("xiaohu") 追加
# print namelist

.pop(位置)删除列表里的值
#namelist.pop()#默认删除最后一个值
#print namelist

.remove("")删除
#namelist.remove("sun")删除列表中“sun”这个值
#print namelist
['wang', 'guok', 'wuyo', 'qihu', 'alex', 'n1', 'n3', 'n5', 'n8', 'n0', 'n11', 's2', 's5', 's8', 'n3', 'n5']

del 删除整个列表


for 循环 for i in range():
#namelist = ["wang", "sun", "guok", "wuyo", "qihu", "alex", "n1", "n3", "n5", "n8", "n0", "n11", "s2", "s5", "s8", "n3",
            "n5"]
#s = namelist.count("n3")
#for i in range(s):
#    namelist.remove("n3")
#print namelist
['wang', ['sun', 'guok', 'wuyo', 'qihu', 'alex', 'n1', 'n5', 'n8', 'n0', 'n11', 's2', 's5', 's8', 'n5']
View Code

Tuple(元组)

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

元组中的元素类型也可以不相同:

元组:
   1. age = (1,2,3,4,5)
   #   print(age(0:2))
   #   >>> (1,2) 可以切片
   #   for i in age:
   #       print(i)
   #   >>> (1,2,3,4,5)
   #  不能 del 删除
    2.count() 统计
   #   age = (1,2,3,1,4,5,1,6)
   #   ret = age.count(1)
   #   print(ret)>>> 3
    3.index  索引
   #   age = (1,2,3,4)
   #   ret = age.index(2)
   #   print(ret)>>> 3
    4. len
   #   print(len(age))
   #   >>> 5
View Code

Set(字典)

字典(set)是一个无序不重复元素的序列。

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

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#######zidian = {"age":123,123:"lol","pop":"ws1" }########
# print(zidian.keys())#获取所有的键
# dict_keys([123, 'age', 'pop'])

# print(zidian.values())获取所有的值
# dict_values([123, 'ws1', 'lol'])

# print(zidian.items())获取所有的键值对
# dict_items([('age', 123), (123, 'lol'), ('pop', 'ws1')])

# zidian.clear()清除字典的内容
# print(zidian)
# {}

# print(zidian.get(123))更具键(key)取值

# print(zidian.get("qwsa","sun"))如果键(key)不存在,可以指定一个默认值

# zidian.pop("age")删除字典中的键
# print(zidian)
#{123: 'lol', 'pop': 'ws1'}

# zidian.popitem()随机删除一个键对值
# print(zidian)
# {'pop': 'ws1', 'age': 123}

# n = ({"as":123})创建一个字典
# zidian.update(n)把两个字典合并起来
# print(zidian)
# {'as': 123, 123: 'lol', 'age': 123, 'pop': 'ws1'}
View Code

 

Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

 

其它 

1、for循环
用户按照顺序循环可迭代对象中的内容,
PS:break、continue
li = [11,22,33,44]
for item in li:
    print item
2、enumrate
为可迭代的对象添加序号
li = [11,22,33]
for k,v in enumerate(li, 1):
    print(k,v)
3、range和xrange
指定范围,生成指定的数字
print range(1, 10)
# 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
 
print range(1, 10, 2)
# 结果:[1, 3, 5, 7, 9]
 
print range(30, 0, -2)
# 结果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]  

 

posted @ 2016-05-02 20:53  青春永不言弃  阅读(321)  评论(0)    收藏  举报