• 第一阶段:Python开发基础 day07 Python基础语法入门--数字类型和字符串类型的内置方法


    一、上节课内容回顾

    while 循环
    while + break
    跳出本层循环
    while + continue
    跳出本次循环
    while + else
    循环没有被break终止才会执行
    for 循环
    for + break
    for + continue
    for + else
    进制转换
    

    二、数字类型内置方法

    2.1 整型的内置方法

    1. 作用

      描述年龄、号码、id号

    2. 定义方式

    x = 10
    x = int('10')
    x = int(10.1)
    x = int('10.1')  # 报错
    
    1. 内置方法

      没有内置方法,只有算术运算和比较运算

    2. 存在一个值还是多个值

      存一个值

    3. 有序or无序 有序:有索引;无序:无索引

      压根就没有这一说

    4. 可变or不可变(重点)

      数字类型不可变

      • 可变(变量值而言)

        lis = [1,2,3]
        print(id(lis))
        lis[0] = 2   #lis-->[2,2,3]
        print(id(lis))
        
      • 不可变(变量值而言),值变id也变

        x = 10
        print(id(x))
        x = 20
        print(id(x))
        

    2.2 浮点型内置方法

    同整型

    三、字符串类型的内置方法

    3.1 作用

    ​ 姓名/性别/地址

    3.2 定义方式

    s = b‘sdkfljl’   # 打印出来的bytes类型,二进制类型,010011001011001011
    
    print(s)
    
    print(‘中文’,encode(‘utf8’))
    

    3.3 字符串内置方法(只有字符串类型才能使用)

    s = ‘forever handsome’

    优先掌握(今天必须得掌握)

    1. 索引取值

      print(s[1])

    2. 索引切片

      print(s[4:0:1])  #  1 表示从左到右
      
      print(s[-4:0:-1])   #  -1 表示从右到左
      
    3. for循环

      for i in s:
      
      	print(i)
      
    4. strip() 去除两端指定字符

      s1 = ‘              nick handsome          ’
      
      print(s1.strip())    # 去除两端的空白
      s2 = '****!!!nick handsome-----***'
      print(s2.strip('-*!'))   # 指定多个字符一起去掉,只能strip里面有的字符就全部干掉
      
    5. split() 切割

      print(s.split()) # 默认以空格为切割条件
      print(s.split('/'))  # 以/切割
      print(s.split('!'))  # 以!切割
      
    6. in 或 not in

      print('forever' in s ) #True
      print('!' not in s) # True
      
    7. 长度len

        ```python
        s = '123'
        print(len(s)) # 3 # 求字符串的长度
        ```
      

    需要掌握(一周之内掌握,下周一就默写)

          # 1. lstrip() 和 rstrip()
          s2 = '***!!!!!nick handsome----***'
          print(s2.lstrip('*'))
          print(s2.rstrip('*'))
          
          # 2. rsplit()
          print(s2.split('*', 1))
          print(s2.rsplit('*', 1))
          
          # lower&upper
          s3 = 'aaabbJ'
          print(s3.lower())
          print(s3.upper())
          
          # startswith&endswith
          s3 = 'aaabbJ'
          print(s3.startswith('b'))
          print(s3.endswith('J'))
          
          #
          # join(用的比较多)一般和split联用
          
          s3 = ' '
          print(s3.join(['234', '234', '234']))  # 以s3为间隔符,拼接列表里的每一个元素
          
          s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
          
          s1 = s.split('/')
          print('*'.join(s1))
          
          # replace
          
          s2 = 'yongjiu handsome'
          
          print(s2.replace('yongjiu', 'gebilaowang'))
          
          # isdigit(纯数字)/isalpha(纯字母)
          s2 = '12312'
          print(s2.isdigit())
          
          s3 = 'aaac1c'
          print(s3.isalpha())
          
          # username_db ='nick'
          # pwd_db = '123'
          #
          #
          # inp_username = input('username:')
          # inp_pwd = input('pwd:')
          #
          # if inp_username.isalpha():
          #     pass
          #
          # if inp_pwd.isdigit():
          #     pass
    

    了解

    # find|rfind|index|rindex|count
    s2 = '**23423***ni234234ck $$ hand223423some******'
    #     01234567891011
    print(s2.find('$'))  # 从左找,找到第一个停止,找不到返回-1
    print(s2.rfind('$'))  # 从右找,找到就停止,找不到返回-1
    
    print(s2.index('$'))  # 找不到报错
    print(s2.rindex('$'))  # 找不到报错
    
    # center|ljust|rjust|zfill
    s2 = 'nick handsome'
    print(s2.center(50, '*'))  # 居中
    print(s2.ljust(50, '*'))  # 居左
    print(s2.rjust(50, '*'))  # 居右
    print(s2.zfill(50))  # 填充0居右
    
    # expandtabs
    s2 = 'a	a'
    print(s2)
    print(s2.expandtabs(8))  # 针对	而言
    
    # captalize|swapcase|title  只针对英文
    s2 = 'harry Potter'
    
    print(s2.capitalize())  # 首字母(一句话的开头)大写,其他全小写,用在段落开始
    print(s2.swapcase())  # 大小写互换
    print(s2.title())  # 所有单词首字母大写
    
    # is系列(有兴趣的自己了解)
    

    3.4 存一个值还是多个值

    一个值

    3.5 有序or无序

    有序

    3.6 可变or不可变(重点)

    可变:值变id不变,不可哈希

    不可变:值变id也变,可哈希

    不可变

    s2 = 'abc'
    print(id(s2))
    s2 += 'abc'
    print(id(s2))
    

    四、课后练习

    https://www.cnblogs.com/foreversun92/p/11290579.html

    今日总结

    今天首先对上节课的内容进行了回顾,上节课主要学习了while循环和for循环,讲了怎么定义和使用,以及break+continue+else的配合。这节课主要学习了数字类型和字符串的一些内置方法,这些内置方法可以帮助我们更好地处理数据,对数据进行分析和打印。
  • 相关阅读:
    jsp三种注释方法
    MyEclipse 2015优化技巧
    查看是否安装jdk及路径
    hibernate中save()、get()、load()、update()、saveorupdate()、merge()等方法
    MyEclipse更改项目名web发布名字不改问题
    try-catch-finally try中有rerun 是否执行finally
    使用HTML制作网页
    rs(0)与rs("字段名")的区别
    金蝶K3 wise 插件二次开发与配置
    初识触发器(2)
  • 原文地址:https://www.cnblogs.com/foreversun92/p/11291027.html
Copyright © 2020-2023  润新知