zoukankan      html  css  js  c++  java
  • python 基础,包括列表,元组,字典,字符串,set集合,while循环,for循环,运算符。

         1.continue 的作用:跳出一次循环,进行下一次循环
         2.break 跳出不再循环
         3.常量 (全是大写)NAME = cjk  一般改了会出错
         4.python的第三方库,先安装再导入。装模块:pip 命令
    例如:pip install pandas
         5.os.system(command)在linux 和window上都行
         6.res  = os.popen('ipconfig').read()
         7.pyc是个什么东西。
          8.sys.exit()直接跳出所有
          9、列表:name =  ['minglong','minghu','32','jack']
            name[0]  是  'minglong'  name[-1]  是 'jack' name[:2] 是从头到minghu 永远取不到最后一个 ,name[2:] 从32到最后
       修改元素: name[0] = 'wangminglong'  name[0][0]  是 'm',取出元素中的一个值
       插入:name.insert(2,',minggou') 是 往minghu后面添加了minggou
       追加:name.append('xiaoming') 在最后添加了xiaoming
       删除:name.remove('xiaoming') 直接删除xiaoming或者  del  name[0:2] 将第一个到第二个删除,name.pop(0)将第一个数删除,并返回这个元素。
       步长:name[::2]步长是2,每隔一个取一个元素
       查:32 in name 判断32是不是再name列表中
       name.count('minglong') :对name列表查找有几个'minglong' 返回 1。
       name.index('minglong');查找minglong的索引是多少,返回0。如果有多个minglong 会返回第一个查到到的结果的index。
       name2 = ['cjk','xiaoqiang',2,4]
       name.extend(name2):将name2追加到name列表中
       name.reverse():反过来将元素排序。
       name.cope()浅复制。import copy 模块中有一个deepcopy 它是深复制。区别在于:如果列表中嵌套一个列表的话,对于浅复制产生的列表,嵌套中的列表也会跟着
    原列表改变,而深复制则是完全克隆一个列表,而且2个各自独立。
       len(name):列表的长度,这里是元素数量。
     7.26
       10、元组: name = (1,'qqq',12)  只读列表。
          name.count和name.index就2个应用。。
         
         11.字符串:
         移除空白strip:name = input('username:') ,if name.strip() == 'cao': print('welcome') 默认删除空白符(包括' ', ' ',  ' ',  ' ')。
        分割split:names = 'cao ,cjk,alex'   name2 = names.split(',') 则name2 = ['cao','cjk','alex']将字符串按照’,’分割成列表。
         join将列表中的元素组成字符串:name3 = '|'.join(name2) 则name3 = 'cao|cjk|alex'
         判断有没有空格:name = 'cao fa' ,print('' in name)  返回True
         str.format(): msg = 'hello {name} it's been {time] days since i saw you' msg2 = msg.format(name = 'cjk',time = 30) 或者
    msg = ’hello {0} dddd{1}' msg2 = msg.format('alex',33) 也行的。dic1 = {'name':'alex','age':16}   msg2 = msg.format(**dic1)或者
    list1 = ['alex',18]   msg2 = msg.format(*list1)传递的是list1中的所有元素。
         
         字符串的索引与切片和列表一样:name = 'caofajia' name[0] = 'c'
         str.center(): 如name = 'cao' ,name.center(40,'-') 会生成 '--------cao--------'以cao 为中心的总共四十个字符并以'-'补全。
     
    12、运算符
         12.1 、算数运算符
                  +       -       *       /       //      %       **
         12.2、关系运算符
                 <       <=      >       >=      ==      !=
         12.3、逻辑运算符
                 and     or      not
         12.4、位运算符
                取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)
         12.5  赋值和增量赋值运算符:
                 +=      -=      *=      /=      %=      **=
                 <<=     >>=     &=      ^=      |=   
         12.6  补充:
               复数不能使用关系运算符
                位运算符只能用于整数类型
    13. 死循环:
              while True:print('nihao')
    14.字典: id_db = {
         12:{
               'name':'cao','age':12,'addr':'shandong'
              },
         13:{
               'name':'alex','age':11,'addr':'dongbei'
              }
    }  
           查:id_db[12] 对应键为12的 值为{ 'name':'cao','age':12,'addr':'shandong‘} 
           改:id_db[12]['name'] = 'cjk' 这里将'cao'改为了'cjk'
           删:id-db[12].pop('addr') 删除了 addr对应的键值。
           增:id_db[13]['qq_of_wife'] = 2134 ,在13下面的字典中加入了‘qq_of_wife:2134.
         id_db.get( ):好处就是如果键不存在的话,直接返回 None.
         id_db.update( ): dict1 = {
           13:{ 'name':'shanpao','age':13
                }
           14:{ 'name':'dashanpao','age':21
                }
    } 如果id_db.update(dict1)  则id_db会变为添加了 14这个 并且dict1中的13 覆盖了id_db中的13.
           id_db.items( ) :一般不用于数据量大的字典中,因为他要将字典转化为 list形式,效率慢。
           id_db.values( ) : 显示 值组成的列表。
           id_db.keys( ): 显示 键组成的列表。
          判断键在不在字典中:12 in db_db 返回True。
          id_db.setdefault( ) 和id_db.fromkeys() 一般不用。。。
          循环:for k , v in id_db.items( ):这种效率低,因为要dict转list。
                    for key in id_db:    一般用这种。
                             print(key,id_db[key])
         15. set:无序,不可重复的序列集合。
               表示方法:1. s1 = {11,22,33} 2. set([11,22,33]) 也行,其实是执行的一个for循环生成{11,22,33}。
               添加add: s1.add(44) 添加了一个set中没有的元素。如果重复就不添加。
                clear 和 copy 同 list。
               difference: s2 = {22,33,44} 则s1.difference(s2) 表示s1中存在,s2中不存在的,生成新的对象{11}。
               symmetric_ difference: s1.symmetric_difference(s2) 生成新的{11,44}
               difference_update: s1.difference_update(s2) 将s1变为{11}.这里只要后面有update 的表示将前面的对象s1更新改变。
               移除:1.dicard  s1.dicard(11) 移除11,s1.dicard(11221) 不存在的元素不会报错。
                         2.remove  s1.remove(1123130) 移除不存在的会报错
                         3. pop()  s1.pop() 随机移除并生成一个移除的对象,一般 s3 = s1.pop()。
                intersection: s1.intersection(s2) 求交集生成行的对象{22,33}。
                union: 并集  s1.union(s2)
                批量添加: s1.update([111,222,333,444]) update 接受可以迭代的对象如 list,str,tuple。
  • 相关阅读:
    npm中package-lock.json的作用:npm install安装时使用
    git回退到某个commit
    如何把自己的代码发布到npmjs(npm publish)
    阿里蚂蚁的前端ant-design
    axure产品原型图,元件库导入方法
    react with JSX for {if…else…}
    JavaScript的filter用法
    ES6中的模板字符串---反引号``
    react数组key的唯一性
    Swagger简介,轻松构造restful api的文档
  • 原文地址:https://www.cnblogs.com/cfj271636063/p/5726403.html
Copyright © 2011-2022 走看看