python Day7

  • 基础数据类型的补充

    • str的数据类型补充
      • capitalize函数将首字母大写,其余变小写

        s1="taibei"
        print(s1.capitalize())
        ###结果TaiBei
      • swapcaseh函数将大小写反转

        s1="taibei"
        print(s1.swapcaseh())
        ###结果TAIBEI
      • title函数是每个单词的首字母大写

        s1="zhu xia yu "
        print(s1.title())
        ###结果Zhu Xia Yu
      • center函数是将字符串居中

        s1="zhuxiayu"
        print(s1.center(20,"*"))
        ###结果******zhuxiayu******
      • find 函数是通过元素找索引,找到第一个就返回,找不到返回-1

        s1="Dsfs"
        print(s1.find("s"))
        print(s1.find("o"))
        ###结果1
        ##-1
      • index函数是通过元素找索引,找到第一个就返回,找不到就报错

        s1="Dsfs"
        print(s1.index("s"))
        print(s1.index("o"))
    • tuple的数据类型补充
      • 元组中如果只有一个元素,并且没有都好,那么它不是元组,它与该元素的数据类型一致

        s=(1,)
        print(s,type(s))
        ###结果(1,) <class 'tuple'>
      • count函数是统计元组的个数

        tu=(1,2,4,3,4,44,2)
        print(tu.count(2))
        ###结果 2
    • list的数据类型补充
      • sort排序,默认从小到大

        list=[1,12,4,5,5]
        list.sort()#默认从小到大的排序
        print(list)
        list.sort(reverse=True)#默认从大到小的排序
        ###[1, 4, 5, 5, 12]
      • 循环一个列表的时候,最好不要改变列表的大小,这样会影响你最终的结果

    • dict的数据类型补充
      • 可以通过update的形式增加键值队伍(这部分经常考)

        dict={"name":"zhuxiayu","age":12}
        dict.update(hobby="basketball")
        print(dict)
        ###{'name': 'zhuxiayu', 'age': 12, 'hobby': 'basketball'}
        dict={"name":"zhuxiayu","age":12}
        dict.update([("a",1),("zhuxiayu","dsfsfs")])
        print(dict)
        ###{'name': 'zhuxiayu', 'age': 12, 'a': 1, 'zhuxiayu': 'dsfsfs'}
        dict={"name":"zhuxiayu","age":12}
        dict1={"name":"sunchnagay","hobby":"basteketball"}
        dict.update(dict1)
        print(dict1)
        ####{'name': 'sunchnagay', 'hobby': 'basteketball'}
      • fromkeys函数中字典的键是一个可迭代对象

        dict=dict.fromkeys("zhuxiayu",1000)
        print(dict)
        ###{'z': 1000, 'h': 1000, 'u': 1000, 'x': 1000, 'i': 1000, 'a': 1000, 'y': 1000}
        • 坑:在迭代中共用一个列表

          dict=dict.fromkeys([1,2,3], [])
          dict[1].append(666)
          print(dict)
          ###{1: [666], 2: [666], 3: [666]}
      • 循环一个字典时,如果改变这个字典的大小,就会报错。

        #删除字典里面带k的值
        dict={"k1":"太白","k2":"dsfs","k3":"barkky","age":18}
        li=[]
        for key in dict.keys():
        if "k"in key:
        li.append(key)
        for i in li:
        dict.pop(i)
        print(dict)
        ###{'age': 18}
    • 所有的数据都可以转化为bool值
    • 按照存储空间对数据类型的划分
      • 数字
      • 字符串
      • 集合:无序:即无序索引相关信息
      • 元组:有序,需要索引相关信息,不可变
      • 列表:有序,需要索引相关信息,可变,需要处理数据的增删改
      • 字典:有序,需要存key与value映射关系信息,可变,需要处理数据的增删
  • 编码的进阶

    • 数据在列表中全部是以Unicode编码的,但是当你的数据用于网络传输或者存储到硬盘中,必须以非Unicode编码(utf-8,gbk等等)

      • bytes是一个数据类型

        eg:"今晚吃鸡",内部编码形式是:Unicode,表现形式:“今晚吃鸡“

        ​ 转化为bytes类型,内部编码形式是非Unicode,表现形式:"今晚吃鸡"

        msg="我哎中国"
        msg1=msg.encode("utf-8")
        print(msg1)
        msg=msg1.decode("utf-8")
        print(msg)
        ###结果b'\xe6\x88\x91\xe5\x93\x8e\xe4\xb8\xad\xe5\x9b\xbd'
        ###我哎中国
      • 从uft-8转化为gbk

        msg=b'\xe6\x88\x91\xe5\x93\x8e\xe4\xb8\xad\xe5\x9b\xbd'
        msg1=msg.decode("utf-8")
        msg1=msg1.encode("gbk")
        print(msg1)
        ###b'\xce\xd2\xb0\xa5\xd6\xd0\xb9\xfa'
      • 在内存中所有的数据必须是unicode编码存在,出去bytes

      • str与bytes的区别为前者为文字文本,后者为字节文本

  • 作业

    • 看代码写结果

      v1=[1,2,3,4,5,6,7,8,9]
      v2={}
      for item in v1:
      if item<6:
      continue
      if "k1" in v2:
      v2["k1"].append(item)
      else:
      v2["k1"]=[item]
      print(v2)
      ####结果{'k1': [6, 7, 8, 9]}
      import copy
      v1=[1,2,3,4,5]
      v2=copy.copy(v1)
      v3=copy.deepcopy(v1)
      print(v1 is v2)
      print(v2 is v3)
      ###False False
      ###解释是无论深copy还是浅copy这个壳的地址都是不一样的
      import copy
      v1=[1,2,3,4,5]
      v2=copy.copy(v1)
      v3=copy.deepcopy(v1)
      print(v1[0] is v2[0])
      print(v2[0] is v3[0])
      ###True True
      ###无论是深copy还是浅copy,外壳的地址都是一样的,里的内容如果是不可变数据类型其公用的是一个地址。里面的内容是可变数据类型,则深拷贝就要重新开辟地址。

python基础 Day7的更多相关文章

  1. Python基础Day7

    七步记忆法: ① 预习(30min) ② 听课 (重点) ③ 课间练习 ④ 下午或者晚上练习(大量练习.重复练习)⑤ 晚上睡觉前的回忆 ⑥ 第二天早晨回顾 ⑦ 每周总结,自己默写方法 一.enumer ...

  2. Day7 - Python基础7 面向对象编程进阶

    Python之路,Day7 - 面向对象编程进阶   本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个 ...

  3. Python自动化 【第七篇】:Python基础-面向对象高级语法、异常处理、Scoket开发基础

    本节内容: 1.     面向对象高级语法部分 1.1   静态方法.类方法.属性方法 1.2   类的特殊方法 1.3   反射 2.     异常处理 3.     Socket开发基础 1.   ...

  4. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  5. Python基础7 面向对象编程进阶

    本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...

  6. Python基础 小白[7天]入门笔记

    笔记来源 Day-1 基础知识(注释.输入.输出.循环.数据类型.随机数) #-*- codeing = utf-8 -*- #@Time : 2020/7/11 11:38 #@Author : H ...

  7. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  8. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  9. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

随机推荐

  1. Usvn迁移

    近期由于公司需要整理所有的服务器资源进行统一管理,因此需要迁移原usvn到新环境,但是在网上查找有关usvn的迁移信息没有结果,故整理自己的通过测试的迁移方案共享给大家 迁移列表 原服务器 软件 目标 ...

  2. C语言中的 “>>”与“<<”

    1. ">>" int x = 16; printf("%d\n", x >> 1); 先将x转成二进制 10000, 不读最后一位, ...

  3. python map() filter() reduce()函数的用法以及实例

    map() 看一下我的终端咋说: map()的函数用法: map(function, iterable, ...) 看一下具体例子: 注意的是一定要强制转化一下才能输出 也可以写匿名函数: (mark ...

  4. 微服务迁移记(五):WEB层搭建(1)

    WEB层是最终表现层,注册至注册中心,引用接口层(不需要引用实现层).公共服务层.用户登录使用SpringSecurity,Session保存在redis中,权限管理没有用SpringSecurity ...

  5. Oracle 忘记密码 如何修改

    原文链接:https://jingyan.baidu.com/article/358570f6aaa1efce4724fcdf.html ️打开运行窗口 ️输入sqlplus "/ as s ...

  6. luogu P4525 自适应辛普森法1

    LINK:自适应辛普森法1 观察题目 这个东西 凭借我们的数学知识应该是化简不了的. 可以直接认为是一个函数 求定积分直接使用辛普森就行辣. 一种写法: double a,b,c,d; double ...

  7. CF582D Number of Binominal Coefficients 库默尔定理 数位dp

    LINK:Number of Binominal Coefficients 原来难题都长这样.. 水平有限只能推到一半. 设\(f(x)\)表示x中所含p的最大次数.即x质因数分解之后 p的指标. 容 ...

  8. Spring学习总结(6)-@Component和@ComponentScan注解

    参考文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/core.html#beans-ste ...

  9. Spring Boot 自定义数据源 DruidDataSource

    https://blog.csdn.net/wangmx1993328/article/details/81865153 springboot 使用DruidDataSource 数据源   一.添加 ...

  10. IDEA-Translation最优秀的翻译插件

    IDEA最优秀的翻译插件 效果 特性 多翻译引擎 Google翻译 有道翻译 百度翻译 多语言互译 文档翻译 语音朗读 自动选词 自动单词拆分 单词本 使用 申请有道智云翻译服务(可选): 注册有道智 ...