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

时间:2022-08-23 07:27:35

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  这个格式就可以用到要求有时区规定的地方了。