python基础之数据类型相关

小白从0开始学python

从0基础学编程,选择了python这门语言,记录一下学习的历程。
首先从接触到的数据类型开始:

数据类型

  • 说明:编程语言中不同的数据类型都是为了解决生活中的实际问题而出现的,每种类型都有相关的运算。
  • python中常用数据类型:整形、浮点、布尔、字符串、列表、元组、字典、集合等
  • 整型(int):就是数学中的整数
  • 浮点(float):就是数学中的小数
# 浮点
b = 3.14
print(b, type(b))
# 科学计数法
c = 3.1415926e-3
print(c, type(c))
  • 复数(complex)
d = 2 + 3j
print(d, type(d)
  • 布尔(bool):对应于生活中的真假逻辑,只有两个值True/False
  • 空(NoneType):空类型,只有一个值None
  • 字符串(str):使用引号括起来的一串字符
    • 定义:一对单引号、一对双引号、三对单引号、三对双引号
    • 转义:使用’’,使原来有特殊含义的字符变成普通字符,也可以在定义字符串的前面加一个’r’
  • 列表(list):通过[]进行定义,可以存放一系列的任意数据,是一种容器类型
lt = [1, 2, 'hello', 3.14, True]

print(lt, type(lt))
# 通过下标获取元素,有越界问题
print(lt[1])
  • 元组(tuple):通过()进行定义,可以作为容器存放任意数据,元素是不可修改的
tp = (1, 2, [3, 4, 5])
print(tp, type(tp))
# 也是通过下标进行访问
print(tp[2])

# 定义一个元素的元组后面要添加一个,
tp2 = (1,)
print(tp2, type(tp2))
  • 集合(set):通过{}进行定义,可以作为容器存放任意数据,但是元素是不能重复的,且是无序的
s1 = {'李白', '杜甫', '白居易', '王安石', '苏轼', '李白'}
s2 = {'李白', '李商隐', '李清照', '李贺', '李煜', '苏轼'}

# print(s1, type(s1))
# 交集
print(s1 & s2)
# 并集
print(s1 | s2)
# 差集
print(s1 - s2)
print(s2 - s1)

# 定义空集合不能使用{},这是留给定义空字典使用的
# 应该使用set()
# s3 = {}
# print(type(s3))
s4 = set()
print(type(s4))

集合经常用于去重操作

  • 字典(dict):通过{}进行定义
    • 元素是由键值对组成的
    • 键和值之间是有’:'进行连接
    • 键是唯一的,而值可以是任意的
    • 示例
d = {'name': 'dahua', 'age': 18}
print(d, type(d))
# 可以根据键获取值
print(d['name'])
# 当键不存在时或报KeyError错
# print(d['height'])
# 可以通过get方法根据键获取值,
print(d.get('age'))
# 当键不存在时不会报错,会返回None
print(d.get('height'))
# 可以设置默认值,有对应的键返回其值,没有时返回设置的默认值
print(d.get('weight', 75))

# 统计元素个数,字典统计的是键值对个数
print(len(d))
print(len(s1))
print(len(lt))
print(len('helloworld'))

类型转换

  • 隐式类型转换:混合运算、条件判断
  • 强制类型转换:使用专门的函数进行转换
int:转换为整型
float:转换为浮点
str:转换为字符串
list:转换为列表
tuple:转换为元组
set:转换为集合
dict:转换为字典
  • 示例
# 转换为整数
# a = int(3.14)
# 参数1:需要转换的数据
# base:数据的进制类型,默认为十进制
# a = int('123', base=8)
# a = int('abc', base=16)

# 浮点
# a = float(250)

# 字符串
# a = str(123)

# 列表
# a = list('hello')
# a = list((1, 2, 3))
# a = list({1, 2, 3})
# 可以转换不会报错,但是只保留了键
# a = list({'name': 'ergou', 'age': 18})

# 元组
# a = tuple([1, 2, 3])

# 集合
# a = set([1, 2, 3])

# 字典
lt = [('name', 'dahua'), ('age', 18)]
a = dict(lt)
print(a, type(a))

类型相关操作

  • 字符串
s1 = 'hello'
s2 = 'world'
# 可以使用'+'将字符串拼接在一起
s3 = s1 + s2
print(s3)

# '*'可以重复前面的字符串若干次
s4 = 'abc' * 3
print(s4)

# len函数统计字符串长度
print(len(s1))

s = 'abcdefg'
# 从开头进行提取,下标从0开始
print(s[0])
# 从末尾进行提取,下标从-1开始
print(s[-1])

# 切片
# 格式:s[开始:结束:步进]
print(s[1:3])
# 当一边的边界省略,则提取到改侧的边缘
print(s[1:])
print(s[:4])
print(s[1:-2])
print(s[:-3])
print(s[-3:])

# 指定步进值,默认为1
print(s[::2])
# 逆序提取
print(s[::-1])

# 格式化
# %s:字符串
# %d:整型
# %f:浮点
# %c:字符(一个字符)
name = '二狗'
like = '大花'
age = 18
print('俺叫%s,暗恋%s,她今年%d岁' % (name, like, age))

# python中特有的解决方案
print('俺叫{},暗恋{},她今年{}岁'.format(name, like, age))
print('俺叫{2},暗恋{1},她今年{0}岁'.format(name, like, age))
print('俺叫{l},暗恋{n},她今年{a}岁'.format(n=name, l=like, a=age))
  • 列表
lt = [1, 2, 3, 4, 5]

print(lt[0])
print(lt[-1])
print(lt[1:3])
print(len(lt))

# 修改元素
lt[0] = 100

# 追加元素,将传递的元素作为一个整体(一个元素)追加到列表尾部
lt.append(200)
# lt.append([300, 400])
# 将可迭代对象的元素展开添加到列表中
lt.extend([300, 400])

# 插入元素,在指定位置插入元素
lt.insert(2, 250)
lt.insert(4, 250)

# 删除元素
# 根据索引号删除
del lt[0]
# 根据值进行删除,只会删除第一个
lt.remove(250)
# 返回并删除:返回并删除指定下标的元素,默认是最后一个
ele = lt.pop(2)
# print(ele)
# print(lt)

lt = [1, 2, 3, 4, 5, 3]
# 查询元组在列表中的索引号
# 找到就会返回其索引号,即第一个出现的位置
# 若不在列表中则会报错
print(lt.index(3))
# 统计元素在列表中出现的次数
print(lt.count(3))

# 逆序
lt.reverse()

# 排序
# reverse=True表示降序排序
lt.sort(reverse=True)
print(lt)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值