【Python】内置数据类型

时间:2014-07-22 23:10:15   收藏:0   阅读:371

参考资料:

      http://sebug.net/paper/books/dive-into-python3/native-datatypes.html

      http://blog.csdn.net/hazir/article/details/10159709

 mamicode.com,码迷

1、Boolean【布尔型】

mamicode.com,码迷
# 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()
mamicode.com,码迷

 

注:

        1、上述代码指出了,为False的情况,0、None、’’{} 都为False,反之则为True

        2、%r   为Python的原样输出符号,以上输出结果为:

       mamicode.com,码迷

 

2、Number【数值型】

mamicode.com,码迷
# 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()
mamicode.com,码迷

注:

       以上总结了数值型包括整数、浮点数、复数

输出结果:

mamicode.com,码迷

 

3、String【字符串型】

mamicode.com,码迷
# 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 = 123
    
    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("3")
    

# 使用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()
mamicode.com,码迷

 

注:

       以上总结了字符串的一个操作函数,同时指出了格式化字符串的使用

       输出结果:

       mamicode.com,码迷

 

4、Bytes【字节】

     下次补充

      pass

 

5、List【列表】

mamicode.com,码迷
# 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()
mamicode.com,码迷

 

注:

      以上总结了list的基本用法,输出结果:

      mamicode.com,码迷

 

6、Tuples【元组】

mamicode.com,码迷
# 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()
mamicode.com,码迷

注:

      tuple元组是不可变类型,注意单个元素时逗号的使用

 

7、Set【集合】

mamicode.com,码迷
# 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()
mamicode.com,码迷

注:

      集合的基本操作union、difference、intersection【并、差、集】

      输出结果:

      mamicode.com,码迷

8、Dictionaries【字典】

mamicode.com,码迷
# coding:utf-8
‘‘‘
Created on 2014-4-29

@author: Administrator
‘‘‘

def test_dictionaries():
    
    # 字典构造
    # 构造方法一
    phonenumber = {
                   "12345":"luosongchao",
                   "3215689":"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()
mamicode.com,码迷

注:

     以上给出了dict的四种构造方法,字典的迭代方法,查找字典,删除字典元素,更新字典等

     输出结果:

     mamicode.com,码迷

 

 

补充部分:

mamicode.com,码迷
# 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()
mamicode.com,码迷

注:

        以上给出了,判断类型的方法,type使用和isinstance使用:

 mamicode.com,码迷

【Python】内置数据类型,码迷,mamicode.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!