1 __author__ = 'liulin'
2 #1 内容说明:老男孩实践第一天,实现输入的命令让系统执行
3 import os,sys
4 os.system(''.join(sys.argv[1:]))# python 文件 指令 对所有的参数从哪来,去哪儿清楚的很
5
6 #2 列表操作
7 names =['aa','bb','cc','dd']
8 #分片操作,-1 取不到 只是bb
9 print(names[1:-1])
10 #3 后面那个表示步长,必须使用断点调试,通过调试看变量的值,
11 print(names[1::2])
12 names.append('ee')
13 names.insert(2,'ff')
14 age = ['10','20','30']
15 names.extend(age)
16 names_count = names.count(10)
17 names.sort()#排序
18 names.reverse()#翻转
19 index = names.index('10')
20 names
21 #写程序就是要边写边调试,熟悉这种调试的感觉,每天都要来调试一下,看看程序是怎样跑的,
22 name = 'liu lin'
23 #字符串不可修改,修改只是临时的,
24 print(name.capitalize())
25 print(name.center(50,'-'))#这种输出方式最简洁,每天要有500行的代码输出
26 name.encode()
27 print(name.startswith('l'))
28 print(name.find('n'))
29 msg = 'my name is {} and age is {}'
30 print(msg.format('liulin',20))#没用过这种格式化
31
32 names_str = '|'.join(names)
33
34 info = {'stu1101':'liulin',
35 'stu1102':'60',
36 'stu1103':'80'
37 }
38 info['1104'] = '90' # 调试状态可以搜索, 直接找info 就可以了,这样就添加了个字典,添加和修改是一样的
39 # 字典的删除, pop 键值就可以, 可以在调试状态下修改相关的参数
40 info.pop('stu1101')
41 info_1104 = info['1104']
42
43 av_catalog = {
44 "欧美":{
45 "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
46 "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
47 "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
48 "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
49 },
50 "日韩":{
51 "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
52 },
53 "大陆":{
54 "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
55 }
56 }
57 # 分析就是 字典的键-值 又是一个字典 字典名的键 对应的值又是一个字典名
58 print(av_catalog['日韩']['tokyo-hot'][0])
59 # 拿到他所有的key
60 av_keys = av_catalog.keys() #返回的不是一个列表,字典格式
61 av_values = av_catalog.values()#
62 info_item = info.items()#列表里面包含元组,元组的构成是key ,value
63 info_update = {'1104':'100'}
64 info.update(info_update)#通过一个字典去更新另一个字典,就用这个方法
65
66 for k,v in info.items():
67 print(k,v)
68
69 # 集合
70 data_list = [1,1,2,2,3,3]
71
72 t = set(data_list)# 参数是列表,返回的是集合,集合有点像字典哦
73
74 d = {3,4,5,6}
75
76 f = t | d
77 f = t & d
78 f = t - d # 从t 里面扣除d相关的 集合
79
80 t.add('100')#添加100
81 t.update([1000,2000])
82
83 #文件的操作
84 #打开文件得到一个文件句柄,
85 with open('log','r') as f:
86 print(f.readlines())
87 # 匿名函数
88 res = map(lambda x :x**2,[1,2,3])# 这个要循环一下才可以触发
89 for r in res:
90 print(r)
91 #软件目录结构
92 #代码行数不够,自己写个单列模式练练
93 def singleton(cls,*args,**kwargs):
94 instance = {}
95 def _singleton(cls):
96 if cls not in instance:
97 instance[cls] = cls(*args,**kwargs)
98 return instance[cls]
99 return singleton
100 @singleton # 这里注意函数的缩进,空一个tab 写返回
101 class Myclass(object):
102 def __init__(self,name):
103 self.name = name
104 a = Myclass("liulin")
105 b = Myclass('ss')
106 # TypeError: 'NoneType' object is not callable
107 print(id(a))
108 print(id(b))
109 # 今天完成100 行 ,以后每天最少100行 正常状态500行
110