zoukankan      html  css  js  c++  java
  • for循环补充,变量和不可变量,数字类型,字符串类型,列表类型

    一、for循环补充

    1、迭代式循环:for,语法如下

    for 变量名 (可以有多个)in 值:

    for i in range(10):

        缩进的代码块

    2、for+enumerate(同while循环)

    3、for+range()用来循环多次,顾头不顾尾

    如,打印九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print('%s*%s=%s' %(i,j,i*j),end=' ')
        print()
    

    4、range(3.10.2)#3.5.7.9

    range(10.3.-1) #10.9.8.7.6.5.4.布值

    5、for+break结束

    6、for+else

    二,基本数据类型常用操作及内置方法

    概念:记录事物的状态

    可变类型:值改变,但是id不变,证明就是在改原值,原值是可变类型

    x = 10
    print(id(x))
    x = 11
    print(id(x))
    

    不可变类型:值改变,但是id也变,证明就是在产生值,原值是不可变类型

    l = [111,222,333]
    print(id(l))
    l[0] = 6666666
    print(id(l))
    

    三、数字类型

    1.整型 int

    1.1 、用途:记录年龄、个数、号码,等级等整数相关的

    1.2 、定义方式:

    age=18 # age=int(18)
    print(type(age))
    
    int数据类型转换: 可以把纯数字组成的字符串转成整型
    # res = int("            18               ") 
    # print(res,type(res))
    

    1.3 、常用操作+内置方法

    数学运算+比较运算

    1.4 、该类型的总结

    • 存一个值or存多个值
    • 有序or无序
    • 可变or不可变

    2.浮点型 float

    2.1、用途:记录薪资、身高、体重

    2.2、定义方式

    salary = 3.1  # salary = float(3.1)
    
    loat数据类型转换: 可以把小数组成的字符串转成浮点型
    res=float(111)
    print(res,type(res))
    
    res=float("    3.3    ")
    print(res,type(res))
    

    2.3、常用操作+内置的方法 #

    数学运算+比较运算

    2.4、该类型的总结

    • 存一个值
    • 不可变

    四、字符串类型

    4.1、作用:名字,性别,国籍,地址等描述信息

    4.2、定义:在单引号双引号三引号内,由一串字符组成。

    注意

    # 引号定义出来的都是str类型,没有区别
    #  三引号可以存放多行字符串
    # 引号的嵌套:外层双引号,内层只能用单引号
    
    数据类型转换:str可以把任意类型都转成字符串类型# res = str([1,2,3])# print(res,type(res))
    

    4.3、常用操作+内置的方法

    • 按索引取值(正向取+反向取) :只能取

      msg = "hello world"
      print(msg[0],type(msg[0]))
      print(msg[-1])
      msg[0]="H"  # 只能取不能改
      
    • 切片(顾头不顾尾,步长)

       msg = "hello world"
       res = msg[1:7] #从第一个字符读到第7个
       res = msg[1:7:2]  # 1 3 5 (el )
       print(res)
       
       res = msg[:]
       print(res)   #打印全部字符
      
      res = msg[::-1]
       print(res)   #倒过来打印
      
    • 长度 Len

      msg = "hello world"
      print(len(msg))   #显示共有几个字符
      
    • 成员运算in 和not in

      msg = "hello world"
      print("he" in msg)     #结果为True
      print("he" not in msg)  #结果为False
      
    • 移除空白strip

    msg = "    hello    "
    print(msg.strip())   #最直白的移除空白
    
    msg = "+*-he*llo***%/*" print(msg.strip("*+-/%")) 
    
    inp_name = input("username: ").strip() 
    inp_name = "egon "
    inp_pwd = input("password: ").strip()
    if inp_name == "egon" and inp_pwd == "123":
        print('ok')
     else:
     print('no')      
    
    • 切分split
    msg="egon:123:3000"
    print(msg[0:4])       # egon
    
    msg='egon:123:2000'
    res=msg.split(":",1)
    print(res)  #['egon', '123:2000']第一个切分
    
    • 循环
    for x in msg:   
    print(x)
    

    需要了解的掌握:

    #1、strip(去掉空格),lstrip(去掉左边的空格),rstrip(去掉右边的空格)
    #2、lower(字母小写),upper(字母大写)
    #3、startswith(以。。开头),endswith(以。。结尾)
    
    #4、format的三种玩法  #为某个位置传值
    es='{} {} {}'.format('egon',18,'male')
    res='{1} {0} {1}'.format('egon',18,'male')
    res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    
    #5、split,rsplit
    name='root:x:0:0::/root:/bin/bash'
    print(name.split(':')) #默认分隔符为空格
    name='C:/a/b/c/d.txt' #只想拿到顶级目录
    print(name.split('/',1))
    
    name='a|b|c'
    print(name.rsplit('|',1)) #从右开始切分
    
    #6、join
    tag=' '
    print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串
    
    #7、replace
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1))
    打印SB say :i have one tesla,my name is alex  #替换
    
    #8、isdigit可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
    age=input('>>: ')
    print(age.isdigit())
    
    

    五、列表list

    5.1、作用:多个装备,多个爱好,多门课程,多个朋友等

    5.2、定义:[]内可以有多个任意类型的值,逗号分隔

    list数据类型转换:把可迭代的类型转成列表,可以被for循环遍历的类型都是可迭代的
    

    5.3、常用操作+内置的方法

    • 按索引存取值(正向存取+反向存取):即可存也可取

      l=[111,222,333]
      print(id(l))
      l[0]=666
      print(l)
      print(id(l))
      
    l=[111,222,333]
    l[0]=666
    l[3]=777  # 列表索引不能超出范围
    l[3]  # 列表索引不能超出范围
    
    • 切片(顾头不顾尾,步长)
    l=[11,22,33,44,55,66,77,88,99]
    / res=l[1:7:2]
    / res=l[:]
    res=l[::-1]
    print(res) #[99, 88, 77, 66, 55, 44, 33, 22, 11]
    
    • 长度

      print(len(["aaa",111,2222]))
      
    • 成员运算in 和not in

      print(111 in ["aaa",111,2222])
      
    • 追加

      l=[111,222,333]
      l.append(444)
      l.append(555)
      print(l)
      
    • 插入

      l=[111,222,333]
      l.insert(1,6666)
      print(l)
      
    l=[111,222,333]
    res = l.append(444)
    res = l.insert(1,444)
    print(res)
    
    • 删除

      万能删除# del l[0]# print(l)
      
    l.remove(指定元素)
    res=l.remove(222)
    print(l)
    print(res)  #None
    
    l.pop(指定索引)
    res=l.pop(1)
    print(l)
    print(res)
    
    • 循环

      l=[111,222,333]
      for x in l:
      print(x)
      

    5.4、该类型总结:

    • 存多个值
    • 有序
    • 可变
  • 相关阅读:
    Linux IO接口 监控 (iostat)
    linux 防火墙 命令
    _CommandPtr 添加参数 0xC0000005: Access violation writing location 0xcccccccc 错误
    Visual Studio自动关闭
    Linux vsftpd 安装 配置
    linux 挂载外部存储设备 (mount)
    myeclipse 9.0 激活 for win7 redhat mac 亲测
    英文操作系统 Myeclipse Console 乱码问题
    Linux 基本操作命令
    linux 查看系统相关 命令
  • 原文地址:https://www.cnblogs.com/caodan01/p/14175321.html
Copyright © 2011-2022 走看看