1.文件操作有哪些模式?请简述各模式的作用

    r   只读模式     r+   读写  rb
w 只写模式 w+ 写读 wb
x 只写模式 x+ 写读 xb
a 追加模式 a+ 写读 ab

2.s = '**hello,world!**'请使用strip方法去掉字符串两端的'*'号

s = '**hello,world!**'
print(s.strip("*"))

3.用户输入一个任意数字n,求1-n之间所有数字中的奇数

def foo(num):
for i in range(1,num+1):
if i %2 != 0:
print(i) if __name__ == '__main__':
input_num = int(input(">>:").strip())
foo(input_num) -------------------------------------------- input_num = int(input(">>:").strip()) print(list(range(1,input_num,2)))

4.s = 'hskakhlkshfkskjakf',请去除s字符串中重复的字母

s = 'hskakhlkshfkskjakf'
s_bak = ""
for i in s:
if s.count(i) == 1 :
s_bak += i
else:
pass
s = s_bak
print(s)

5.思考题:

  有一个类的init方法如下:
  class Person:
    def __init__(self,name,age,sex,weight):
      self.name = name
      self.sex = sex
      self.age = age
      self.weight = weight
  假设有100个person的对象,
  若两个对象的obj1,obj2的name和sex属性相同
  即obj1.name==obj2.name and obj1.sex==obj2.sex
  我们认为两个对象为同一个对象,已知一个列表中的100个对象,对这100个对象进行去重。
  提示:
  重写Person类重的两个内置方法

class Person:
def __init__(self,name,age,sex,weight):
self.name = name
self.sex = sex
self.age = age
self.weight = weight def __eq__(self,obj):
if self.name == obj.name and self.sex == obj.sex:
return True def __hash__(self):
return (self.name,self.sex).__hash__() a1 = Person("alex",18,"male",60)
a2 = Person("alex",30,"male",60)
print(set([a1,a2]))

1.线程,进程,协程的区别?

进程是一个资源单位
线程是一个执行单位
协程在一个线程下工作,由用户自己控制,可以实现并发功能

2 GIL是什么,对于python有什么影响?

是一个解释器锁
同一时刻一个cpu只能运行一个线程,提高了内存安全

3 基于对列实现一个生产者消费者模型,要求:队列内元素不能超过5个,一旦有五个元素了,生产者不再生产,其他内容自由扩散

import queue,threading,time

q = queue.Queue(maxsize = 5)

def producer():
num = 1
while True:
if not q.full():
q.put(num)
print("put",num)
num = num +1 def consumer():
while True:
if not q.empty():
print("get",q.get()) p1 = threading.Thread(target=producer)
c1 = threading.Thread(target=consumer) p1.start()
c1.start()

  

  

python 结束练习的更多相关文章

  1. Python——结束语句

    条件语句: break 结束语句,表示达到某个目的后,将结束当前循环语句,break以下的代码都不执行.例如: for i in range(10): print("--------&quo ...

  2. Python结束当前运行的代码

    import sys print(0) print(1) print(2) # 到此结束运行 sys.exit() # 已结束,以下不会执行 print(4) print(5)

  3. Python实用工具包Scrapy安装教程

       对于想用每个想用Python开发网络爬虫的开发者来说,Scrapy无疑是一个极好的开源工具.今天安装之后觉得Scrapy的安装确实不易啊.所以在此博文一篇,往后来着少走弯路. 废话不多说了,如果 ...

  4. python之路 - 基础2

    1.导入模块 import 模块名 form 模块名 import 模块中的函数 可以将模块放入同级目录中,也可以将模块放入site-packages目录中 import sys print (sys ...

  5. 【原创】控制perl和python脚本执行过程中脚本文件是否关闭的方法

    引子 跟踪perl和python脚本对文件的访问,实际过程中,perl和python解析器在解析完脚本后,直接关闭了 脚本文件,在进程中查询不到是访问文件的脚本文件名称. shell.perl和pyt ...

  6. Python学习笔记(十四):模块高级

    以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-23 21:30 学习笔记 1,包导入是把计算机上的 ...

  7. Python虚拟机框架

    Python字节码 我们知道,Python源代码在执行前,会先将源代码编译为字节码序列,Python虚拟机就根据这些字节码进行一系列的操作,从而完成对Python程序的执行.在Python2.5中,一 ...

  8. 《python解释器源码剖析》第9章--python虚拟机框架

    9.0 序 下面我们就来剖析python运行字节码的原理,我们知道python虚拟机是python的核心,在源代码被编译成字节码序列之后,就将有python的虚拟机接手整个工作.python虚拟机会从 ...

  9. 《python解释器源码剖析》第8章--python的字节码与pyc文件

    8.0 序 我们日常会写各种各样的python脚本,在运行的时候只需要输入python xxx.py程序就执行了.那么问题就来了,一个py文件是如何被python变成一系列的机器指令并执行的呢? 8. ...

随机推荐

  1. Ark组件[转]

    Ark组件简介 Ark组件是基于.NET 4.0框架开发的基础组件,封装了一些常用的功能方法,并提供了若干程序开发的基础框架. HttpSession简介 HttpSession是Ark组件中负责HT ...

  2. NOIP2016Day2T3愤怒的小鸟(状压dp) O(2^n*n^2)再优化

    看这范围都知道是状压吧... 题目大意就不说了嘿嘿嘿 网上流传的写法复杂度大都是O(2^n*n^2),这个复杂度虽然官方数据可以过,但是在洛谷上会TLE[百度搜出来前几个博客的代码交上去都TLE了], ...

  3. JavaScript中的valueOf与toString方法

    基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题. JavaScript 的 valueOf() 方法 valu ...

  4. PowerDesigner 技巧【2】

    去掉Oracle生成的SQL创建语句中的双引号 用powerdesigner导出orale数据库的建表sql时,默认会给表名和字段名加上双引号,如下图: 这样给操作数据库带来很大的不便,解决的办法是设 ...

  5. 使用PowerDesigner建模

    一.使用PowerDesigner建模 在数据库概念设计中已经分析了本系统中主要的数据应实体对象,通过这些实体可以得出数据表结构的基本模型,最终实施到数据库中, 形成完整的数据结构.本系统将使用Pow ...

  6. mysql的select的五子句

    转: http://www.cnblogs.com/billyu/p/5033167.html http://www.cnblogs.com/xiadong90-2015/p/4222965.html ...

  7. AppWidget学习总结

    AppWidget学习总结 一.创建AppWidget.    1.在res/xml下创建一个xml文件,以设置widget占用的空间等信息.如widget_provider.xml        & ...

  8. POJ 3421分解质因数

    X-factor Chains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7375   Accepted: 2340 D ...

  9. javascript中不易分清的slice,splice和split三个函数

    1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...

  10. emoji表情处理研究

    http://blog.csdn.net/qdkfriend/article/details/7576524