2. 数据类型

数字类型

 """
 数字 : Python3 支持 int、float、bool
    1.1 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点
    1.2 浮点型(float) - 浮点型由整数部分与小数部分组成
    1.3 布尔型(bool) - True False
 """
 a = -100
 b = 99.99
 print(a+b)
 
 bbb = True  # 真
 ccc = False # 假
 
 from decimal import *
 fff = Decimal("-100")+Decimal("99.99")
 print(fff)

运算符

 """
 数值运算示例 :
 + 两个数相加,或是字符串连接
 - 两个数相减
 * 两个数相乘,或是返回一个重复若干次的字符串
 / 两个数相除,结果为浮点数(小数)
 // 两个数相除,结果为向下取整的整数
 % 取模,返回两个数相除的余数
 ** 幂运算,返回乘方结果
 """
 # print("-----加法运算-----", 4+5) # shift +
 # print("-----减法运算-----", 6-3) # shift -
 # print("-----乘法运算-----", 3*5) # shift + 数字8
 # print("-----除法运算-----", 2/4) # 右手 shift 旁边 /
 # print("-----除法运算,向下取余-----", 2//4) # 0 向下取整
 # print("-----取模,返回两个数相除的余数-----", 7 % 3) # 得到1 shift+数字5
 # print("-----幂运算,返回乘方结果-----", 2**2) # 2

比较符

 """
 Python支持常见的比较运算符:
    >   大于
    >=   大于等于
    <   小于
    <=   小于等于
    !=   不等于
    ==     等于
 """
 a = 1
 # print(6>3)
 # print(4>=4)
 # print(3<1)
 # print(3<=2)
 # print(4!=4)
 # print(4==4)
 
 # bool True = 1 False = 0
 print(1+True)
 print(1+False)


 

字符类型

 """
 字符串的拼接  
 1、+
 2、join
 """
 
 a = '100'+"50"
 print(a)
 
 b = "我的名字叫做慕洲老师"
 c = "我的工作是python技术教学"
 d = "我很高兴来到这里给你们讲课"
 
 f = ','.join((b,c,d))
 print(f)
 
 """
  运算结果:
    10050
  我的名字叫做慕洲老师,我的工作是python技术教学,我很高兴来到这里给你们讲课
 """

字符切片

 s = '习学Python'  # 英文状态下标点符号
 
 # 字符串索引 下标 ->> 由0开始 负数
 print(s[0])
 
 """
 运算结果:
 
 """
 """
 字符串的切片:
 定义:切片操作可以从一个字符串中获取子字符串(字符串的一部分),使用起始偏移量tart、终止偏移量end、可选步长step定义一个分片
 格式:[start:end:step]
 特点:取头不取尾
 
 使用方法:
  [:]提取开头到结尾
  [start:]从start提取到结尾
  [:end]从开头提取到end-1
  [start:end]从start提取到end-1
 
 切片:是获取字符串的多个元素
 如何表示:name[切的起始点 : 切的终点]
 切片: 顾头不顾腚, 取左不取右, 右边的要 + 1
 """
 
 name = "小仙女长相甜美并且温柔"
 # 切片 [开始:结尾:步长] 取左不取右
 
 print(name[2:5])
 """
    运算结果:
    女长相
 """
 name = "小仙女长相甜美并且温柔"
 # 切片 [开始:结尾:步长] 取左不取右
 print(name[0:6:2])
 
 """
    甜美并且温
 
    小仙女长相甜 0 1 2 3 4 5
     
    运算结果:
    小女相
 """

常用方法

find:查找元素位置

 """
 find:查找元素位置
 查找字符串片段在字符串中的下标位置,从前往后找,返回的是第一个被找到字符串片段起始位置
 第一个参数:要查找的字符串片段
 第二个参数:要查找的起始点
 第三个参数:要找到终止位置-1
 如果查找的字符串存在多个,查找结果是第一个出现的字符串下标
 找不到就返回-1
 
 count:统计字符串片段,在字符串中出现的次数
 找不到返回 0
 
 """
 s1 = "pythonMuozhou"
 print(s1.find("a",6,11))
 #查找下标6到下标11中字符'a'的出现的位置
 
 print(s1.count("o",6,12))
 #查找下标6到下标12中字符'o'的数量
 """
 运算结果:
 -1
 2
 """

replace:替换指定的字符串片段

 """
    replace:替换指定的字符串片段
    参数1:要替换的字符串片段
    参数2:替换之后的字符串片段
    参数3:替换的次数,从前往后替换(默认替换所有的)
    replace(参数1,参数2,参数3)
 
    upper:将小写字母转为大写
    lower:将大写字母转成小写
 """
 s1 = "PYthon To muzhou"
 res = s1.replace('o', 'TT',2)
 #将字符串的前两个'o'替换成'TT'
 print(res)
 
 res2 = s1.upper()
 #s1字符串的字母转为大写
 print(res2)
 
 res3 = s1.lower()
 #s1字符串的字母转为小写
 print(res3)
 
 """
 运算结果:
 PYthTTn TTT muzhou
 PYTHON TO MUZHOU
 python to muzhou
 """

split:指定分割点对字符串进行分割

 """
    split:指定分割点对字符串进行分割
    参数1:分割点
    参数2:分割的次数(默认找到所有的分割点进行分割)
 
    strip:去除字符串首尾的空格
    s2 = '     python:666     '
 """
 s1 = "111ab222ab333ab444"
 #将字符串,用规定的字符“a”进行分割,得到一个列表
 print(s1.split('a',2))
 
 s2 = '     python:666     '
 print(s2.strip())
 # 去除字符串的首尾空格
 
 s3 = '6666python:6666'
 print(s3.strip('6'))
 
 s4 = '       python:6666   muzhou:777777'
 print(s4.replace(' ',''))
 
 """
 运算结果:
 ['111', 'b222', 'b333ab444']
 python:666
 python:
 python:6666muzhou:777777
 """


 

列表类型

 """
 列表:
    1. 定义列表
    2. 列表的下标 从0开始 0123....
    3. 列表取值
 """
 list1 = [1,2,3,4,"我爱你",[10,20,30]]
 
 print(list1)
 #输出列表list1
 
 print(list1[5])
 #取第五个下标的数据
 
 print(list1[5][1])
 #在第五个下标的数据里取一个字符
 
 """
 运算结果:
 [1, 2, 3, 4, '我爱你', [10, 20, 30]]
 20
 """
 """
    1.列表的长度 len()
    2.更新列表中的值
 
 """
 
 list_1 = [20, 30, 40, 50, 60, 70]
 
 print(len(list_1))
 #输出列表的长度
 
 list_1[2] = 99
 #将列表第二个下标的数据改为'99'
 
 print(list_1)
 
 """
 运算结果:
 6
 [20, 30, 99, 50, 60, 70]
 """

列表操作方法

添加数据

 """
  append()
  append(参数)将元素添加到列表后
  参数:要添加的元素
 
  extend()
  extend(参数)将两个列表进行拼接(与append的区别是,他可以添加多个元素)
  参数:要拼接的列表
 
  insert()
  insert(参数1,参数2)将元素添加到指定的位置
  参数1:要添加的位置
  参数2:要添加的元素
 """
 
 li_one=[1,2,3,4]
 li_two=[6,7]
     
 li_one.append(5)
 #将元素'5'添加到li_one列表后
 print(li_one)
     
 li_one.extend(li_two)
 #将li_two拼接到li_one
 print(li_one)
 
 li_one.insert(5,'墨隐')
 print(li_one)
 
 """
 运算结果:
 [1,2,3,4,5]
 [1,2,3,4,5,6,7]
 [1,2,3,4,5,'墨隐',6,7]
 """

删除数据

 """
  del关键字
  del 参数1 [参数2]删除指定下标的元素
  参数1:要删除元素的列表
  参数2:要删除元素的下标
 
  remove()
  remove(参数)删除与指定参数相同的元素(若有多个,只删除第一个)
  参数:要删除的元素
 
  pop()
  pop(参数)移除指定下标的元素
  参数:指定元素的下标
 """
 li_one=[1,2,3,4,5,'墨隐',6,7]
 del li_one[5]
 print(li_one)
 
 li_one.remove(7)
 print(li_one)
 
 li_one.pop(2)
 print(li_one)
 
 """
 运算结果:
 [1,2,3,4,5,6,7]
 [1,2,3,4,5,6]
 [1,2,4,5,6]
 """

删除重复值

 """
 set()
 set(参数):删除列表中的重复值
 """
 li1=[1,2,3,5,4,3,2,5,2]
 li2=set(li1)
 print(li2)
 
 """
 运算结果:
 {1, 2, 3, 4, 5}
 """

数据排序

 """
 sort()
 sort(参数1/参数2)按两种方法对元素进行排序
 参数1:支持函数
 参数2:reverse=False(升序,默认)/True(降序)
 
 sorted()
 sorted(参数)按升序排序列表
 参数:列表名
 
 reverse()
 reverse(参数)将列表的内容颠倒并输出
 参数:列表名
 """
 li_one=[1,2,6,7,5,3,4]
 li_two=['tw','awef','serga','arf']
 li_three=[1,2,6,7,5,3,4]
 li_four=[1,2,6,7,5,3,4]
 
 li_one.sort(reverse=True)
 print(li_one)
 
 li_two.sort(key=len)
 print(li_two)
 
 abc=sorted(li_three)
 print(li_three)
 
 li_four.reverse()
 print(li_four)
 
 """
 运算结果:
 [7,6,5,4,3,2,1]
 ['tw','arf','awef','serga']
 [1,2,3,4,5,6,7]
 [4,3,5,7,6,2,1]
 """

列表练习

 """
 输入5个字符串并以列表形式输出
 """
 
 nameli=[]
 for i in range(5):
     name=input("请输入:")
     nameli.append(name)
 print(nameli)
 """
 将字符串中的每个字符按列表形式输出
 """
 
 str='afawurbaiweunae'
 list=[]
 for i in str:
     list.append(i)
 print(list)
 print(type(list))
 """
 编写一个能查找列表元素的程序
 """
 nameli=['a1','a2','a3','a4','a5','a6']
 name=input("请输入要查找的ID:")
 if name in nameli:
     print("找到了")
 else:
     print("没有")


元祖类型

 """
  元组也是一种数据容器,使用小括号" ( ) "表示,其使用场景与列表相似,这意味着能使用列表的地方,基本上都能使用元组,包括列表推导式、切片等操作。元组与列表的唯一区别是元组不可变的。
  元组的元素类型可以不统一
 """
 
 t = ("hello",66,-20,3.66,[10,20,30])
 print(t)
 """
 运算结果:
 ('hello', 66, -20, 3.66, [10, 20, 30])
 """
 
 #元组的拼接
 t1 = ("hello","world","python")
 t2 = ([1,2],[3,4],[5,6,7,8])
 t3 = t1+t2
 t3[3][0] = "墨隐老师666"
 print(t3)
 """
 运算结果:
 ('hello', 'world', 'python', ['墨隐老师666', 2], [3, 4], [5, 6, 7, 8])
 """
 
 """
    关于元祖/列表/字符串的一些共同操作
    len() max() min()
 """
 a = (1,2,3,4)
 print(len(a))
 print(max(a))
 print(min(a))
 """
 运算结果:
 4
 4
 1
 """


集合类型

 """
    集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重,集合中默认去重。
    创建集合
        1、变量名=set(元素) 字符串/列表/元祖/字典
        2、变量名={元素,元素,,,}   元祖/字符串/数字
        3、元素是唯一的,用于列表的去重
 """
 # 字符串
 a = set("1234") # {'1', '2', '4', '3'}
 
 # 列表
 b = set([10,20,30])  # {10, 20, 30}
 
 # 元祖
 c = set((1,2,3,4)) # {1, 2, 3, 4}
 
 # 字典
 d = {
     "年龄":18,
     "名字":"慕洲"
 }
 f = set(d) # {'名字', '年龄'}
 
 # 用大括号创建集合
 aa = {1,2,3,(1,2,3),"123"}
 #bb = {d} # 字典/列表 用大括号的时候是不可行的
 
 #列表的去重
 a = set([1,2,1,1,1,1,1])
 #元祖去重
 bb = set((1,1,1,1))
 # 字典去重 ?
 cc = {
     "名字":"慕洲",
     "名字":"小明"
 }
 ff = set(cc)
 # 字符串去重
 zz = set("1211111")
 #print(zz)
 
 abc = {1,2,1,1,(1,1,111)}
 print(abc)

添加元素

 """
    add()
    add(参数)往集合中添加元素 数字/字符串/元祖
    参数:添加的元素
 
    update
    update(参数)可以将集合合并,随机排列
    参数:要合并的集合
 """
 
 a = {1, 2, 3}
 a.add(6)
 print (a)
 
 a.add("慕洲老师")
 a.add((1, 2, 3))
 print (a)
 
 b = {"w", "b", "a"}
 a.update(b)
 b.update(a)
 print(b)
 
 """
 运算结果:
 {1, 2, 3, 6}
 {1, 2, 3, 6, (1, 2, 3), '慕洲老师'}
 {1, 2, 'b', 3, 6, 'a', (1, 2, 3), 'w', '慕洲老师'}
 """

删除元素

 """
  remove
  remove(参数) 如果集合中有改元素则直接删除,如果没有,程序报错
  参数:要删除的元素
 
  pop
  pop(参数) 随机删除集合中的元素 如果集合没有元素,程序报错
  参数:要随机删除的集合
 
  discard
  discard(参数) 如果元素存在直接删除 如果元素不存在不不会报错
  参数:要删除的元素
 """
 
 a = {"python", "学", "慕洲"}
 a.remove("python")
 print(a)
 
 a.pop()
 print(a)
 
 a.discard("123")
 print(a)
 
 """
 运算结果:
 {'学', '慕洲'}
 {'慕洲'} #这一项随机
 {'慕洲'}
 """

集合的交集和并集

 """
  交集
        使用 "&" 符号连接多个集合,得到相同的元素
  并集
        使用"|"符合连接多个集合,得到集合中的全部数据
 """
 s1 = {1,2,3,5}
 s2 = {1,2,6,7}
 
 s3 = s1 & s2
 print(s3)
 s4 = s1 | s2
 print(s4)
 
 """
 运算结果:
 {1, 2}
 {1, 2, 3, 5, 6, 7}
 """


字典类型

 """
 字典:
    字典是一种映射类型,它的元素是键值对,字典的键必须为不可变类型,且不能重复
    键可以是任意不可变类型(元祖/字符串/数字)
    1 字典的创建方式
        1.1 直接使用 "{}"
        1.2 使用dict()
    2 空字典
 """
 a = {
     "姓名": "墨隐",
     1: 18,
    (1,2,3):"123"
 }
 b = dict((["年龄","18"],["名字","墨隐"]))
 
 c = {} # 直接写大括号 表达的是字典
 
 # 集合
 d = set() # 表达空集合 用 set()
 print(d)
 
 print(a["姓名"])
 print(b)
 print(c)
 print(d)
 """
 运算结果:
 墨隐
 {'年龄': '18', '名字': '墨隐'}
 {}
 set()
 """

字典操作

 """
 字典的 增删改查的操作
    增加
    删除
    修改
    查找(获取)
 """
 
 d = {"名字":"慕洲","年龄":18}
 
 d["技能"] = "python技能"  
 # 字典 增加操作
 print(d)
 
 del d["技能"]
 # 字典的删除操作 del关键字
 print(d)
 
 d["名字"] = '小明'
 # 字典修改操作
 print(d)
 
 print(d["年龄"])
 # 获取到 对应值
 print(d)
 
 """
 运算结果:
 {'名字': '慕洲', '年龄': 18, '技能': 'python技能'}
 {'名字': '慕洲', '年龄': 18}
 {'名字': '小明', '年龄': 18}
 18
 {'名字': '小明', '年龄': 18}
 """

字典操作方法

get 从字典获取指定键的值

 """
  get函数
  get(参数)用于从字典获取指定键的值
  在get函数中可以设置默认值,当get函数没有获取到对应键时,get函数会将默认值返回
  参数:需要数据对应的键值
 """
 
 d = {
     "名字":"墨隐",
     "年龄":18
 }
 r = d.get("名字")
 r1 = d.get("技能")
 r2 = d.get("技能","python技能")
 print(r)
 print(r1)
 print(r2)
 print(d)
 
 """
 运算结果:
 
 """

将字典以列表的形式显示

 """
  keys函数
  keys(参数)将以列表的形式返回字典中的 所有键
  参数:
 
  items函数
    items(参数)将以列表的形式返回字典中的所有键 值对
    参数:
     
  values函数
  values(参数)将以列表的形式返回字典中的所有 值
  参数:
 """
 
 f = {
     "名字":"墨隐",
     "年龄":18,
     "技能":{
         "技能1":"python",
         "技能2":"java"
    }
 }
 print(f.keys())
 
 d = {
     "名字":"墨隐",
     "年龄":18
 }
 
 r = d.items()
 r1 = d.values()
 print(r)
 print(r1)
 
 """
 运算结果:
 dict_keys(['名字', '年龄', '技能'])
 dict_items([('名字', '慕洲'), ('年龄', 18)])
 dict_values(['慕洲', 18])
 """

clear 将字典清空

 """
  clear函数
  clear(参数)用于将字典清空
  参数:字典名
 """
 d = {
     "名字":"墨隐",
     "年龄":18
 }
 d.clear()
 print(d)
 print(len(d))
 
 """
 运算结果:
 {}
 0
 """

copy 创建字典的副本

 """
  copy函数
  copy(参数)用于创建字典的副本,修改原字典对象,不会影响其副本。
  参数:要复制的字典名
 """
 d2 = {
     "名字":"墨隐",
     "年龄":18
 }
 d3 = d2.copy()
 
 del d2["名字"]
 
 print(d2)
 print(d3)
 
 """
 运算结果:
 {'年龄': 18}
 {'名字': '墨隐', '年龄': 18}
 """

fromkeys 创建一个新的字典

 """
  fromkeys函数
  fromkeys(参数1,参数2)用于创建一个新的字典,
  参数1:是一个序列(列表/元祖/集合),用于作为字典的键。:
  参数2:可以是任何数据类型,作为每个键的值。
 """
 
 d = {}
 d1 = d.fromkeys(("名字","年龄"),(1,2))
 print(d1)
 
 """
 运算结果:
 {'名字': (1, 2), '年龄': (1, 2)}
 """

pop 字典中移除指定键

 """
  pop函数
    pop(参数)用于从字典中移除指定键,并返回该键所对应的值
  参数:要移除的键
 """
 d = {
     "名字":"墨隐",
     "年龄":18
 }
 r = d.pop('名字')
 print(r)
 print(d)
 
 """
 运算结果:
 墨隐
 {'年龄': 18}
 """

popitem 从字典中删除最后一项

 """
  popitem函数
  popitem(参数)用于从字典中删除最后一项,并以元组形式返回该项所对应的键和值
  参数:要移除的键的字典名
 """
 
 d = {
      "名字":"墨隐",
      "年龄":18
  }
 r= d.popitem()
 print(r)
 print(d)
 
 """
 运算结果:
 ('年龄', 18)
 {'名字': '墨隐'}
 """

 

 """
  setdefault函数
  setdefault(参数1,参数2)用于设置键的默认值,
  参数1:键
  参数2:值
  若在字典中该键已经存在,则忽略设置;若不存在,则添加该键和值
 """
 
 d2 = {
     "名字":"墨隐",
     "年龄":18
  }
 
 d2.setdefault("名字","小明")
 print(d2)
 #若在字典中该键已经存在,则忽略设置;若不存在,则添加该键和值
 
 d3 = {
     "名字":"慕洲",
     "名字":"小明"
 }
 #当有两个值的键相同时,只会显示最后一个
 print(d3)
 
 """
 运算结果:
 {'名字': '小明'}
 """

update 将字典2的值更新到字典1

 """
 字典的操作方法:
  update函数
  update(参数)用于将字典2的值更新到字典1
  参数:字典2
  若字典2的键在字典1已经存在,则对字典1进行修改;
  若不存在,则对字典1进行添加
 """
 
 d1 = {
  "名字": "慕洲"
 }
 d2 = {
  "名字": "墨隐"
 }
 
 d1.update(d2)
 print(d1)
 
 d3 = {
     "年龄": 18
 }
 
 d1.update(d3)
 print(d1)
 
 """
 运算结果:
 {'名字': '墨隐'}
 {'名字': '墨隐', '年龄': 18}
 """
 
posted @ 2022-10-05 17:15  始墨......至隐  阅读(210)  评论(0)    收藏  举报