zoukankan      html  css  js  c++  java
  • 19 Mar 18 python基础(补充) + 数据类型(数字,字符串)

    python基础(补充)

    1. 赋值方式 (之前介绍过增量赋值)

    a. 链式赋值

        y=1

        y=x

        y=x=a=b=c=1 (id相同)

    b. 交叉赋值 (m,n值交换)

        m=1

        n=2

        x=m

        m=n

        n=x

       m=1

       n=2

       m, n=n, m

    c. 变量的解压

       salaries = [11,12,13,14,15]

       mon1_sal=salaries [0]

       ……

       mon5_sal=salaries [4]

       mon1_sal, mon2_sal, mon3_sal, mon4_sal, mon5_sal = salaries

       注:左右数量必须一一对应,否则报错

       mon1_sal, xxx, xx, xx, mon5_sal = salaries

       mon1_sal, _, _, _, mon5_sal = salaries (约定‘_’代表抛弃的变量名)

       *_, mon5_sal = salaries(‘*’代表所有)

    2. input () for python2, python3

    a. python3, 只有 input(); input()将用户输入的内容全部存为字符串类型

    b. python2

       raw_input() 等同于 python3 的input();将用户输入的内容全部存为字符串类型,不考虑输入类型。是python 2 的主要输入交互方式。

       input() , 必须输入明确的数据类型,且输什么存什么。

    3. while (条件循环)  条件:

            循环体

       else:

       #若循环完毕后 while 没有被break打断,else所接的代码才被执行(最后被执行); 用处不大

    4. 身份运算是is;==不是身份运算

    5. and or not 从左向右直行

      False or True and False or True

      False   or   True and False or True # 取第一个运算符看左右,若仅凭左边和运算符可以判断,右边的式子可忽略, True

                      True    and     False or True # 重复上一步, True

                                          False or True # 重复上一步, True

      所以, 结果为True

    6. pass #什么都不做,可以做占位符

       if 条件:

           pass

      elif 条件:

           pass

       elif 条件:

           pass

       # 若无pass/循环体,系统报错; if 后面可不接else/ elif;if中只执行一层代码。

    数据类型(数字,字符串)

    1. 数据类型学习重点

    a. 基本使用

       用途

       定义方式

       常用操作 + 内置方式

    b. 总结

       存一个值or 多个值(值都是什么类型的)

       有序or无序

       可变or 不可变

       ** 可变==值变,id不变==不可hash; 不可变==值变,id变==可hash

       print(hash(10)) =》10 可hash

       print(hash ([1,2,3]) ) =》报错,list不可hash

    2. 整型 int

       age = 10   #age = int(10); 造一个整数10,赋给age

       right: int (‘10’), int (10)

       wrong: int (’10.3’), int (10.3)

       常用操作:+ - * /

       无内置方式

       可存一个值, 不可变,可hash, #有序无序不使用

    3. 进制转化

       10 = 1*10^1+0*10^0=10  #10在十进制中为10

       10 = 1*2^1+0*2^0=2  #二进制

       10 = 1*8^1+0*8^0=8  #八进制

       10 = 1*16^1+0*16^0=16  #十六进制 0-9, A, B, C, D, E, F

       bin (3) =》 0b11 #十进制转化为二进制, python的内置函数

       oct (8) =》 0o10 #十进制转化为八进制,python的内置函数

       hex (16) =》 0x10 #十进制转化为十六进制,python的内置函数

    4. 浮点型 float

       height = 1.81   #height = float(1.81); 造一个浮点数,赋给height

       常用操作:+ - * /

       无内置方式

       可存一个值, 不可变,可hash, #有序无序不使用

    5. 字符串

       用途:存放描述性的数据,一个字符串只存一个值(等号右边); python没有字符类型;‘a’亦为字符串

       定义:在单双三引号内的一串字符 #三引号里可放多行字符

       name=‘egon’  # name = str (‘egon’)

       str(10) # type(str(10)) =》 str

       常用操作

       **优先掌握的操作

       #1、按索引取值(正向取+反向取) :只能取, 不可以更改

             正向取:

             name =’egon’

             print(name[0]) =》 e

            #从0开始,超范围报错, 取出的字符为字符串类型

            反向取:

            name =’egon’

            print(name[-1]) =》 n

            #从-1开始,超范围报错, 取出的字符为字符串类型

      #2、切片(顾头不顾尾,步长)

            默认步长为1(向右移动)

            msg = ‘alex say my name is sa’

            print (msg[0:4]) =》alex

            print (msg[0:6:2]) =》ae (空格)

            print (msg[3:1:-1]) =》xe

            print (msg[-1:-5:-1]) =》as s

            print (msg[-1:-5:1]) =》无输出

            msg[:] =》‘alex say my name is sa’

            msg[::1] =》‘alex say my name is sa’

            msg[::-1] =》‘sa si eman ym yas xela’

    #3、长度len    #len() 可用于字符串,也可用于其他数据类型

           print(len(msg)) =》字符个数

    #4、成员运算in和not in

           print (‘a’ in msg) =》 True

           print (‘alex’ in msg) =》 False 

    #5、移除空白(去除左右两边的空白)strip

           默认:空白

           s = ‘**egon***’

           print(s.strip())=》**egon***

           print(s.strip(‘*’))=》egon #s.strip()不改变s的值, s为不可变类型

           name = input(‘用户名>>: ‘).strip()

           name.strip(‘*”).strip(‘#’)

    #6、切分split (用于有规律的字符串)

           info = ‘egon:123:admin’

           res= info.split(‘:’)

           res  =》['egon', '123', 'admin'] #输出类型为list

           cmd = ‘get|a.tex|32123123’

           print(cmd.split(‘|’) =). ['get', 'a.tex', '32123123']

    #7、循环(循环取值)

           msg = ‘alex’

           i = 0

           while True:

                if i < len(msg):

                    print(msg[i])

                    i+=1

                else:

                    break

          msg=’alex’

          i=0

          while i <len(msg):

              print(msg[1])

              i+=1

         msg =’ale’    =》   a

         for item in msg:  =》    l

             print(item)   =》   e

      

      for   in   : #可用于字符串,列表,字典,不可用于数字(1111)

  • 相关阅读:
    unittest生成html测试报告
    excel类封装
    023-linux(2)
    016-WebDriver API(2)
    015-WebDriver API
    014-unittest扩展
    013- unittest单元测试框架
    011-python列表,元组,字典的用法
    010-利用Selenium+python自动输入博客账号密码登录
    009-python一些问题整理
  • 原文地址:https://www.cnblogs.com/zhangyaqian/p/py20180319.html
Copyright © 2011-2022 走看看