您的位置:首页 > 编程语言 > Python开发

Python3基本数据类型

2019-05-06 09:36 225 查看

目录

  • 3、基本数据类型

    1、Python简介

    Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python主要有两个版本Python 2.x和Python 3.x。Python 团队计划于2020年停止对2.x版本的支持。

    优点:

    • 简单,优雅,明确
    • 容易上手
    • 有完善的基础库可以“站在巨人的肩膀上”开发,还有大量的第三方库可以使用。

    缺点:

    • 不能加密,这是解释型语法的“通病”
    • 运行速度慢于编译型语法,因为解释型语言在运行前要先编译。

    2、开发环境与开发工具

    2.1、环境安装

    官网下载Python安装包:https://www.python.org/downloads/
    Windows平台:下载指定的版本完成后,点击可执行安装器,根据提示一步步安装,记得勾选Add Python 3.x to path,不勾选需要手动配置环境变量。
    Ubuntu平台:默认是安装有Python的,也可以在官网上下载指定版本进行安装,详情参考:https://ywnz.com/linuxjc/3159.html

    Ubuntu打开终端,windows打开cmd,输入python,如果出现以下情况,则说明安装成功。如果提示:python不是内部或外部命令,需要检查环境变量的配置。

    2.2、开发工具

    • PyCharm
    • Eclipse+Pydev
    • Intellij IDEA+PyCharm插件
    • Sublime Text

    3、基本数据类型

    Python基本数据类型包括:数,字符串,字典(dict),列表(list),元组(tuple),布尔值,空值,集合(set),变量。

    3.1、布尔值

    True表示真,False表示假。布尔值支持与(and),或(or),非(!)运算。规则和数学中的一致。布尔值也可以由表达式计算出来。

    >>> 2>2
    False
    >>> 1<2 and 3>2
    True
    >>>

    3.2、整数

    和数学中表示方法一致,比如十进制整数1,2。也可以采用其它进制表示,比如十六进制,八进制。
    整数的加减乘除:

    >>> 1+2
    3
    >>> 2-1
    1
    >>> 1 * 2
    2
    >>> 1/2
    0.5
    >>>

    3.2、浮点数

    浮点数也称小数,表示方法和数学中一致,比如1.22,3.14157。当浮点数非常大或非常小时,需要用科学计数法表示,e表示10,1.1*10^9即就是1.1e9。浮点数的运算同整数。

    3.3、字符串

    用双引号(")或单引号(’)包裹起来的任意文本就是字符串。

    >>> 'Hello World'
    'Hello World'
    • 如果单引号是字符串的一部分时,需要用到双引号来表示。
    • 如果字符串本身包含双引号,需要用到转义字符\,比如"Hi,\"Lucy\""表示字符串Hi,"Lucy"
    • 如果转义字符太多,书写不便时,用r' ',''内不文本默认不转义。

    字符串声明

    str1 = "I love Python3"

    字符串长度

    >>> len(str1)
    14

    根据索引取值

    索引从0开始

    >>> str1[0]
    'I'

    字符串拼接

    >>> str1 + "and Python2"
    'I love Python3and Python2'

    切片

    [n:m]截取字符串的第n到m个字符,左边右开。

    >>> str1[0:5]
    'I lov'

    格式化

    % 将一个值插入到一个字符串%s的地方。

    >>> "I love %s" %"Python3"
    'I love Python3'

    3.4、空值

    空值是特殊的值,用None表示。

    3.5、变量

    和数学中的定义相同,比如,x=1表示x是一个整型变量。

    3.6、列表

    列表中的各项值不需要具备相同的类型。放在[]中,用逗号(,)隔开。列表中可以嵌套列表。索引是从0开始的。

    创建列表

    >>> lst1 = [1,"Hi",True,2.3,"Python"]
    >>> lst1
    [1, 'Hi', True, 2.3, 'Python']
    >>>

    根据索引访问值

    >>> lst1[1]
    'Hi'
    >>>

    列表元素个数

    >>> len(lst1)
    5
    >>>

    修改元素值

    将第二个元素的值修改为Hello

    >>> lst1[2]="Hello"
    >>> lst1
    [1, 'Hi', 'Hello', 2.3, 'Python']
    >>>

    新增元素

    • list.append(val):在列表末尾添加新元素。
    • list.insert(index,val):在指定索引的位置插入元素。
    >>> lst1
    [1, 'Hi', 'Hello', 2.3, 'Python', 'last']
    >>>
    >>> lst1.insert(1,"11")
    >>> lst1
    [1, '11', 'Hi', 'Hello', 2.3, 'Python', 'last']
    >>>

    删除元素

    • list.pop():删除元素,并返回元素的值,默认最后一个。
    • list.remove(val):删除列表中第一个匹配的值。
    >>> lst1
    [1, '11', 'Hi', 'Hello', 2.3, 'Python', 'last']
    >>> lst1.pop()
    'last'
    >>> lst1
    [1, '11', 'Hi', 'Hello', 2.3, 'Python']
    >>> lst1.remove("11")
    >>> lst1
    [1, 'Hi', 'Hello', 2.3, 'Python']
    >>>

    切片

    取列表lst1的第一到第二个元素。

    >>> lst1
    [1, 'Hi', 'Hello', 2.3, 'Python']
    >>> lst1[0:2]
    [1, 'Hi']

    3.7、字典

    字典包裹在花括号({})中,由一个或多个键值对组成,键值对之间用逗号(,)分隔,键与值之间用冒号(:)分隔。键必须是不可变的且不可重复,值可以重复。

    字典创建

    >>> dict1={1:"x",2:"y",3:"z"}
    >>> dict1
    {1: 'x', 2: 'y', 3: 'z'}

    访问字典里的值

    >>> dict1[1]
    'x'
    >>>

    修改字典的值

    >>> dict1[1]="1x"
    >>> dict1
    {1: '1x', 2: 'y', 3: 'z'}
    >>>

    删除字典元素

    >>> del dict1[1]
    >>> dict1
    {2: 'y', 3: 'z'}
    >>>

    查看字典的方法以及帮助

    两个下划线开头和结尾的是特殊的变量或方法,先不管。

    ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

    如果想知道pop方法怎么使用该怎么做呢?

    help(dict.pop)
    Help on method_descriptor:
    
    pop(...)
    D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
    If key is not found, d is returned if given, otherwise KeyError is raised
    (END)

    翻译过来就是:删除指定的key并返回对应的value,如果d值给了的话,在key不存在时会返回,反之,则抛出KeyError。来实验一下:

    >>> dict1
    {2: 'y', 3: 'z'}
    >>> dict1.pop(22,"key 22 is not exist")
    'key 22 is not exist'
    >>> dict1.pop(22)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    KeyError: 22
    >>> dict1.pop(2)
    'y'
    >>>

    这种查看帮助文档的方法同样也适用于其它数据类型。

    3.8、元组

    元组和列表类似,是用括号包裹起来的,不同之处在于元组不能修改,所有元组自然没有新增,修改元组元素值的方法喽。

    创建元组

    >>> t1
    (1, 2, True, 'Hello')
    >>>

    当元组只有一个元素时,需要在元素后面加上逗号(,)。

    访问元组中的元素

    >>> t1[0]
    1
    >>>

    将列表转换成元组

    >>> lst2=[1,1,2,2]
    >>> lst2
    [1, 1, 2, 2]
    >>> tuple(lst2)
    (1, 1, 2, 2)
    >>>

    元组切片

    >>> t1[1:2]
    (2,)
    >>>

    删除元组

    >>> del t1
    >>> t1
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    NameError: name 't1' is not defined
    >>>

    3.9、 集合

    set和字典类似,set只存储key,因此set无重复值,创建时会自动过滤重复值,创建set的方法有两种。

    • {}
    • set()函数创建,创建空的集合必须用set(),因为{}创建的是一个空字典。

    创建集合

    >>> set1={1,1,2,3}
    >>> set1
    {1, 2, 3}
    >>>

    添加元素

    • set.add(val):添加元素val到集合中,如何已存在,则不进行任何操作。
    • set.update(x):x可以是列表,元组,字典等。
    >>> set1.add(4)
    >>> set1
    {1, 2, 3, 4}
    >>>
    >>> set1.update((1,1,3,4,5))
    >>> set1
    {1, 2, 3, 4, 5}
    >>>

    移除元素

    • set.remove(val):删除元素val,如果不存在,则报错。
    • set.discard(val):删除元素val,即使元素不存在,也不会报错。
    >>> set1.remove(6)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    KeyError: 6
    >>> set1.discard(6)
    >>>

    集合操作

    set也可以做数学意义上的交集,并集,补集等操作。

    >>> set2
    {1, 2, 3}
    >>> set1
    {1, 2, 3, 4, 5}

    集合1中存在而集合2中不存在的元素,即差集。

    >>> set1 - set2
    {4, 5}
    >>>

    集合1和2中都存在的元素,即交集。

    >>> set1 & set2
    {1, 2, 3}
    >>>

    不同时包含集合1和2 中的元素,即补集。

    >>> set2 ^ set1
    {4, 5}
    >>>

    集合1和2中包含的所有元素,即全集。

    >>> set1 | set2
    {1, 2, 3, 4, 5}
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: