【Python】内置数据类型
参考资料:
http://sebug.net/paper/books/dive-into-python3/native-datatypes.html
http://blog.csdn.net/hazir/article/details/10159709
1、Boolean【布尔型】
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
''' # Python中的布尔值为True、False,首字母大写
def test_boolean(): # bool 值为False的情况
formater = "%r,%r" # %r —— 万能的格式符,它会将后面的参数原样打印输出,带有类型信息 n = 1
print formater % (n, bool(''))
n += 1 print formater % (n, bool(None))
n += 1 print formater % (n, bool(0))
n += 1 print formater % (n, bool(0L))
n += 1 print formater % (n, bool(0.0))
n += 1 print formater % (n, bool(0j))
n += 1 print formater % (n, bool({}))
n += 1 print repr(False) # bool值为True
print "++++++++++++++++++++++++++++++++++"
print formater %(n,bool("hello"))
n+=1 print formater %(n,bool(1)) test_boolean()
注:
1、上述代码指出了,为False的情况,0、None、’’{} 都为False,反之则为True
2、%r 为Python的原样输出符号,以上输出结果为:
2、Number【数值型】
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
''' def test_integer():
formater = "%r,%r"
n = 1 print formater % (n, 123)
n += 1 print formater % (n, 123L)
n += 1 print formater % (n, 12.34)
n += 1 cplx = complex(1, 2)
print formater % (n, cplx)
print "%r,%r,%r" % (5, cplx.real, cplx.imag) test_integer()
注:
以上总结了数值型包括整数、浮点数、复数
输出结果:
3、String【字符串型】
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
''' # 基本类型——字符串 """可以使用单引号(')或者双引号(")表示字符串"""
def string_op():
str1 = "Hello World!"
str2 = "David's Book"
str3 = '"David" KO!'
str4 = "TOTAL"
str5 = '' print str1
print str2
print str3
print str4
print str5 if str1.endswith("!"):
print "endwith:%s" % "!" if str2.startswith("vid", 2, 5):
print "startswith:%s" % "vid" if str4.isupper():
print "Uppercase" if str5.isdigit():
print "Digit" if str5.isalnum():
print "alnum" print str5.find("") # 使用format函数格式化字符串
def string_format():
print "hello {}".format("world!")
print "hello {} {}".format("world", "!")
print "hello {}".format(123)
print "hello {}".format(12.43) string_op()
string_format()
注:
以上总结了字符串的一个操作函数,同时指出了格式化字符串的使用
输出结果:
4、Bytes【字节】
下次补充
pass
5、List【列表】
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
''' def test_list():
# 构造列表——构造函数
mylist = list('a') # 只包含一个参数
print (mylist) value = (1, 2, 3, 4)
mylist = list(value)
print (mylist) # 构造列表——使用方括号
mylist_1 = ['a', 'b']
mylist_2 = [1, 2, 3]
mylist_1.append(mylist_2)
print "condition_1:",
print (mylist_1) mylist_1.extend(mylist_2)
mylist_1.extend(mylist_2) # 注意extend方法和append方法区别
print "condition_2:",
print (mylist_1) mylist_1.remove(mylist_2)
print "condition_3:",
print (mylist_1) mylist_3 = [xobj for xobj in mylist_1]
print "condition_4:",
print (mylist_3) # 以下是list的一些方法使用
mylist_1.reverse()
print (mylist_1) mylist_1.insert(1, 1233)
print (mylist_1) print mylist_1.index(1)
mylist_1.pop()
print (mylist_1) test_list()
注:
以上总结了list的基本用法,输出结果:
6、Tuples【元组】
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
''' #元组类似于列表,用逗号(,)分隔存储数据,与列表不同的是元组是不可变类型,列表
#可以任你插入或改变,而元组不行,元组适合于数据固定且不需改变的情形,从内存角度
#来看,使用元组有一个好处是,可以明确的知道需要分配多少内存给元组
def test_tuples():
my_tuple=(1,2,3.1,2)
my_list=[1,2,3,3.3]
my_dict=dict(a=1,b=2,c=3) #测试数据类型
print type(my_tuple)
print type(my_list)
print type(my_dict) #构造tuple
my_tuple_2=tuple([1,2,3,2])
print type(my_tuple_2)
print my_tuple
print my_tuple_2 #tuple 特殊说明:
# 可以使用空小括号或者使用不传参数的构造函数来创建一个空的元组,
# 但创建仅有一个元素的元组时,还需要一个额外的逗号,因为没有这个逗号,
# python会忽略小括号,仅仅只看到里面的值
single_tuple=(1)
single_tuple_2=(1,)
print type(single_tuple)
print type(single_tuple_2) def test_pass():
pass #pass 是python中的空语句 test_tuples()
注:
tuple元组是不可变类型,注意单个元素时逗号的使用
7、Set【集合】
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
''' def test_set():
a={12,1,2,3}
b={1,4,5,2} print "set(a):%r" %a
print "set(b):%r" %b print "set(a.union(b)):%r" %a.union(b)
print "set(a.difference(b)):%r" %a.difference(b)
print "set(a.intersection(b)):%r" %a.intersection(b) a=list(a)
print a test_set()
注:
集合的基本操作union、difference、intersection【并、差、集】
输出结果:
8、Dictionaries【字典】
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
''' def test_dictionaries(): # 字典构造
# 构造方法一
phonenumber = {
"":"luosongchao",
"":"haiktkong"
} # 构造方法二
diction = dict((['a', 1], ['b', 2], ['c', 3]))
for key, value in diction.iteritems():
print (key, value),
print # 构造方法三
diction = dict(a=1, b=2, c=3)
for key, value in diction.iteritems():
print (key, value),
print # 构造方法四,包含相同值,默认值为None
edic = {}.fromkeys(("x", "y"), -1)
for key, value in edic.iteritems():
print (key, value),
print epdic = {}.fromkeys(("a", "b"))
print epdic # 字典迭代方法:iteritems、iterkeys、itervalues
# iteritems使用
for key, value in phonenumber.iteritems():
print (key, value),
print # iterkeys使用
for key in phonenumber.iterkeys():
print key,
print # itervalues使用
for value in phonenumber.itervalues():
print value,
print # 查找字典
if diction.has_key('a'):
print "has_key" # 更新字典
print diction
diction['a'] += 1
print diction
diction['x'] = 12
print diction # 删除字典元素
diction.pop('a')
print diction
del diction['x']
print diction test_dictionaries()
注:
以上给出了dict的四种构造方法,字典的迭代方法,查找字典,删除字典元素,更新字典等
输出结果:
补充部分:
# coding:utf-8
'''
Created on 2014-4-29 @author: Administrator
'''
# 判断类型
def test_type():
int_type = 1;
long_type = 12L
float_type = 12.21
list_type = [1, 2, 3, 3, 1]
dict_type = {"a":1, "b":2, "c":3}
set_type = {1, 2, 3, 3}
tuple_type = (1, 2, 3, 1) print "int_type: %r" % type(int_type)
print "long_type: %r" % type(long_type)
print "float_type: %r" % type(float_type)
print "list_type: %r" % type(list_type)
print "dict_type: %r" % type(dict_type)
print "set_type: %r" % type(set_type)
print "tuple_type: %r" % type(tuple_type) print "++++++++++++++++++++++++++++++++++++++++" print "isinstance(int):%r" % (isinstance(int_type, int))
print "isinstance(long):%r" % (isinstance(long_type, long))
print "isinstance(float):%r" % (isinstance(float_type, float))
print "isinstance(list):%r" % (isinstance(list_type, list))
print "isinstance(dict):%r" % (isinstance(dict_type, dict))
print "isinstance(set):%r" % (isinstance(set_type, set))
print "isinstance(tuple):%r" % (isinstance(tuple_type, tuple)) test_type()
注:
以上给出了,判断类型的方法,type使用和isinstance使用:
【Python】内置数据类型的更多相关文章
- Python内置数据类型之Dictionary篇
1.查看函数XXX的doc string. Python的函数是有属性的,doc string便是函数的属性.所以查看函数XXX的属性的方法是模块名.XXX.__doc__ 2.模块的属性 每个模块都 ...
- Python内置数据类型总结
python的核心数据类型:(很多语言之提供了数字,字符串,文件数据类型,其他形式的数据类型都以标准库的形式表示 也就是用之前需要import ) ,但是python有很多都是内置的,不需要impor ...
- python 内置数据类型之数字
目录: 1.2. 数字 1.2.1. 数字类型 1.2.2. 浮点数 1.2.3. 进制记数 1.2.4. 设置小数精度 1.2.5. 分数 1.2.6. 除法 1.2 数字 1.2.1 数字类型 ...
- python内置数据类型-字典和列表的排序 python BIT sort——dict and list
python中字典按键或键值排序(我转!) 一.字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序. Py ...
- Python内置数据类型之Tuple篇
Tuple 是不可变的 list.一旦创建了一个 tuple,就不可以改变它.这个有点像C++中的const修饰的变量.下面这段话摘自Dive Into Python: Tuple 比 list 操作 ...
- python 内置数据类型之字符串
1.3 字符串 字符串本身就是一个有序(从左至右)的字符的集合.是序列这种类型的一种,后面还要学习列表与元组. 在这一节中,需要了解字符串的定义,特殊字符,转义与抑制转义:字符串基本操作.格式化等. ...
- Python内置数据类型之List篇
List的定义: li = ["one" , "two" , "three" , "four"] List是一个有序的集 ...
- Python中内置数据类型list,tuple,dict,set的区别和用法
Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...
- python计算非内置数据类型占用内存
getsizeof的局限 python非内置数据类型的对象无法用sys.getsizeof()获得真实的大小,例: import networkx as nx import sys G = nx.Gr ...
- Python的四个内置数据类型list, tuple, dict, set
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...
随机推荐
- sql批量修改插入数据
1.批量修改 select 'update 读者库 set 单位代码='''+新单位代码+''' where 单位代码='''+单位代码+'''' from 读者单位 ,)<'L' and is ...
- 64位操作系统弹出"Failed to load the JNI shared library “E:/2000/Java/JDK6/bin/..jre/bin/client/jvm.dll”
64位操作系统弹出"Failed to load the JNI shared library /..jre/bin/client/jvm.dll”,最大的可能就是jdk的版本问题.去你的C ...
- ip的正则表达式 完美版
IP地址的长度为32位2进制,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开.例如:IP地址为10.0.0.100. 分析IP地址的每组数特点:百位,十 ...
- Java 中判断两个对象是否相等
由于每次实例化一个对象时,系统会分配一块内存地址给这个对象,而系统默认是根据内存地址来检测是否是同一个对象,所以就算是同一个类里实例化出来的对象它们也不会相等. public class Transp ...
- python的egg包的安装和制作]
Defining Python Source Code Encodings Python egg 的安装 egg文件制作与安装 2011-06-10 14:22:50| 分类: python | ...
- Python核心编程--学习笔记--4--Python对象
现在开始学习Python语言的核心部分.首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支 ...
- 菜鸟学习Spring——60s利用JoinPoint获取参数的值和方法名称
一.概述 AOP的实现方法在上两篇博客中已经用了两种方法来实现现在的问题来了虽然我们利用AOP,那么客户端如何信息传递?利用JoinPoint接口来实现客户端给具体实现类的传递参数. 二.代码演示. ...
- 一段高质量的SQL从问问题开始(笔记)
首先SQL书写的目的是为了解决问题,因此只有明白了要解决的问题,才能写出更加高效的SQL语句,才能优雅的解决问题,获得更多的快乐! 在写一个SQL语句的时候不妨像优化器一样思考,问自己以下的这些问题, ...
- Apache+tomcat集群配置
一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...
- iOS学习之Object-C语言类的扩展
一.Category 1.Category:也叫分类,类目.是为没有源代码的类扩充功能.扩充的功能会成为原有类的一部分,可以通过原有类或者原有的对象直接调用,并且可继承. 2.注意 ...