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