Python全栈day 04

一、解释器/编译器

  • 补充:编译型语言和解释型语言?

    # 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行。
    c c++,c# ,java
    # 解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行。 【实时翻译】python,php,ruby

二、字符型数据str的变换

  1. 字符串的方法

    str.upper()  # 对str中的字符转为大写,得到str数据。
    str.lower() # 对str中的字符转为大写,得到str数据。
    str.strip() # 对str中的字符串首尾去除空格,类似的lstrip和 rstrip,分别是字符串左边和右边去除空格,得到str数 据。 str.replace(("被替换的字符/子序列","要替换为的内容",数字)
    # 对str字符串中的前多少个子序列进行替换。得到str数据。 str.split("根据什么东西进行切割",对前多少个东西进行切割)
    #得到列表数据。从左到右。str.rsplit则是从右到左切割。
    • 方法补充

      • startswith 和 endswith
      name = 'alex'
      flag = name.startswith('al')
      print(flag) # 判断name是否以al开头,输出数据为bool值(True/False)
      name = 'alex'
      flag2 = name.endswith('ex')
      print(flag1) # 判断name是否以ex开头,输出数据为bool值(True/False)
      • format(字符串的格式化) <-----> 和%s / %d/ %%区分开来
      name = "我叫{0},年龄:{1}".format('老男孩',73)    #  对应的是索引位置
      print(name)
      • encode(以指定的编码格式编码字符串)

        name = '王飞'           # 解释器读取到内存后,按照unicode编码存储:8个字节,4字节表示一中文字符
        v1 = name.encode('utf-8')
        print(v1) #输出name代指的字符串以utf- 8编码,
        v2 = name.encode('gbk')
        print(v2)
      • join

        name = 'alex'
        result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符,得到的是字符串数据
        print(result) # a_l_e_x
  2. 公共功能

    • len('这个世界') = 4   #输出长度,输出类型为数字
      
      #索引
      name = '这个世界'
      print(name[0]) # '这' , 从做到右,以位置0其起始
      #切片
      name = '这个世界'
      print(name[0:3]) # '这个世' 从做到右,以位置0其起始,取前不取后。
    • 补充

      1. 步长longth

        count = '123456789'
        
        val = count[0:-1:2]     # 由1-8,每隔一个字符选中一个,'1357'
        val = count[1:-1:2] # 由2-8,每隔一个字符选中一个,'246'
        val = count[1::2] # 由2-9,每隔一个字符选中一个,'2468'
        val = count[::2] # 由1-9(包含9),每隔一个字符选中一个,'13579'
        val = count[-1:0:-2] # 由9-1(包含9,不包含1),每隔一个字符选中一个,从右向左选择,'9753'
        print(val)
        val = count[::-1] # 由1-9,反向输出字符串,'987654321'
        print(val)
      2. for循环

        name = 'dengxin'
        for item in name:
        print(item) # 竖向打印d e n g x i n name = 'dengxin'
        for item in name:
        print(item)
        break # for循环的break语句
        print('123') name = 'dengxin'
        for item in name:
        print(item)
        continue # for循环的continue语句
        print('123')

        注意:for和while的应用场景:有穷尽优先使用for,无穷尽用while。

三、列表list

users = ["代永进","李林元","邓益新",99,22,88]   #表示多个事物,用列表
  • 公共功能

    • len

      users = ["代永进","李林元","邓益新",99,22,88]
      val = len(users)
      print(val) # 5
    • 索引

      users = ["代永进","李林元","邓益新",99,22,88]
      val = users[0]
      print(val) # "代永进"
    • 切片

      users = ["代永进","李林元","邓益新",99,22,88]
      val = users[0:2]
      print(val) # ["代永进","李林元"] 也是取前不取后
    • 删除(数字/布尔/字符串除外)

      users = ["代永进","李林元","邓益新",99,22,88]
      # 方式一, .pop()括号内索引位置,以0起始
      users.pop(1)
      print(users) # ['代永进', '邓益新', 99, 22, 88] # 方式二:
      del users[1]
      print(users)

      注意:

      • 字符串本身不能修改或删除【不可变类型】
      • 列表是可变类型。
    • 修改(字符串/数字/布尔除外)

      users = ["代永进","李林元","邓益新",99,22,88]
      users[2] = 66
      print(users) # ,'邓益新'修改为66, ['代永进', '李林元', 66, 99, 22, 88] users[0] = '代永进'
      print(users[0][1]) # 输出"永"
    • 步长

      users = ["代永进","李林元","邓益新",99,22,88]
      val = users[0:4:2] # ["代永进","邓益新"]
    • for循环

      users = ["代永进","李林元","邓益新",99,22,88]
      for i in users:
      print(i) # 循环打印users列表的元素,for循环可嵌套
  • 列表方法

    • append,在列表的最后追加一个元素

      users = []
      users.append('alex')
      print(users)
      users = []
      while True:
      name = input('请输入姓名:') # 利用无限循环添加用户名到列表users
      users.append(name)
      print(users)
    • insert

      users = ["代永进","李林元","邓益新",99,22,88]
      users.insert(2,'大笨蛋') # 在列表索引2位置添加'大笨蛋'
    • remove

      users = ["代永进","李林元","邓益新",99,22,88]
      users.remove("邓益新") # 从列表中从左到右删除第一个"邓益新"
    • pop

      users = ["代永进","李林元","邓益新",99,22,88]
      users.pop(2) # 从列表中删除对应索引位置
    • clear

      users = ["代永进","李林元","邓益新",99,22,88]
      users.clear() # 从列表清除所有元素
  • 总结:

    • 增:

      • append / insert
    • 删:

      • .remove() / .pop() / .clear() / del users[2]
    • 改:

      • users[3] = "新值" ,列表可变,可以被修改。
    • 查:

      • 索引/切片
    • 列表嵌套

      列表可以嵌套多层,int、str、bool、list都可以有

四、 元组tuple

  1. 元组

    users = ["代永进","李林元","邓益新",99,22,88] # 列表可变[]
    users = ("代永进","李林元","邓益新",99,22,88) # 元组不可变()
  2. 公共功能

    1. 索引[]

    2. 切片[:]

    3. 步长[::1]

    4. 删除(排除:tuple/str/int/bool),tuple不能变,不能删除。

    5. 修改(排除:tuple/str/int/bool)

    6. for循环(排除:int/bool)

      users = ("代永进","李林元","邓益新",99,22,88)
      for item in users:
      print(item) # 循环打印出users的元素
    7. len(排除:int/bool)

      users = ("代永进","李林元","邓益新",99,22,88)
      print(len(users)) # 6
  3. 方法(tuple没有独有的方法)

  4. 特殊:元组中的元素(儿子)不可被修改/删除。

    # 元组可以嵌套,可以有list数据,多重嵌套
    v1 = (11,22,33,(44,55,66),(11,2,(99,88,),[666,999,888],["代永进","李林元","邓益新"]))
    注意:元组中嵌套列表,
    元组:只读列表,可循环查询,可切片。儿子不能改,孙子(列表的元素)可能可以改 v2 = (1,2,3,'alex',[2,3,4,'abnowen'],'deng')
    v2[3] = 666 # 错误
    v2[4][3] = 123 #正确
    print(v2) # (1, 2, 3, 'alex', [2, 3, 4, 123], 'deng')

Python全栈day 04的更多相关文章

  1. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  2. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  3. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  4. python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  5. 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂

    Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...

  6. 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】

    点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...

  7. Python全栈

    Python基础 Python基础01 Hello World! Python基础02 基本数据类型 Python基础03 序列 Python基础04 运算 Python基础05 缩进和选择 Pyth ...

  8. python 全栈之路

    目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文 ...

  9. Python全栈【Socket网络编程】

    Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...

随机推荐

  1. iOS 时间戳和时间互换,计算两日期相隔天数

    /*  *获取当前系统时间的时间戳  */ +(NSInteger)getNowTimestamp;   /**  * 获取当前时间  */ + (NSString *)getNowTimeTampF ...

  2. [转]Java内存溢出详解及解决方案

    原文地址:http://blog.csdn.net/xianmiao2009/article/details/49254391 内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是 ...

  3. Spring-cloud之Ribbon负载均衡的使用及负载均衡策略配置(与Eurka配合使用)

    什么是Ribbon,ribbon有什么用,个人先总结一下(不正确请提出讨论):Ribbon是基于客户端的负载均衡器,为我们提供了多样的负载均衡的方案,比如轮询,最小的并发请求的server,随机ser ...

  4. spring注入bean的五种方式

    1.属性注入 2.构造方法注入 3.静态工厂注入 package com.voole.factorybeans; import com.voole.beans.TestBean; public cla ...

  5. poj 3140 树形去边差异最小

    http://poj.org/problem?id=3140 依然是差异最小问题,不过这次是去边.思路是这样的,先记录每个点的子节点个数,然后遍历每个边. 有两个问题要注意: abs可能会出编译适配问 ...

  6. 阿里前端笔试总结--H5面试题

    转载网址 https://blog.csdn.net/qq_20913021/article/details/51351801 1.有一个长度未知的数组a,如果它的长度为0就把数字1添加到数组里面,否 ...

  7. 炫酷的Html+css (一)

    博客园在别的 博主看到一个样式, 里面有一段这样的 正方体旋转的 动态图 吸引了我. 找博主要了代码, 贴出来 与大家共享. 鼠标放上去会展开 一大一小两个正方体, 鼠标悬浮上去, 外面的正方体会展开 ...

  8. Cholesky分解(Cholesky decomposition / Cholesky )

    Cholesky decomposition In linear algebra, the Cholesky decomposition or Cholesky is a decomposition ...

  9. APP专项测试使用到的工具

    最近在读<大话APP测试>,我也就是把需要使用的测试点做一个总结,目前是使用的工具进行的整理,后期慢慢把工具使用案例贴出来

  10. LA 3635 派

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...