Python3之基本数据类型

Python3之基本数据类型

这里写图片描述
这里写图片描述

变量

  • 不需要声明
  • 变量在使用前必须赋值,赋值后变量才被创建
  • 赋值方式:等号 = ,左边是变量名,右边是存储在变量中的值
  • 多变量赋值
a = b = c = 1       # 创建一个整型对象,值为1,三个变量被分配到相同的内存空间上
a, b, c = 1, 2, "hello"     # 分别分配给三个变量
  • 删除对象引用:del语句,del var1[, var2, …]
var1, var2 = 1, 3
del var1, var2
  • 变量可通过赋值指向不同类型的对象

标准数据类型

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

Number(数字)

  • 类型:
    • int:长整型
    • float
    • bool:可以和数字相加
    • complex
  • 查询变量所指类型:type(), isinstance()
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'floot'> <class 'bool'> <class 'complex'>

>>> isinstance(a, int)
True

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

class A:
    pass

class B(A):
    pass

isinstance(A(), A)  # returns True
type(A()) == A      # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False
  • 数值运算:混合计算时,整型转换为浮点数
    • 加法:+
    • 减法:-
    • 乘法:*
    • 除法:
      • / :得到浮点数(2/4得0.5)
      • // :得到整数(2//4得0)
    • 取余:%
    • 乘方: **

String(字符串)

  • 单引号 ‘xxx’ 或双引号 “xxx”,
  • 用反斜杠 \ 转义特殊字符,不转义则在字符串前加 r
  • 多行
    • \ :表示下一行是上一行的延续
    • ”’xxx”’
    • “”“xxx”“”
  • 截取
    • 语法:变量[头下标 : 尾下标]
    • 说明:从头下标开始,到尾下标前,不包括尾下标
    • 索引:以0为开始值,-1为从末尾的开始位置
    • 加好 + 为连接符
    • 星号 * 表示复制字符串,后跟复制次数(str * 2,赋值两次)
    • 不指定尾下标时,表示获取从头下标开始的所有字符
  • 字符串不能改变
word = 'python'
word[0] = 'm'   # 报错

List(列表)

  • 元素类型:Number、String、List(嵌套)…
  • 表示方式:[xxx, xxx, xxx, …],方括号间,逗号分隔开
  • 截取:返回一个包含所需元素的新列表
    • 语法:变量[头下标 : 尾下标]
    • 说明:从头下标开始,到尾下标前,不包括尾下标
    • 索引:以0为开始值,-1为从末尾的开始位置
    • 加好 + 为连接符
    • 星号 * 表示重复操作(str * 2,输出两次列表)
    • 不指定尾下标时,表示获取从头下标开始的所有元素
    • 不指定尾下标时,表示获取从头下标开始的所有元素
  • 列表的元素可以改变

Tuple(元组)

  • 元素类型:Number、String、List…
  • 表示方式:(xxx, xxx, xxx, …),小括号间,逗号分隔开
  • 截取:返回一个包含所需元素的新元组
    • 语法:变量[头下标 : 尾下标]
    • 说明:从头下标开始,到尾下标前,不包括尾下标
    • 索引:以0为开始值,-1为从末尾的开始位置
    • 加好 + 为连接符
    • 星号 * 表示重复操作(str * 2,输出两次元组)
    • 不指定尾下标时,表示获取从头下标开始的所有元素
  • 元组的元素不可改变,但可包含可变对象,如List
  • 构造包含 0 或 1 个元素的元组
tup1 = ()       # 空元组
tup2 = (20,)    # 一个元素,需要在元素后添加逗号
  • string, list, tuple都属于sequence(序列)

Set(集合)

  • 无序、不重复元素的序列
  • 基本功能:
    • 进行成员关系测试
if('Rose' in student):
    print('...')
else:
    print('...')
- 删除重复元素

- 创建:
- 大括号 { } 或 set()函数
- 格式:{xxx, xxx, xxx, …} 或 set(xxx)
- 注意:创建空集合必须使用set(),因为{ }用于创建空字典)

Dictionary(字典)

  • 无序的对象集合
  • 一种映射类型,元素是键值对,键key : 值value
  • 键key不可变,且在同一字典中是唯一的
  • 构建:
# 1.
dict = {}   # 创建空字典使用{}
dict['one'] = "1 - hello"
dict[2] = "2 - world"

# 2.
tinydict = {'name': 'hello', 'code': 1, 'url': 'www.baidu.com'}

# 3.构造函数dict()
>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}

>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}

>>> dict(Runoob=1, Google=2, Taobao=3)
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
  • 内置函数
    • clear()
    • keys():所有键
    • values():所有值

数据类型转换

返回一个新的对象,表示转换的值

函数 描述
int(x [,base]) 将x转换为一个整数,base:进制,10
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数,若real为字符串,则不需要指定imag
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

内容来源:http://www.runoob.com/python3/python3-data-type.html

猜你喜欢

转载自blog.csdn.net/Song_Lynn/article/details/79782792