****1221******* package things /*xisu.py /*eat.py /*go_home.py cat go_home.py: import things.fun() things.fun.eat() or: from things.fun import eat eat() 该中写法p3.3 之前不支持 需要单独在things 里添加 __init__.py 文件;里面什么都不写;表面这是一个包 可以引用 p3.3 后也可以这样写: 在 __init__.py 里面: 写 form things.fun import * 在 go_hme.py 可以这样写:from things import eat eat() 好处是我们可能吧 fun 改名了 或者eat 方法放到别的地方去了,只要在things里面,外部我照样调用 1.更友好的封装了对外的接口 2. 我们可以在init 处二次封装下 加些提示、打印 (如装饰器的作用); 或直接在ini里面实现一些共用的方法,然后再再go_home 里调用 *********** 查看自己linux电脑系统的指令 https://jingyan.baidu.com/article/7908e85c725159af481ad2f7.html 1129------------------- import re print '{greet} from {language}.'.format(greet = "Hello world", language = 'Python') Go 语言设计与实现 # 1124---------- 异步是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程 1121---- logging try: except: except: else: finally: logging : import logging def test(): logging.basicConfig(level=logging.ERROR) logging.debug('Python debug') logging.info('Python info') logging.warning('Python warning') logging.error('Python Error') logging.critical('Python critical') # logging.log(3,'test') test() 1120 --- _init __init __init__ 的区别 os.gedwd() oc.chdir(path) -------------- import re str1 = 'kkaabbc' print str1.replace('a','m',1) print str1.replace('a','m',2) print re.sub(r'a','p',str1,2) url='https://sycm.taobao.com/bda/tradinganaly/overview/get_summary.json?dateRange=2018-03-20%7C2018-03-20&dateType=recent1&device=1&token=ff25b109b&_=1521595613462' print re.findall(r'dateRange=(.*?)%7C(.*?)&',url) dic = {'name':'zhg','sex':'man','id':'kk'} b = sorted(dic.items(),key = lambda x:x[1]) print b new_dic = {i[0]:i[1] for i in b} print new_dic s = 'info:xiaozhang 33 shan&gdong' res = re.split(r':| |&',s) print res emails = ['xiaowang@163.com','zhanghoangg@163.com.cn','294588358@qq.com'] for email in emails: # res1 = re.match("(\w){4,20}@163\.com$",email) # res1 = re.compile(r'\w+@163\.com$',email) res1 = re.search(r'\w+@163\.com$',email) if res1: print res1.group() else: print 'not match' str1 = "hello world he ha " print re.sub(r' ','',str1) findall 不需要直接提取 search match 需要加group() 提取 106、python垃圾回收机制 python垃圾回收主要以引用计数为主,标记-清除和分代清除为辅的机制, 其中标记-清除和分代回收主要是为了处理循环引用的难题。 1018——01: __init__: 与 __new__ 的区别:d 1.当创建一个实例的时候 实际先调用的new new 方法创建一个实例 利用实例调用的init init 去实现一些实例的属性 2.new 的作用:当你要集成一些不可变的class(int str tuple),提供你一个自定义这些累的实例化途径 10117-01: with open(filename,"r") as fr: uda_file_read = fr.read() 包含了close ,单纯的open eg: f = open(path/1.txt,'r') try: f.write("hello world") except: pass finally: f.close() 02: sub出现于re库,用法是re.sub(pattern, repl, string, count=0, flags=0) 实例,re.sub(r'e','a','def',count = 1) >>> daf 相对于replace来说,该方法功能更强,但是运行效率更低。 replace是自带函数,用法是str.replace(old, new[, max]) 实例,'abbc'.replace('b','a',1) >>>aabc 对比re.sub来说,replace没有正则的效果,但是运行效率更佳。请在实际应用中根据需求来定制使用方法,不要浪费资源。 03:delate_remark1 = re.compile(r'/\*.*?\*/',re.S) struct_text3 = re.sub(delate_remark1,'',struct_text2) delate_remark2 = re.compile(r'//.*') struct_text = re.sub(delate_remark2,'',struct_text3) import re str1 = 'kkaabbc' print str1.replace('a','m',1) print str1.replace('a','m',2) print re.sub(r'a','p',str1,1) print re.sub(r'a','p',str1,2) 预期打印正常 ---------------------------------- 1017-02: # 列表中的每个元素进行*2 lis = [10, 30, 70] f = map(lambda li: li*2, lis) # 操作lis中的每个元素。 print(list(f)) # 返回来一个新的列表 # [20, 60, 150] 1017——03: from collections import Counter a = 'zhgsdf;dgdfg ' print Counter(a) import re a = '我的nme is 100 个中国人 name id twoo beishu' list1 = a.split(" ") res = re.findall(r'\d+|[a-zA-Z]+',a) list2 = [] for i in list1: if i not in res: list2.append(i) # print list2 print ''.join(list2) dict1 = {"name":23,"city":4,"pill":12} list22 = sorted(dict1.items(),key = lambda i:i[1],reverse = False) print list22 new_dict = {} for i in list22: new_dict[i[0]] = i[1] print new_dict --------------- 1011——01: Unix 操作系统提供一个uptime命令。执行该命令将会显示出系统的当前时间、上线时间、当前的用户数量以及过去1、5、15分钟内的系统负载。下面是一个在Unix系统上运行uptime命令的实例: $ uptime 10:52 PM up 1337 days, 7:45, 3 users, load averages: 0.21, 0.24, 0.23 field = re.search(modifyline,line).group(2) with open(filename,"r") as fr: file_read = fr.read() regex = r"\b{}\b".format(field) result = re.findall(regex,file_read) print result