• 疫情环境下的网络学习笔记 python Day 07


    2.25

    上午

    今日内容:for循环,基本数据类型相关操作(int,float,str,tuple,str,dict,set)

    上节课回顾

    赋值运算符

    1. 交叉赋值

      x,y = y,x

    2. 链式赋值

      c = b = a = 10

      快捷键 光标在中间的时候 shift + enter 光标直接跳到下一行

    3. 解压赋值

      x, y, *_ , z = [1,2,3,4,5,6]

      *:没有对应上的值存成一个列表

    逻辑运算

    1. 优先级:() > not > and > or

      方法:先计算not,再把and两边紧连的条件用括号括起来,只剩下or,也就是顺序运算

    2. 短路运算

      偷懒原则:and 和 or 会在确定计算结果的时候返回,

      and 最终返回的值是当前运算的值

      10 and 12 返回 12

      0 and 11 返回0

    3. 可以当作条件使用的有三种

      • 明确的布尔值:True,False
      • 运算结果可以当作布尔值: == ,!= ,< ...
      • 使用数据类型隐藏的布尔值
        • 0,None,空 都表示False,其余都为True
        • 了解:条件中 放 1 比 True 效率高,一点点

    while循环

    1. 基本语法

      while 条件:
      	子代码块
      	子代码块
      
    2. 死循环:永远不会结束的循环

      i/o操作不会让计算机死机:执行一次后会有一点时间停顿

    3. 结束循环的方式

      1. break:立即终止本层循环
      2. 把条件改成假:进入下一次循环的时候判断条件为假,停止循环
    4. while + continue

      结束本次循环,直接进入下一次循环

      continue后面的同级代码不会执行

    5. while + else

      else 的子代码块会在while 循环结束后,并且是在没有被break终止的情况下才会执行

    新课

    for 循环

    针对循环取值操作,while循环并不擅长,于是python提供了一个专门循环取值操作:for 循环

    students = ['deimos','aaa','bbb']
    for x in students
    print(x)
    

    for 循环字典,默认取出来的是字典的key,要取value,要操作dic[x]

    for 循环字符串,拆解,一个个取出每一个字符

    for 循环的次数取决于对象的长度

    总结

    • 重复执行某段代码,通常使用 while 循环
    • 针对循环取值操作,通常使用 for 循环

    range()

    生成一个数字列表,从0开始,顾头不够尾

    range(5) :从0开始,生成一个5个长度的列表 [0,1,2,3,4]

    指定开头

    range(1,5) :从1 开始,到 5 为止生成一个要头不要尾的列表: [1,2,3,4]

    指定步长

    range(2,9,3) :从1 开始,到 8 为止,以3为步长,生成一个要头不要尾的列表 :[2,5,8]

    用range来模拟 for 循环次数

    len()

    统计列表,元组,字典,集合的长度

    总结

    while于for不同之处

    1. while通常用来循环执行代码,for通常用来取值
    2. while的循环次数取决于条件什么时候为假,for的循环次数取决于 in 后的数据类型所包含的值的个数

    for 跟range() 连用:

    • range用来产生一个数字序列,数字序列对应的是列表的索引,所以可以for + range() 可以按照索引编列列表,但是有更方便的 in 操作

    for + break

    ​ 同 while 循环中的 break,直接跳出当层循环

    for + else

    ​ 同 while 循环中的 else ,循环结束时,没有被break结束,才运行

    for + continue

    ​ 结束当次循环,进入下一次循环

    基本数据类型的常用操作

    数字类型:int,float

    操作

    • 比较运算:int 与 float 之间可以比较大小
    • 数学运算:+ - * / int 和 float之间也可也进行数学运算
      • 不同的数据类型不能进行这些操作,除了int 与float (数字与列表,列表与字典......)

    字符串:str

    字符串是由多个字符按照次序组成的

    操作

    1. 按索引取值

      name = 'deimos'
      print(name[0])  # 输出 d
      

      字符串只能取值,不能赋值

    2. 切片(步长,要头不要尾)

      取出其中一段字符串,成为一个新字符串,并不会真的修改原字符串

      只要有索引的数据类型都可以进行切片

      使用冒号 起始索引:结束索引

      name = 'deimos'
      print(name[1:3])  # 输出 eim
      

      name[0:10:2] :隔一步做切割,步长为2,跟range 类似

      如果 name[::] :默认起始位置0,一直到结尾,步长为1

    3. 获取长度 len()

      只要包含多个元素的,用 len() 获取对象长度

    4. 其他操作

      • .upper() 全部大写

        a = 'deimos'
        print(a.upper()) # 输出 DEIMOS
        
      • .lower() 全部小写

      • .find() 在字符串中查找指定字符串,返回字符串索引位置,找不到则返回 -1

        a = 'deimos'
        print(a.find('s'))  # 输出 5
        
      • .index() 同上,找不到会报错

      • .count() 统计指定字符串出现的次数

        • find,count,index方法也适用于列表

    下午

    需求,判断input是否为空:

    1. 空的布尔值为False,判断 if not input 若input为空,则条件为真
    2. 输入字符串的长度 len(input) == 0

    成员运算 in

    判断一个字字符串是否存在一个大字符串中

    'deimos' in 'deimoschen'
    # 结果为True
    

    not in:判断是否不在里面

    移除字符串左右两侧的字符 strip

    '   adc   '.strip()  # 输出 abc
    

    如果 strip() 中不放参数,则默认去除左右两侧空格,如果放人参数,则去掉相应的字符,参数可以指定多个。

    程序从左出发,遇到第一个不属于要去除的参数,则停止;再从右边出发,遇到第一个不属于要去除的参数,停止

    print('*-=<abc*/-?'.strip('*=/-?'))  #输出 <abc
    
    

    切分字符串 split

    以某个分隔符(或字符串)为切分符号,把字符串切换成列表

    用于有明确分割符号的字符串,如 'aaa,male,21,201632000112'

    print('aaa,male,21,201632000112'.split(','))
    # 输出 ['aaa', 'male', '21', '201632000112']
    
    

    如果没有匹配的字符串,则把整个字符串作为列表中的一个元素,返回

    列表 list

    于字符串非常类似,不同点在于可以进行赋值

    按照索引取值:list[0:4]

    成员运算: in / not in

    切片:从一个大列表中复制出一个字列表,要头不要尾

    长度 :len()

    追加 .append()

    向列表的末尾添加一个元素

    不能向不存在的索引赋值,要向列表里面加值,必须用 append

    插入 .insert

    往列表指定的位置之前插入一个值

    l = ['aaa','bbb','ccc']
    l.insert(1,'ddd')
    # 得到 ['aaa','ddd','bbb','ccc']
    
    

    万用删除 del

    只要是可变的值,都可以用del进行操作

    列表删除

    .remove() 移除元素,必须指定删除的元素

    l = ['aaa','bbb','ccc']
    l.remove('aaa')
    
    

    列表的remove操作返回 None ,不返回任何值

    字典

    用key可以存取值

    dic = {'aaa':111,'bbb':222,'ccc':333}
    
    

    对字典来说,key存在则修改对应的value ,key不存在则新添加一个 key:value

    取值 :dic[key]

    长度 len(dic) 返回键值的对数

    成员运算

    在用字典成员运算 in 时,判断的时key,不是value

    删除操作 dic.pop

    dic.pop(key) 指定元素进行删除,pop返回被删除元素的value

    v
    res = dic.pop('aaa')
    print(res)  # 输出结果为 111
    
    

    获取键、值

    dic.keys()

    dic.values()

    dic.items()

    在python2中得到列表,相当于拿到一筐鸡蛋

    在python3中不得到列表,相当于拿到一只能下单的鸡,是对于py2的优化,比py2节省空间。py3中可以用在 for 循环里使用

    遍历字典的value

    for k in dic.values():
    	print(k)
    
    

    一步到位,循环字典里的key和value

    dic = {'aaa':111,'bbb':222,'ccc':333}
    for key,values in  dic.items():
        print(key,values)
    
    

    输出结果

    aaa 111
    bbb 222
    ccc 333
    
    
  • 相关阅读:
    【质量专栏】管理与领导_质量历史
    【python练习】excel中批量插入图形
    【python学习笔记】openpyxl操作excel高阶操作
    【高效办公】excel使用技巧汇总
    关于asp.net mvc中的cookie的对象传递以及加密解密
    《Javascript编程精解》读书笔记第三章 数据结构:对象与数组
    在visual studio2012中如何使用localDB具体讲解
    初试visual studio2012的新型数据库LocalDB
    《JavaScript编程精解》读书笔记目录汇总
    关于Global.asax的作用
  • 原文地址:https://www.cnblogs.com/telecasterfanclub/p/12363011.html
Copyright © 2020-2023  润新知