Python3基本数据类型

一、Python简介

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

优势:linux

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

缺点:windows

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

二、开发环境与开发工具

2.一、环境安装

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

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

2.二、开发工具

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

三、基本数据类型

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

3.一、布尔值

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

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

3.二、整数

和数学中表示方法一致,好比十进制整数1,2。也能够采用其它进制表示,好比十六进制,八进制。
整数的加减乘除:开发工具

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

3.二、浮点数

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

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.四、空值

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

3.五、变量

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

3.六、列表

列表中的各项值不须要具有相同的类型。放在[]中,用逗号(,)隔开。列表中能够嵌套列表。索引是从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.七、字典

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

字典建立

>>> 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.八、元组

元组和列表相似,是用括号包裹起来的,不一样之处在于元组不能修改,全部元组天然没有新增,修改元组元素值的方法喽。

建立元组

>>> 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.九、 集合

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}
相关文章
相关标签/搜索