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)

  • 相关阅读:
    进程与线程
    the art of seo(chapter seven)
    the art of seo(chapter six)
    the art of seo(chapter five)
    the art of seo(chapter four)
    the art of seo(chapter three)
    the art of seo(chapter two)
    the art of seo(chapter one)
    Sentinel Cluster流程分析
    Sentinel Core流程分析
  • 原文地址:https://www.cnblogs.com/zhangyaqian/p/py20180319.html
Copyright © 2011-2022 走看看