python学习笔记之数据类型

2019-9-18 张宇童 Python

1、六大标准数据类型

Number 数字类型 (int, float, bool, complex)

String 字符串类型

# 使用""里面是字符串
string = "我是一段字符串"
# 支持多行
string = """
   春晓
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
"""
# 元字符 可以使转义字符失效
string = r'hello \nworld'
print(string)

List 列表类型

Listvar = ['鲁智深','鲁班',True, 3.1415, 18]
# 输出鲁智深 从左向右数 第一个索引为0
print(Listvar[0]) 
# 获取列表中最后一个元素 从右向左数 第一个索引为-1
print(Listvar[-1]) 
# 计算列表的长度
print(len(Listvar))
# 获取列表中最后一个元素
print(Listvar[len(Listvar)-1])
# 获取列表的类型
print(type(Listvar))
# 修改列表的元素内容 将‘鲁智深’ 修改为 ‘hello’
Listvar[0] = "hello"
print(Listvar)

tuple 元组类型

# ## 元组类型tuple
# #### 元组类型的标志类型是逗号
# 只能获取 可以排序 但是不能修改
tuplevar = (1, 2, 3)
print(tuplevar)
print(type(tuplevar))
typleone = 1,
print(type(typleone))
# 声明一个空元组 单独写一个()是可以的 ,但是如果写(1)则是整型
tuplevar = ()
tuplevar = ("卡")
print(tuplevar)
# 字符串可以通过下表获取值
hello = "hello world"
print(hello[0] );

set 集合类型

# 集合类型,不能通过索引下标获取
# # 自动[去重],[无序]的容器
setvar = {"周星驰","刘德华","张学友","郭富城","周星驰"}
# output set
print(type(setvar)) 
print(setvar)

dict 字典类型

# dict 字典类型
# 如果单独定义 一个{} 不是集合(set)而是idct 类型
var = {}
print(type(var)) # 输出dict
# 定义一个空set
var = set()
print(type(var)) # 输出set
# dict是以键值对的形式存储
dictvar = {'top':'蛮王','middle': '安妮','bottom': '伊泽瑞尔', 'support': '蒸汽机器人','jungle': '狼人'}
print(dictvar) # {'top': '蛮王', 'middle': '安妮', 'bottom': '伊泽瑞尔', 'support': '蒸汽机器人', 'jungle': '狼人'}
# 字典的修改
dictvar['top'] = '洛克'
print(dictvar) # {'top': '洛克', 'middle': '安妮', 'bottom': '伊泽瑞尔', 'support': '蒸汽机器人', 'jungle': '狼人'}
# 以下语法python支持
dictvar = {0: '第一个', 1: '第二个'}
print(dictvar) # {0: '第一个', 1: '第二个'}

在内存中的存储规律 Number 部分 -5 ~ 正无穷的相同值 ID(内存指针) 是一致的 

类型的转换

# 数据类型的转换
# 当两个不同类型的数据进行运算的时候默认向更高精度转换
# 默认精度从低到高
# bool->int->float->complex
var1 = True # Ture转int后是1。False转int后是0
var2 = 1
var3 = 3.14
var4 = 3+4j
# int 加 bool 默认转换为int
print(var1 + var2) # 2
# bool 加 float 默认转换为 float
print(var3 + var1) # 4.140000000000001
# bool 加 complex 默认转为complex
print(var1 + var4) # (4+4j)
# int 加 float 默认转为float
print(var2 + var3) # 4.140000000000001
# int 加 complex 默认转为complex
print(var2 + var4) # (4+4j)
# float 加 complex 默认转为complex
print(var3 + var4) # (6.140000000000001+4j)
# 强制类型转换
# Number 部分
# int     整数 浮点数 布尔型 字符串
# float   整数 浮点数 布尔型 字符串
# complex 整数 浮点数 布尔型 字符串 (复数)
# bool    (容器类型数据 / Number)

var1 = 12
var2 = 3.14
var3 = 2-1j
var4 = True
var5 = 123456
var6 = "123456"

# int 强转
res = int(var2) # 向下取整
print(res)
res = int(var4) # 1
print(res)
res = int(var5) # 123456
print(res)
res = int(var6) # 123456
print(res)

#float 强转
res = float(var1)
print(res) # 12.0
res = float(var2)
print(res) # 3.14
res = float(var4)
print(res)
res = float(var5)
print(res)
res = float(var6)
print(res)

# 复数强转
res = complex(var1)
print(res) # (12+0j)
res = complex(var2)
print(res) # (3.14+0j)
res = complex(var3)
print(res) # (2-1j)
res = complex(var4)
print(res) # (1+0j)
res = complex(var5)
print(res) # (123456+0j)
res = complex(var6)
print(res) # (123456+0j)

# bool 强转
res = bool(var1)
print(res) # True
res = bool(var3)
print(res) # True
res = bool({'top': ''})
print(res) # True

# 布尔类型为False的情况有十种
res = bool(0)
print(res)
res = bool('')
print(res)
res = bool(False)
print(res)
res = bool(0j)
print(res)
res = bool([])
print(res)
res = bool(())
print(res)
res = bool({})
print(res)
res = bool(set())
print(res)
res = bool(None)
print(res)
res = bool(0.0)
print(res)

# bool() int() float() complex() 默认声明一个空数据
var1 = "hello world你好世界"
var2 = 18
var3 = ['列表1','列表2']
var4 = {'集合一','集合二','集合一'}
var5 = {"one": '第一个','two': '第二个'}
var6 = (4,5,2)

# 转为字符串 无论什么类型的数据转字符串 只要在两侧加上“”
res = repr(str(var3))
print(res) # "['列表1', '列表2']"
res = repr(str(var5))
print(res) # "{'one': '第一个', 'two': '第二个'}"

# 转为list 
# 如果是字符串 就把每一个字符作为一个单独的元素
# 如果是容器 就将其两侧的符号换为中括号“[]”
res = list(var1)
print(res) # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
print(list("你好世界")) # ['你', '好', '世', '界']
res = list(var6)
print(res) # [4, 5, 2]
res = list(var4)
print(repr(res)) # ['集合二', '集合一']

# 转为元组
res = tuple(var1)
print(res) # ('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '你', '好', '世', '界')
res = tuple(var3)
print(res) # ('列表1', '列表2')
res = tuple(var4)
print(res) # ('集合二', '集合一')
res = tuple(var5)
print(res) # ('one', 'two')

标签: python 学习笔记

发表评论:

Powered by emlog