zoukankan      html  css  js  c++  java
  • python_way ,day2 字符串,列表,字典,时间模块

    python_way ,day2 字符串,列表,字典,自学时间模块

    1、input:

    2.0 3.0 区别

    2.0中

    如果要要用户交互输入字符串:

      name=raw_input()

    如果  

       name=input() 是传什么就是对应的什么,想输入字符串需要加 “” 引号,如果要是不加就认为传入的是个变量。 

    a="hahaha"
    user=input("shuru :")
    print(user)

      shuru :a
      hahaha

    3.0中

      只有 input() 了

      所以在input后面有时候需要用方法来判断输入的是字符还是数字

         list.isdigit()  检测输入的字符串内容是否是数字

      list.isalnum()检测输入的字符串内容是否是字符

    2、getpass

      getpass.getpass("passwd")

    3、倒入库

    倒入库:1、没有安装的默认就有的库就是标准库
                  2、需要安装才能倒入的库是第三方库
                    如何安装第三装库:只要安装python 环境就有 pip命令 用pip安装
                    pip install pip uninstall        
                    豆瓣上有中国自己的镜像源。

     import os,sys,time.... ....

    在python中如果用sys模块执行命令,把命令结果赋值后只能存储返回值,如果想要得到执行命令的内容就要用到 popen

      res=os.popen("ipcinfog").read
      print(res)

    自己写的模块有2个地方可以放

    1,当前目录
    2,python\lib\sit-packages | dist-packages:
        系统默认优先倒入的是 当前目录
        还有的系统是放在 dist-packages

    4,pyc是什么鬼

    .pyc 是什么?
      在python程序中如果导入了库则会生成 .pyc的文件,
      python2 会生成到程序的当前目录
      python3 会移到__pycache__里面

     这是因为python程序运行时先编译,后解释,由于先编译所以就先生成了pyc的这个编译文件,然后python的解释器程序在对这个文件进行逐行的解释成机器能读得懂的语言。

    5、数据类型

      type() 查看输入类型

      list

      dict

      整型,长整型,(长整型这个在python3.0中就没有long了)
      布尔值:
      真或假
      
      name[0]  来获取列表中第一个位置的元素,以此类推
      name[-1] 来获取最后一个
      name[0:2] 取值 0 1 两个2个元素,顾头不顾尾
      name[-4:] 从-4 取到最后一个
      name[:5] 取前五个

      list[开头数:结尾数字:步长]  

      修改:name[1]="wangminglong",改名
      插入: name.insert(2,“minggou") 拆入到第三个位置,下标是2
      追加:name.apend()    追加
      删除:name.remove("minggou") 删除  指定元素值
         指定删除下标: name.pop() 默认指定删除最后一个下标
       
        例子 
      a=[1,2,3,4,5]
      a.pop(2)
      print(a,a[2])

     

          把两个列表合到一起:  老表扩展进一个新的列表
          name.extend(name2)
          name.reverse() 反转
          name.sort() 排序   
          python2中如果字符和数字混在一起可以sort排序,但是python3中就不能混到一起排序,但是如果把数字引起来变成字符串就可以了
     
      
          name.copy 不拷贝深层结构
        import copy
          copy.copy  和 name.copy 相同
          copy.deepcopy 会拷贝深层次的数据
     
        deepcopy 一个列表附别名 为一个新名字,改就都变了,
        如果要是 copy.copy 对新值进行修改,原来的就不改

     

    作业题:

          a=[1,2,3,9,4,5,6,7,9,7,4,2,3]

          改掉里面某一个数字

          思路:

               对a里想要改的数值进行循环

               然后每次循环找到他的位置,到了就把这个数字改掉

               for i in len(a.count(9)):  #多少个9就循环多少次

          b=a.index(9)      每次都找到这个9的索引位置

           a[b]=9999       对这个位置进行修改

        字符串:
             移除空白,
             name.strip() 默认脱掉前后的空格,换行符   指定脱掉前面的一个想脱掉的字符
             name.sprit(",") 拆分 拆分变成列表 -------> list
             .join 合起来把列表------》字符串

         

          name.format

           mes=(hello,{name},i am {my}) 

                     mes2=mes.format(name='xiaoming',(my)='daming')

                    mes=(hello,{0},i am {1}).format('xiaoming','daming') 

        name.find('sdfs')查找字符串中的sdfs    ??? 实验不成功呀。

                    

          age.endswith() 以什么结束
          age.startswith() 以什么开始
          upper() 大写
          lower() 小写

    元组:

        功能只能统计,查找
     
      name.format

     字典:

        

      字典:
      字典里面的key 自动去重
    ··  dict.get() 获取到没有的值不报错
    ··  dict[] 没有的值报错
        dict.update() 有的就更新,没有的替换
        dict.items() 把字典转换成列表,但是很费时间。大数据时建议不要做。

         2.0  dict.has_key 3.0没有了  3.0就用 same in dict: 

        

      dict.setdefule(k,v) 如果key有,则取出,没有则加入
      dict.fromkeys([1,2,3,4],"ddd")
      dict.phpitem() 随机删除字典一个对象,建议不要用。

          

     

     

     

    =======================

    自学模块

    time:

    import time

    1,a=time.time() 
    先生成一个时间的标记
    print(a)
    1463628250.9810724

    2,aa=time.localtime(a)
    然后把a这个标记记录成本地时间

    3,最后用strftime 来输出时间 ()里面是输入的格式,这个时间变量
    bb=time.strftime("%Y-%m-%d %H:%M:%S",aa)
    print(bb)
    2016-05-19 11:24:10



    4、将用户输入的自定义时间修改成带有时区格式的日期格式
    import datetime,pytz,time

    #django定义好了request是获取用户请求的关键字
    TZ = pytz.timezone('Asia/Shanghai')

    比如用户输入
    user_time = 2016-05-05 13:30:00
    将用户输入先转变成strtime然后再转变成时间戳
    buystamp = time.mktime(time.strptime(user_time,"%Y-%m-%d %H:%M:%S"))
    然后再转成带有时区的时间对象
    buytime_zone = datetime.datetime.fromtimestamp(buystamp, TZ)

    print(buytime_zone)

    2016-05-05 13:30:00+08:00  这个格式就可以用到要求有时区规定的地方了。







  • 相关阅读:
    APP 元素定位总结(未完待补充)
    vue-axios常见请求配置和全局设置
    vue-axios发送并发请求
    vue-axios基本使用
    vue-vuex-store目录结构
    vue-vuex-modules的基本使用
    vue-vuex-actions的基本使用
    vue-vuex-mutations的类型常量
    vue-vuex-state响应式
    vue-vuex-mutation的提交风格
  • 原文地址:https://www.cnblogs.com/python-way/p/5508130.html
Copyright © 2011-2022 走看看