Day_06 is == 的区别, 编码与解码.

第一周总结:

  一. python基础

    1. python 是一门解释型,弱类型语言.

    2. print('内容', '内容' , end = '\n')    #  print() 打印时,后面end默认是(\n)换行.  若不想换行则需要给end进行赋值

    3. 变量: 程序运算过程中产生的中间值,存储在内存中.供后面的程序调用.

    4. 变量的数据类型(现阶段学习的类型):

      1) int     整数类型

      2) str     字符串类型

      3)bool   布尔类型,值只有True和false

    5. 命名规则:

      1) 由数字,字母,下划线组成

      2) 不能是纯数字,或者数字开头

      3)不能是关键字

      4)不能太长

      5)要有意义

      6)不要用中文

      7)区分大小写

      8)推荐使用驼峰和下划线的方法命名

  6. input()   用户输入    #与用户进行交互,当程序运行到这里时,暂停等待用户输入内容让后再继续运行程序.

  7. if 判断:

    if 条件:          if 条件:

      代码块          代码块1

    else:           elif 条件2:

      代码块          代码块2

                 ......

                 else:

                  

二. while循环:

  1.while的基本样式:

    while 条件:

      循环体        #  流程:  判断条件是否为真,为真时,执行循环体,再次判断是否为真......

    else:            指导判断结果为假时,执行else,退出循环.

      代码块

  2.格式化输出:

    1) %s 字符串    例:  a = '我爱我家,我爱%s,我爱%s!'  % ('XX' , 'nn')  print(a)=====>   我爱我家,我爱XX,我爱nn!

    2) %d 数字  例:  a = '在北京有%d家五星级酒店,%d家商务酒店.'  % (22,66)  print(a)  ====>   在北京有22家五

               星级酒店,66家商务酒店.

  3.运算符:

    1.逻辑运算:

      1) end     与     两端同时为真的时候结果为真,否则为假.

      2) or      或者   两端有一个为真结果就为真,只有两端同时为假时,结果才为假.

      3) not    取反  

      运算顺序:    () => not => and => or =>最后才是< 和 > 

      x or y  ===>   如果X非零, 取X.    否则取y

  2.编码种类:

    1.  ASCII,    8bit ,       1byte

    2.  GBK,    16bit ,       2byte

    3.  UTF - 8,    英文  8bit   1byte      欧洲    16bit    2byte    中国     32bit     3byte

  3. 基本的数据类型:

    1. 基本的数据类型:

      1). int  数字,  bit_length()  二进制长度

      2). bool  空: False      非空: True

      3). str  字符串不可变

        字符串的基本操作方法:

          1. 索引切片:   由 0 开始   #即可以从字符串里的第一项开始,即0位置.

            方法:   [起始位置 : 结束位置 : 步长]

          2. 操作:

            1). upper()  变成大写       一般用于忽略大小写的时候,或者有大小写歧义的时候.

               例:    

                a = 'abcd'        a.upper()       print(a)  ======>    ABCD

            2).strip()  去掉空格(两端的)

               例:

                a = '     abcd      '       a.strip()       print(a)   =====>  "abcd"

            3).split()  切割

               例:

                a = 'a, b, c, d'  a.split(" , ")  print(a)   ====>  'a'  'b'  'c'  'd'

            4). replace()  替换     

               例:   a = 'a a a a a a a a a '

                 b = a.replace('a' , 'b')

                                   b = a.replace('a', 'b' , 3)

                    print(b) ==>  'b b b b b b b b b'    print(b) ==>   'b b b a a a a a a '  

            5). startswith()  以XXX开头

              a = 'abcd'       a.startswith('a')  ==>   Ture         a.startswith('b) ===> False       如果是以XX开头则返回Ture否则返回False.

            6). find()  找出XXX字符串在原字符串中出现的次数,找不到返回 -1

              a = 'abcd'     print(a.find('a'))===>    1

            7). count()  数数  例: a = 'abcd'    print(a.count('b'))    计算字符'b'   在字符串a 出现的次数,   为1次.

            8). format()  格式化输出  

                # 格式化输出
                  s12 = "我叫%s, 今年年%d岁了了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法
                  print(s12)
                  s12 = "我叫{}, 今年年{}岁了了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化
                  print(s12)
                  s12 = "我叫{0}, 今年年{2}岁了了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置
                  print(s12)
                  s12 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润
                  发", age=28) # 指定关键字
                  print(s12)

            9). len()  求长度

                  a= '1, 2, 3, 4, 5, 6'                    print(a.len()) ====>  6

          5. 条件判断
            # 条件判断
            s14 = "123.16"
            s15 = "abc"
            s16 = "_abc!@"
            # 是否由字母和数字组成
            print(s14.isalnum())
            print(s15.isalnum())
            print(s16.isalnum())
            # 是否由字⺟母组成
            print(s14.isalpha())
            print(s15.isalpha())
            print(s16.isalpha())
            # 是否由数字组成, 不不包括小数点
            print(s14.isdigit())
            print(s14.isdecimal())
            print(s14.isnumeric()) # 这个比较牛B. 中文都识别.
            print(s15.isdigit())
            print(s16.isdigit())
            # 练习. 用算法判断某一个字符串串是否是小数
            s17 = "-123.12"
            s17 = s17.replace("-", "") # 替换掉负号
            if s17.isdigit():
              print("是整数")
            else:
              if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):
                print("是小数")
            else:
              print("不是小数")

4.  列表:

   由[]表示.

    有索引和切片

    常用操作:

      增加:

        append()  在末尾添加

        instert()  在指定位置添加

        extend()  迭代添加 

      删除:

        pop()  默认删除最后面的,限定索引位置后删除特定的项.

        remove()  删除指定的项,  #  必须在括号中给出想要删除的项本身

        colar()  删除列表中的全部内容,使之成为空列表

        del  a[1: 3: 2]     [起始位置: 结束位置: 步长]   左闭右开    切片删除

      改:

        索引切片修改

         例:  

          lst = ["太白", "太黑", "五色", "银王", "日天"]

          lst[1] = "太污" # 把1号元素修改成太污

          print(lst)

          lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步长不是1, 要注意. 元素的个数    在第1  到4项中每三项替换1个     注:切片左闭右开

          print(lst)

          lst[1:4] = ["李嘉诚个cxxx"] # 如果切片没有步长或者步长是1. 则不不用关心个数      把1到3项替换为'李嘉诚个cxxx'         注:切片左闭右开

          print(lst)

      查询:

        for 变量  in 可迭代对象:

          循环体

        else:

          代码块

      操作:

        sort()  排序

        sort(reverse=True)   降序

        reverse()  翻转

        len()  长度

        count()  数数

    元组:  

      tuple, 只读列表, 由()组成. 不可变的

      索引和切片. for循环

    

    解构, 解包    #   解包,结构在元组, 列表, 字典中都可以使用,在字典中,返回的是kay.

      a, b = 1, 2  (a, 1)   (b, 2)

      range(10)   0 1 ... 8 9

      range(5, 10)    5 6 7 8 

      range(5,10,3)    5,8

    

5. dict 字典

  由{}表示. 存储key:value 键值对. 根据key来计算hash值.找到对应的内存地址.

  key必须是可hash的. 不可变的. int, str, 元组, bool

    操作:

      增加: dict[key] = value

      a = {'a': 1, "b": 2}    a.setdefault('c', 1) ====> print(a)  ===>     {}

      删除: pop(key), del , popitems(), clear()

      修改: dict[key] = value

        dic = {"id": 123, "name": 'sylar', "age": 18}
        dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"}
        dic.update(dic1) # 把dic1中的内容更更新到dic中. 如果key重名. 则修改替换. 如果不不存
                  在key, 则新增.
        print(dic)
        print(dic1)

      查询:dict[key], get(key, 默认值)

        

        print(dic['name'])
        # print(dic['sylar'])   # 报错
        print(dic.get("ok"))
        print(dic.get("sylar"))       # None
        print(dic.get("sylar", "牛B"))      # 牛B

      setdefault() 先执行新增那个流程. 然后.获取到key对应的值

    常规操作:

      keys() 获取所有的key.返回的像个列表

      values() 获取所有value

      items() 获取所有的key,value.装成元组. 返回列表[(key,value), (key,value)]

      通过items()获取的是k,v

      for k,v in dict.items():

      直接循环遍历. 拿到的是key

      for k in dict:

          

猜你喜欢

转载自www.cnblogs.com/hfbk/p/9290616.html