Python【每日一问】31】的更多相关文章

题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python_spider_learn/tree/master/python_daily个人博客地址:https://wjsaya.github.io第 0012 题: 敏感词文本文件 filtered_words.txt,里面的内容 和 0011题一样,当用户输入敏感词语,则用 星号 替换,例如当用户输入「北…
#coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} max = 0 marked_key = '' #计算每个单词出现的次数 for word in words: if dic.has_key(word) is False: dic[word] = 1 else: dic[word] = dic[word] +1 #每个字典的值之间做比较,得出最大的那个…
python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: a,b可以为数字(包括复数) 版本: 在python2.3版本之前不允许处理复数,这个大家要注意一下 英文说明: Take two (non complex) numbers as arguments and return a pair of numbers consisting of their…
坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探索 Android 的 Handler 的文章,主要讲述的是 Handler 的原理相关面试题,然后简单地给与了一些结论.没想到两年过去,我又开启了 面试系列 的翻版 每日一问 专题,而这一次的卷土重来,只是为了通过源码来探知我们平时可能忽略掉的细节. 我们在日常开发中,总是不可避免的会用到 Han…
这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了本系列的「短平快」,今天我们就来第一个主角:volatile. 保证内存可见性 前面我们讲到:Java 内存模型分为了主内存和工作内存两部分,其规定程序所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存中保存了该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(赋值.读取等…
昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前,我们一定得确定哪些是活着的对象,又有哪些是可以进行回收的. 判断对象是否存活方式 引用计数算法 对应判断一个对象是否可以回收,我想引用计数一定是最容易被想到的算法了吧.给每个对象加一个引用计数器,每当有一个地方引用它时,计数器就加 1,引用失效后减 1,当对象的计数器为 0,则说明这个对象可以被回…
对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员,却总是会因为虚拟机的自动内存管理机制而忽视内存管理的重要性. 经过前面简短的几篇纯 Android 问题,我想再给大家掺杂一点可能平时你并没有太多关注的东西.其实写这个的时候我相当纠结,因为对于大多数 Android 开发来说,他们会更加注重实质性的技能提升,而不是我今天将要讲的 Java 虚拟机…
前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们在前面的 每日一问:谈谈对 MeasureSpec 的理解 把 MeasureSpec 的重点进行了讲解,其实另外一个 LayoutParams 同样是非常非常重要. 从概念讲起 LayoutParams,顾名思义,就是布局参数.而且大多数人对此都是司空见惯,我们 XML 文件里面的每一个 View…
Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追求短平快,所以本文笔者尽量精简. 想必大多数 Android 开发都知道自定义 View 需要关注的几个方法:onMeasure().onLayout() 和 onDraw(),这其实也是每个 View 至关重要的绘制流程. 基本绘制都是会从根视图 ViewRoot 的 performTravers…
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def countCode(path): if not os.path.exists(path): print('路径不存在!') else: fileNameList = os.listdir(path) for fileName in fileNameList: nbspCount = 0 commentCoun…
留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问题吧\(|(*′口`)\) 最近找到了一本能系统学习Flask的书,看在后续学习的过程中能不能解决这个问题吧,哎,好菜啊\(_〆(´Д` )\) 不过这次练习还是学习到了不少新知识,对Flask有了新的认识,所以还是在这里继续记录一下 Flask连接Mysql 我最早看到的实验楼做的Flask的一个…
引言 Python每日一练又开始啦,今天的专题和Excel有关,主要是实现将txt文本中数据写入到Excel中,说来也巧,今天刚好学校要更新各团支部的人员信息,就借此直接把事情做了 主要对于三种数据类型处理,字典型,字符串,列表 使用的库有xlwt,json,主要做的操作有文件读取,数据读取以及生成xls文件(保存xlsx,会打不开) 字典型数据 实现分析:将文本文件读取,然后用json读取为标准形式数据,即易于人阅读和编写的数据,最后实例化一个xls,对其写入数据,生成文件 代码实现: # -…
引言 今天继续是python每日一练的几个专题,主要涵盖简单的敏感词识别以及图片爬虫 敏感词识别 这个敏感词的识别写的感觉比较简单,总的概括之后感觉功能可以简略成if filter_words in xxx,即一个简单的匹配 不过这次练习又学到一句比较好的语句,之前我构造类似敏感此种这种列表时,通常的操作都是先将文本复制进notepad++,然后手动修饰成符合的列表样式 但现在我们可以这样做,就能简单的完成这个操作了. with open('C:/Users/xxx/Desktop/filter…
问: [基础题]:有 n 个人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数) ,凡报到 3 的人退出圈子,问最后留下的是原来第几号的那位. (n由键盘输入,比如n=100) [提高题]:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三.第四.第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 答: [基础题]:有 n…
问:请介绍一下Python中的 import 机制 答: import 语句结合了两个操作:1.它先搜索指定名称的模块 2.将搜索结果绑定到当前作用域中的名称. 如果指定名称的模块未找到,则会引发 ModuleNotFoundError 导入方法: (1)# 导入一个模块 import model_name (2)# 导入多个模块 import module_name1, module_name2,... (3)# 导入模块中的指定的属性.方法(不加括号).类 from moudule_name…
问:请简述一下python的GIL 答:GIL 锁,全局解释器锁,仅在CPython解释器中,作用就是,限制多线程同时执行,保证同一时间内只有一个线程在执行.…
问:请分别写一段Python代码实现一下功能: (1)计算一个文件中的大写字母数量 (2)输入中文,返回相应的拼音,并写入文件中 答: (1)计算一个文件中的大写字母数量 file_name = "upper.txt" with open(file_name,"r+",encoding="utf-8") as f: contents = f.read() count = 0 for char in contents: if char.isuppe…
问:简述Python文件打开模式 r. w. a. r+.w+.a+之间的区别 答: 1.只读模式 r 文件存在:只读打开,只能执行读操作 文件不存在:报错 # ######## 只读模式r ######## filename = "file_test1" # 打开文件 f = open(filename, "r", encoding="utf-8") # 读文件 print(f.read()) # 关闭文件 f.close() 2.只写模式 w…
问:请解释一下Python 中的 pass 语句.continue.break有什么作用?并辅以代码说明 答: 1.pass :pass是空语句,是为了保持程序结构的完整性.通常用于不知道接下来代码应该写什么,而采用的辅助性代码,保证代码的完整性而不会报错. if a > b: pass else: pass # 当我们有了大概的思路,可以用pass来做占位符 2.break (1)用于 while 和 for 循环中 (2)用于完全结束一个循环,跳出循环体 不管是哪种循环,一旦在循环体中遇到…
问:a =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],求出列表a中所有奇数并构造新列表 答: 利用列表的元素下标遍历列表 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 创建一个空列表b b = [] # 遍历列表的元素下标 for i in range(0, len(a)): if a[i] % 2 == 1: # 判断是否是元素是否是奇数 b.append(a[i]) # 使用 append()方法将符合条件的元素追加到列表b中 print…
问: [基础题]:简述Python的异常处理机制[提高题]:请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 答: [基础题]:简述Python的异常处理机制 Python的异常处理机制: try: 尝试抛出异常; raise: 引发异常; except: 处理异常; finally: 是否发生异常都需要做的事情; 创建新的异常类型, 需要继承Exception类, 可以定义类的属性, 便于…
问: [基础题1]: 请解释一下 if __name__ == '__main__' :的作用 [基础题2]:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. PS: Monday 周一 Tuesday 周二 Wednesday 周三 Thursday 周四 Friday 周五 Saturday 周六 Sunday 周日 [提高题]:打印出所有的“水仙花数” PS:所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身.例如: 153 是一个“水仙花数…
问: [基础题]:判断 101-200 之间有多少个素数,并输出所有素数 PS:素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数 [提高题]:输入某年某月某日,判断这一天是周几?(不能用库) 答: [基础题]:判断 101-200 之间有多少个素数,并输出所有素数 PS:素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数 方法1: prime_number_list = [] for i in range(101, 201): for j in range(…
问: [基础题]:请解释新式类跟经典类,并说明它们的区别[提高题]:请解释Python垃圾回收机制 答: [基础题]:请解释新式类跟经典类,并说明它们的区别 1.新式类都是继承内置 object 对象(或者是从内置类型,如list.dict等),经典类不需要,直接声明. # 经典类 class A: pass # 新式类 class B(object): pass 2.新式类的MRO(method resolution order 基类搜索顺序)算法采用的是C3算法.从左到右.广度优先搜索,而经…
问:简述with方法打开处理文件实际上做了哪些工作 答: filename= "test.txt" with open(filename, "w", encoding="utf-8") as f: f.write("test code") 相当于 filename= "test.txt" file = open(filename,"w") try: file.write("te…
问:请解释一下装饰器的本质.功能 答: 1.装饰器的本质:闭包函数 2.装饰器的功能:在不改变函数本体结构.调用方法的情况下,给函数添加额外的功能 3.装饰器的实现方式 装饰器的实现方式一般是: def inter(f): def outer(): pass #新增功能代码块 return outer 然后在需要增加功能的函数上方加上 @ inter @inter def test1(): pass @inter def test2(name): pass #不改变函数的调用方式 test1()…
问:请解释线程.进程.协程 答: [定义] 进程 进程:一个运行的程序(代码)就是一个进程,进程是系统资源分配的最小单位.进程拥有自己独立的内存空间,多个进程间资源不共享 线程 线程:调度执行的最小单位,也叫执行路径,不能独立存在,依赖进程存在.一个进程里至少有一个线程,叫主线程,一个进程里所有线程共享资源(数据共享,共享全局变量),从而极大地提高了程序的运行效率. 协程 协程:又称微线程,是一种用户态的轻量级线程,协程的调度完全由用户控制.协程的本质是个单线程. [资源共享是否共享] 进程 进…
问: 请简单说明一下以下代码的执行过程以及最终的输出结果 def fib(max): n, a, b = 0, 0, 1 while n < max: yield b a, b = b, a + b # 相当于 t=(b,a+b),a = t[0],b = t[1] n = n + 1 f = fib(10) print("== start ==") print(f.__next__()) print(f.__next__()) print(f.__next__()) 代码的执行…
问:请解释一下迭代器 答:可以被 __next__() 函数调用并不断返回下一个值的对象称为迭代器:Iterator…
问:请解释使用 *args 和 **kwargs 的含义 答: *args:可变参数,表示将实参中按照位置传值,多余的值都给 args,多余的实参被打包成 tuple(元组),然后传递给函数调用 # 定义函数 def func(a,b,*args): pass func(1,2,c,d,e) # 1被赋值给a,2被赋值给b, # c,d,e被打包成元组,存在args中 **kwargs:关键字参数,表示形参中按照关键字传值,多余的值(以 k=v 的 形式)都给 kwargs,多余的关键字实参被打…