Day 04

今日内容

补充

1.解释器/编译器

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

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

2.字符串

  • .startswith() / .endswith()

    name = 'glacier'
    # 判断是否已al开头
    
    # 方式一:
    flag = name.startswith('gl')
    print(flag)
    
    # 方式二:
    val = name[0:2]
    if val == 'gl':
      print('是以gl开头')
    else:
      print('不是')
    
  • .format()

    • 字符串格式化
    name = "我叫{0},年龄:{1}".format('老男孩',73)
    print(name)
  • .encode()

    • 修改编码类型
    name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
    v1 = name.encode('utf-8')
    print(v1)
    v2 = name.encode('gbk')
    print(v2)
  • .join()

    name = 'glacier' # g_l_a_c_i_e_r
    result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
    print(result)

3.步长

name = 'glacier'
# val = name[0:-1:2]
# val = name[1:-1:2]
# val = name[1::2]
# val = name[::2]
# val = name[-1:0:-2]
# print(val)
# 笔试题:请将字符串反转。
val = name[::-1]
print(val)

4.for···in···:循环

name = 'glacier'
for item in name:
print(item)
'''
g
l
a
c
i
e
r
'''
# 练习题
# 1. for循环打印 “glacier” 的每个元素: for > while
# 2. 请打印: 1 - 10

for i in range(1,11): # [1,2,3,4,5,6,7,8,9,10]
    print(i)

# 3. 请打印: 1 2 3 4 5 6 8 9 10

for i in range(1,11):
    if i == 7:
    pass
else:
    print(i)

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

内容详细

1.列表

如果想要表示两个人 users = '麻花藤,码云'

以后想要表示更多'事物',可以使用列表

他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型。

users = ['麻花藤','码云']
  • 公共功能

    • len

      users = ['麻花藤','码云']
      val = len(users)
      print(val) # 2
    • 索引

      users = ['麻花藤','码云']
      val = users[0]
      print(val)
    • 切片

      users = ['麻花藤','码云']
      val = users[0:1]
    • 删除(数字/布尔/字符串除外)

      users = ['麻花藤','码云']
      # 方式一
      users.pop(1)
      print(users)
      # 方式二:
      del users[1]
      print(users)
      
      #注意:
      #字符串本身不能修改或删除【不可变类型】 v1 = "glacier".upper()
      #列表是可变类型。
    • 修改(字符串/数字/布尔除外)

      users = ['麻花藤','码云']
      users[0] = 66
      users[1] = '王鸿祎'
      users[1][1] = '周'
    • 步长

      users = ['麻花藤','码云','周弘医','glacier']
      val = users[1::2]
    • 练习题

      """
      实现一个整数加法计算器(两个数相加):
      如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最
      终进行整数的计算得到结果。
      """
      # 思路一:
      
      content = input('请输入:') # [5+9] 或 [5 +9] 或者 [ 5 + 9 ]
      content = content.strip() # [5+9] 或 [5 +9] 或者 [5 + 9]
      v1 = int(content[0])
      v2 = int(content[-1])
      v3 = v1 + v2
      
      # 思路二:
      content = input('请输入:') # [5+9] 或 [5 +9] 或者 [ 5 + 9 ]
      content_len = len(content)
      index = 0
      total = 0
      while True:
          char = content[index]
          if char.isdigit():
              total += int(char)
              index += 1
          if index == content_len:
              break
      print(total)
      
      # 思路三:
      
      content = input('请输入:') # [5+9] 或 [5 +9] 或者 [ 5 + 9 ]
      result = content.split('+')
      # print(result) # ['55 ', ' 99 ']
      v1 = int(result[0]) # "55"
      v2 = int(result[1]) # " 99 "
      v3 = v1 + v2
      print(v3)
    • for···in···:循环

      # 方法一
      users = ['麻花藤','码云','周弘医','glacier']
      for i in users:
          print(i)
      
      # 方法二 (for嵌套)
      users = ['麻花藤','码云','周弘医','glacier']
      for i in users:
      # 第一次循环:i='麻花藤'
          print(i)
          for ele in i:
              print(ele)
      
      # 练习题:请通过for循环和数字计数器实现:users = ['麻花藤','码云','周弘医','glacier']
      """
      0 麻花藤
      1 码云
      2 周弘医
      3 glacier
      """
      # 方式一
      users = ['麻花藤','码云','周弘医','glacier']
      count = 0
      for i in users:
          print(count,i)
          count += 1
      
      # 方式二
      users = ['麻花藤','码云','周弘医','glacier']
      users_len = len(users) # 4
      for index in range(0,users_len): # [0,1,2,3]
          print(index,users[index])
      
  • 独立功能

    • .append()

      • 在列表的最后追加一个元素
      users = []
      users.append('glacier')
      print(users)
      #  示例一:
      users = []
      while True:
          name = input('请输入姓名:')
          users.append(name)
          print(users)
      
      # 示例二:
      # 录入用户和密码
      users = []
      for i in range(0,3):
          name = input('请输入用户名和密码:')
          users.append(name)
      print(users) # ['mahuateng,123', 'mayun,888', 'glacier,123']
      # 用户和密码校验
      username = input('请输入要登陆用户名:')
      password = input('请输入要登陆密码:')
      for item in users:
          result = item.split(',') # ['glacier','123']
          user = result[0]
          pwd = result[1]
          if user == username and pwd == password:
              print('登陆成功')
              break
    • .insert()

      • 在列表中插入一个元素
      users = ['麻花藤','码云','glacier']
      users.insert(2,'周弘医')
      print(users)
    • .remove()

      • 删除()内填写完整元素
      users = ['麻花藤','码云','周弘医','glacier']
      users.remove('麻花藤')
      print(users)
    • .pop()

      • 删除()内填写元素下标,默认删除最后一个
      users = ['麻花藤','码云','周弘医','glacier']
      users.pop(0)
      print(users)
    • .clear()

      • 清空列表
      users = ['麻花藤','码云','周弘医','glacier']
      users.clear()
      print(users)
    • 总结

        • append / insert
        • remove / pop / clear / del users [0]
        • users[0] = '新值'
        • 索引/切片/步长

2.元组

  • 书写规范

    users = (11,22,33,"老男孩") # 元组(不可变)
    
    users = [11,22,33,"老男孩"] # 列表(可变)
  • 支持的公共功能

    • 索引/切片/步长
    • for循环
    • len
  • 没有独立功能

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

    # 示例一:
    v1 = (11,22,33)
    v1[1] = 999 # 错误
    v1 = 999 # 正确
    # 示例二:可以嵌套
    v1 = (11,22,33,(44,55,66),(11,2,(99,88,),3))
    # 示例三:嵌套
    v2 = [11,22,33,(11,22,33)]
    v2[-1][1] = 99 # 错误
    v2[-1] = 123 # 正确
    # 示例四:嵌套
    v3 = (11,[1,2,3],22,33)
    v3[1] = 666 # 错误
    v3[1][2] = 123 # 正确

总结

公共功能

  • 索引(排除:int/bool)
  • 切片(排除:int/bool)
  • 步长(排除:int/bool)
  • 删除(排除:tuple/str/int/bool)
  • 修改(排除:tuple/str/int/bool)
  • for循环(排除:int/bool)
  • len(排除:int/bool)

Python day 04的更多相关文章

  1. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  2. The Python Challenge 0-4

    The Python Challenge 0-4 项目地址:http://www.pythonchallenge.com/ Level-0 提示Hint: try to change the URL ...

  3. python进阶04 装饰器、描述器、常用内置装饰器

    python进阶04 装饰器.描述器.常用内置装饰器 一.装饰器 作用:能够给现有的函数增加功能 如何给一个现有的函数增加执行计数的功能 首先用类来添加新功能 def fun(): #首先我们定义一个 ...

  4. Python模块04/包/logging日志

    Python模块04/包/logging日志 目录 Python模块04/包/logging日志 内容大纲 1.包 2.logging日志 3.今日总结 内容大纲 1.包 2.logging日志 1. ...

  5. Python函数04/生成器/推导式/内置函数

    Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...

  6. Python面向对象04 /封装、多态、鸭子类型、类的约束、super

    Python面向对象04 /封装.多态.鸭子类型.类的约束.super 目录 Python面向对象04 /封装.多态.鸭子类型.类的约束.super 1. 封装 2. 多态 3. 鸭子类型 4. 类的 ...

  7. python学习04——列表的操作

    笨办法学python第38节 如何创建列表在第32节,形式如下: 本节主要是讲对列表的操作,首先讲了 mystuff.append('hello') 的工作原理,我的理解是,首先Python找到mys ...

  8. a byte of python(摘04)

    a byte of python 第十章 输入/输出 如何使程序和用户进行交互?(用 raw_input 和 print语句来完成) 对于输出,你也可以使用多种多样的 str(字符串)类.使用 rju ...

  9. Python深入04 闭包

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 闭包(closure)是函数式编程的重要的语法结构.函数式编程是一种编程范式 (而 ...

  10. Python进阶04 函数的参数对应

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经接触过函数(function)的参数(arguments)传递.当时我们根 ...

随机推荐

  1. java -cp通配符

    JDK6支持java -cp后面跟通配符'*',试了一下发现还是需要注意: 错误方式(Wrong way): java  -cp /data/apps/lib/*.jar com.chinacache ...

  2. thinkphp ckeditor与ckfinder

    thinkphp ckeditor与ckfinder 下载 ckeditor下载地址 ckfinder下载地址 整合 将ckeditor与findeditor下载完成后,放到public目录下,配置c ...

  3. .net js有数据 但是跳转不到操作页

    首先看的是:js  的 model 传了 两个参数 在接着打开操作页 可以看到,这一页有三个参数.id是可以自动生成的,所以不让他显示,去掉 如上就可以了 ,传的参数数量不对   ,下次注意的撒!

  4. 玩转Vuejs--数组监听

    Vue中对数据的监听主要是依靠Object.defineProperty来实现的,这种实现主要是针对key/value形式的对象,对数组中值的变化是无能为力的,那么该如何对数组中的数据进行监听呢,下面 ...

  5. opatchauto failed with error code 42 补丁目录权限问题

    [root@WWJD1 ~]# opatchauto apply $UNZIPPED_PATCH_LOCATION/28183653 OPatchauto session is initiated a ...

  6. 干货 | LIDAR、ToF相机、双目相机如何科学选择?

    点击"计算机视觉life"关注,置顶更快接收消息! 本文阅读时间约5分钟 本文翻译自卡内基梅隆大学 Chris asteroid 三维视觉技术的选择 传感器参数及定义 LIDAR ...

  7. phpstorm----------phpstorm设置自动更新的ssh信息如何修改--后续增加如何设置自动更新

    1.如何设置phpstorm将本地代码时时同步到远程服务器 注意下面一定要打勾 点击下一步,然后还有一个页面,然后不用做任何操作,直接点击完成.中途有个页面是输入远程服务器ip账号密码链接方式的,那个 ...

  8. 阿里云轻量级服务器上JDK及tomcat部署配置

    先下载JDK和tomcat到本地 地址为http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html ht ...

  9. C语言实现迷宫小游戏

    代码如下,时间太晚,有空补注释: #include<stdio.h> #include<string.h> #include<time.h> #include< ...

  10. [Android] 对于com.google.gson.JsonElement的转义问题

    不多说了,com.google.gson.JsonElement使用的时候,toString()跟getAsString()这两个方法对于特殊字符的转义是不同的, 看这里的解释: https://st ...