初学Python之——基本数据类型

原创
2017/06/17 15:32
阅读数 96

Python3 基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量没有类型, "类型"是变量所指的内存中对象的类型。(简单的认为:变量存储的是内存中对象内存地址)

使用等号(=)来给变量赋值。

给多个变量赋值的方式:

示例1:a = b = c = 1——创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。

示例2:a, b, c = 1, 2, "abc"——两个整型对象 1 2 的分配给变量 a b,字符串对象 "abc" 分配给变量 c

标准数据类型

Python3 中有六个标准的数据类型:①Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典)

Number(数字)Python3 支持 intfloatboolcomplex(复数)

在创建一个变量并赋值时,Number对象就会被创建。

查询变量所指的对象类型:type()isinstance()

两者区别:type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。

示例:

输入:a, b, c, d = 10, 1.1, True, 1+2j

print(type(a), type(b), type(c), type(d))

e = 11

print(isinstance(a, int),isinstance(b, int),(a, int)
输出:<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

True False (10, <class 'int'>)

删除变量:del语句删除对象引用(简单认为:删除的是地址,同时地址指向的对象也被删除)

del语句的语法是:del var1[,var2[,var3[....,varN]]]]

也可以通过使用del语句删除单个或多个对象:

del var

del var_a, var_b

数值运算

输入:

a=5+4           # 加法

b=4.3-2         # 减法

c=3*7           # 乘法

d=2/4           # 除法,得到一个浮点数

e=2//4          # 除法,得到一个整数

f=17 % 3        # 取余

g=2**5          # 乘方

print(a,b,c,d,e,f,g)

  输出:9  2.3  21  0.5  0  2  32

注意:

1Python可以同时为多个变量赋值,如a, b = 1, 2

2、一个变量可以通过赋值指向不同类型的对象。

3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。

4、在混合计算时,Python会把整型转换成为浮点数。

 

String(字符串)

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

字符串的截取的语法:变量[头下标:尾下标]

索引值:从前往后以0为开始值,从后往前以-1为开始值。

       加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数

示例:

         输入:

str = 'Runoob'



print (str)          # 输出字符串

print (str[0:-1])    # 输出第一个到倒数第二个的所有字符

print (str[0])       # 输出字符串第一个字符

print (str[-1])      # 输出字符串最后一个字符

print (str[2:5])     # 输出从第三个开始到第五个的字符

print (str[2:])      # 输出从第三个开始的后的所有字符

print (str * 2)      # 输出字符串两次

print (str + "TEST") # 连接字符串

  输出:Runoob

            Runoo

            R

            noo

            noob

            RunoobRunoob

            RunoobTEST

            b

 

Python3中使用反斜杠(\)转义特殊字符,若不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串。

示例:

输入:

print('Ru\noob')

print(r'Ru\noob')

  输出: Ru

oob

Ru\noob

 

另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。

注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。

String(字符串)总结:

1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。

2、字符串可以用+运算符连接在一起,用*运算符重复。

3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。

4、Python中的字符串不能改变。

 

List(列表)

网络总结显示:List(列表)Python语言编程中使用最频繁的数据类型。

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如:

list1 = ['Teacher', 'Student', 1997, 2000];

list2 = [1, 2, 3, 4, 5 , 6, 7];

list3 = ["a", "b", "c", "d"];

与字符串的索引一样,列表索引从0开始。

1、访问列表中的值:

使用下标索引来访问列表中的值,也可以使用方括号的形式截取字符:

示例:

输入:

list1 = ['teacher', 'Student', 1997, 2000];

list2 = [1, 2, 3, 4, 5, 6, 7 ];

print ("list1[0]: ", list1[0])

print ("list2[1:5]: ", list2[1:5])

  输出: list1[0]:  Baidu

list2[1:5]:  [2, 3, 4, 5]

    2更新列表:

       可以对列表的数据项进行修改或更新,也可以使用append()方法来添加列表项。

         对列表的数据项进行修改或更新示例:

输入:

list = ['teacher', 'Student', 1997, 2000]

print ("第三个元素为 : ", list[2])

list[2] = 2001

print ("更新后的第三个元素为 : ", list[2])

  输出: 第三个元素为 :  1997

更新后的第三个元素为 :  2001

       append()方法:

         append() 方法用于在列表末尾添加新的对象。

         语法:list.append(obj)           注:参数“obj -- 添加到列表末尾的对象

         append()方法无返回值,但是会修改原来的列表。

       示例:

输入:

list1 = ['teacher', 'Student', 1997, 2000]

list1.append('Baidu')

print ("更新后的列表 : ", list1)

  输出: 更新后的列表 :  ['teacher', 'Student', 1997, 2000, 'Baidu']

       List(列表)总结:

1List写在方括号之间,元素用逗号隔开。

2、和字符串一样,list可以被索引和切片。

3List可以使用+操作符进行拼接。

4List中的元素是可以改变的。

 

Tuple(元组)

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

元组与字符串类似,可以被索引且下标索引从前往后以0为开始值,从后往前以-1为开始值。也可以进行截取。

可以把字符串看作一种特殊的元组。

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含0个或1个元素的元组比较特殊,所以有一些额外的语法规则:

tup1 = ()       # 空元组

tup2 = (20,)    # 一个元素,需要在元素后添加逗号。

String(字符串)、list(列表)和tuple(元组)都属于sequence(序列)。

 

Set(集合)

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

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

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

示例:

输入:

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

print(student)   # 输出集合,重复的元素被自动去掉

# 成员测试

if('Rose' in student) :

    print('Rose 在集合中')

else :

    print('Rose 不在集合中')

# set可以进行集合运算

a = set('abracadabra')

b = set('alacazam')

print(a)

print(b)

print(a - b)     # a和b的差集

print(a | b)     # a和b的并集

print(a & b)     # a和b的交集

print(a ^ b)     # a和b中不同时存在的元素

  输出: {'Mary', 'Tom', 'Jack', 'Rose', 'Jim'}

            Rose 在集合中

            {'c', 'd', 'b', 'r', 'a'}

            {'m', 'l', 'c', 'z', 'a'}

            {'r', 'd', 'b'}

            {'m', 'l', 'c', 'd', 'b', 'r', 'z', 'a'}

            {'c', 'a'}

            {'m', 'l', 'd', 'b', 'r', 'z'}

  

Dictionary(字典)

字典是另一种可变容器模型,且可存储任意类型对象。

1、创建字典

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({}):

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

dict1 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

dict2 = { 'abc': 456 };

dict3 = { 'abc': 123, 98.6: 37 };

2、访问字典里的值

把相应的键放入熟悉的方括弧。如果用字典里没有的键访问数据,会输出错误:

示例:

输入:

dict = {'Name': 'Jim', 'Age': 18, 'Sex': 'male'}

print ("dict['Name']: ", dict['Name'])

print ("dict['Age']: ", dict['Age'])
print ("dict['Alice']: ", dict['Alice'])

  输出: dict['Name']:  Jim

            Traceback (most recent call last):

                     File "D:/ideaworkspace/Test.py", line 4, in <module>

            dict['Age']:  18

                print ("dict['Alice']: ", dict['Alice'])

            KeyError: 'Alice'

3、修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。

示例:

输入:

dict = {'Name': 'Jim', 'Age': 18, 'Sex': 'male'}
dict['Sex'] = "female ";                 # 更新 Sex
dict['School'] = "qinghuadaxue"         # 添加信息
print ("dict['Sex']: ", dict['Sex'])

  输出: dict['Sex']:  female

             dict['School']:  qinghuadaxue

4、删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。显示删除一个字典用del命令

示例:

输入:

dict = {'Name': 'Jim', 'Age': 18, 'Sex': 'male'}
del dict['Name']            # 删除键 'Name'
dict.clear()                 # 删除字典
del dict                    # 删除字典
print ("dict['Age']: ", dict['Age'])
print ("dict['Sex']: ", dict['Sex'])

  输出: Traceback (most recent call last):

              File "D:/ideaworkspace/video.py", line 147, in <module>

                    print ("dict['Age']: ", dict['Age'])

               TypeError: 'type' object is not subscriptable

5、字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的。但键不行:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会覆盖前一个,记住的只有后一个值。

2)键必须不可变,所以可以用数字,字符串或元组。

6、字典内置函数&方法

1Python字典包含的内置函数:

len(dict)——计算字典元素个数,即键的总数。

str(dict)——输出字典,以可打印的字符串表示。

type(variable)——返回输入的变量类型,如果变量是字典就返回字典类型。

2Python字典包含了以下内置方法:

radiansdict.clear()——删除字典内所有元素

radiansdict.copy()——返回一个字典的浅复制

radiansdict.fromkeys()——创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

radiansdict.get(key, default=None)——返回指定键的值,如果值不在字典中返回default

key in dict——如果键在字典dict里返回true,否则返回false

radiansdict.items()——以列表返回可遍历的(, ) 元组数组

radiansdict.keys()——以列表返回一个字典所有的键

radiansdict.setdefault(key, default=None)——和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

radiansdict.update(dict2)——把字典dict2的键/值对更新到dict

radiansdict.values()——以列表返回字典中的所有值

pop(key[,default])——删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

popitem()——随机返回并删除字典中的一对键和值。

 

 

 

 

 

 

 

 

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部