Fork me on GitHub

聪明学python【5】+【6】

聪明学python【5】+【6】

【5】循环

  1. for

    • 本质(功能):基于提供的范围,重复执行特定次数的操作(注意:区分C语言和python的“重复”和“循环”:C语言更倾向于用循环数字来实现重复,Python可以直接实现重复,在需要时使用数字循环)

    • 格式:

      #格式1————循环 x
      for x in range(m, n+1):
      
      #格式2————直接遍历列表
      for number in list_numbers:
      
      #格式3————嵌套
      for x in range(1, xMax+1):
              for y in range(1, yMax+1):
      

      可以理解,对纯数字处理来说,嵌套相当于升维

    • range()函数

      • 功能:创建一个包含等差数列的可迭代对象
      • 格式:range([start], stop[, step])
        • start: 可选参数,表示数列的起始值,默认为0。
        • stop: 必填参数,表示数列的结束值(不包含在数列中)。
        • step: 可选参数,表示数列的步进值,默认为1。
  2. while循环

    • 功能:(因为你可以注意到,for循环,不像C语言,没有逻辑表达式,所以只能结束循环次数可知(或者间接可知)次数的循环)所以,当不知道什么时候停下来的时候用while。
    • 注意:不建议在知道循环次数的情况下用while循环
  3. 循环控制语句

    • break跳出当前整个循环
    • continue跳过这次循环
    • pass啥也不做,占位符(不会被运行)
  4. 假循环&死循环

    • 实现循环输入,直到输入特定值,输入结束

      while True:
              response = input("输入一个字符串(输入 done 则退出): ")
              if response == "done":
                  break
          
      
    • 函数中,做到满足条件就返回

      for factor in range(2,n):
      	if n % factor == 0:
      		return False
      

【6】字符串

  1. 字符串文字:

    • 表示:

      • 引号'' "" """""" ''''''四种
      • 转义序列\n换行、\t制表符、
      • 字符串不可变,并且别名不可变
        s = 'Data' “Data”* t = s s += 'whale'
        t 只是 “Data” 的一个只读别名)
    • 错误:

      # 这会导致语法错误,Python 无法正确判断一个字符串的终止位置
      print("聪明办法学 Python 第二版的课程简称是 "P2S"")
      
      #我们现在有两个字符串
      #s1 = "Data\tWhale"
      #s2 = "Data        Whale"
      #它俩看起来似乎是一样的
      
      print("s1:", s1)
      print("s2:", s2)
      
      #s1: Data	Whale
      #s2: Data   Whale
      
      s1 == s2
      False
      
  2. 字符串常量

    • import string
      print(string.ascii_letters)
      #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
      print(string.ascii_lowercase)
      #abcdefghijklmnopqrstuvwxyz
      print(string.ascii_uppercase) 
      #ABCDEFGHIJKLMNOPQRSTUVWXYZ
      print(string.digits)
      #0123456789
      print(string.punctuation) # < = >
      #!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
      print(string.printable)
      #0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 
      print(string.whitespace)
      # 	
      
      print(repr(string.whitespace))
      #' \t\n\r\x0b\x0c'
      
  3. 字符串运算

    • 加、乘、in("ring" in "strings"是一个逻辑表达式,结果为False或者Ture)
  4. 索引、切片

    • 单个字符索引(像C语言数组元素的引用,不多说)

    • len()函数:返回字符串长度【注意:IndexError】

    • 索引&负数索引

      参数:step、

      print(s[:4])
      print(s[4:])
      print(s[:])
      '''Data
      whale
      Datawhale'''
      
  5. 字符串循环

  6. 用索引的 for 循环

    for i in range(len(s)):
        print(i, s[i])
    

    使用 enumerate() 获得元素的序号

    for idx, c in enumerate(s):
        print(idx, c)
    

    zip(a, b) 可以在一次循环中,分别从 ab 里同时取出一个元素

    for a, b in zip(s, reverseString(s)):
    

    输入转换: split()

    list__ = list( map( int,input.split() ) )
    
  7. 内置函数

    • str()len()
    • chr()ord()(互逆,字符和码的转换)
  8. 方法

    • strip() 可以将字符串首尾的空格删除
    • replace()替换
    • count()有疑问……???
    • startswith() endswith()注意:是判断而不是输出(分别针对前后缀)
    • 格式化字符串(前面有说,不多说)

基础文件操作

  1. Open() 函数

    • Python open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。
    • 格式:open(file, mode) (和C语言一样)函数主要有 filemode 两个参数,其中 file 为需要读写文件的路径。mode 为读取文件时的模式,和C语言一样。
  2. 文件对象

    • open 函数会返回一个 文件对象。

    • 方法:

      • close( ): 关闭文件

      • rrb

        模式下:

        • read(): 读取整个文件
        • readline(): 读取文件的一行
        • readlines(): 读取文件的所有行
      • wa模式下:

        • write():

        • writelines():

        • 注意:每次操作结束后,及时通过 close( ) 方法关闭文件
          理解:指针的理解这里是比较好理解的,所以应对(指针读完后移)的方法是重新关闭和打开(这点和C语言不同)

posted @ 2023-12-02 20:41  竹沁  阅读(60)  评论(0)    收藏  举报