码迷,mamicode.com
首页 > 其他好文 > 详细

2.16

时间:2018-02-16 21:19:13      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:find   targe   不可变类   线程   default   斐波那契数列   print   set   第三方库   

1.简要描述GIL对Python性能的影响

#GIL本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都一样,都是将并发运行变成串行,
# 以此来控制同一时间内共享数据只能被一个任务所修改,进而保证数据安全。有了GIL的存在,同一时刻同一进程中只有一个线程被执行
#但是对于计算来说cpu越多越好,由于GPL的存在,我们无法利用多核优势,对于计算来说GPL存在影响了一定的性能
#但是我们大多数情况下都是I/O比较多,对于I/O来说再多的CPU有没有用,所以在I/O比较多的情况下,GPL对Python的性能影响较小

2.Python斐波那契数列1,2,3,5,8,13,21......根据这样的规律,编程求出400万以内的最大斐波那契数列?

def fib_n(n):
    a, b = 0, 1
    result = []
    for i in range(n):
        result.append(b)
        a, b = b, a+b
    return result
res=fib_n(40000000)
print(res)

3.要求一段代码,实现两个字典相加,不同的key对应的值保留,相同的key对应的值相加后保留,如果是字符串就拼接

a={a:1,b:2,c:3,d:4,f:hello}
b={b:3,d:5,e:7,m:8,m:word}
#要求一段代码,实现两个字典相加,不同的key对应的值保留,相同的key对应的值相加后保留,如果是字符串就拼接
for k in  a:
   if k in b:
       b[k]=a[k]+b[k]
   else:
       b[k]=a[k]
print(b)

4.从输入一个url到展示页面经历了什么

1、输入地址
2、浏览器查找域名的 IP 地址  
3、浏览器向 web 服务器发送一个 HTTP 请求
4、服务器的永久重定向响应
5、浏览器跟踪重定向地址
6、服务器处理请求
7、服务器返回一个 HTTP 响应 
8、浏览器显示 HTML
9、浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等)

5.http状态码有什么用,列出 你知道的状态码,然后都讲出他们表示什么意思?

http://tool.oschina.net/commons?type=5

6.python主要数据类型有哪些,那些是可变的,那些是不可变的?

#数字  不可变类型
#字符串  不可变类型
#列表   可变类型
#元祖  不可变类型
#字典   可变类型
#集合   可变类型

7.什么是可变数据类型,什么是不可变数据类型?

可变类型:在id不变的情况下,value可以变
#在Python中如何抛出,捕获、处理异常
可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间) 

8.在Python中如何抛出,捕获、处理异常

#raise关键字:手动抛出一个通用的异常类型(Exception)
#捕获异常try..except..else

9.详细说说list,tuple,dict,的用法,特点

#1.list,有序 可变数据类型
# 切片,
# 追加 append,
# 删除 pop , remove ,
# 长度 len,
# 包含 in,
# 插入 insert
# 列表链接 extend
# 清空 clear
# 赋值 copy
# 倒置 reverse

#tuple 不可变数据类型 可做字典的key 有序
#方法和list差不多

#字典 无序 可变数据类型
#取 dic[‘a‘]=aa   get
#pop:key存在则弹出值,不存在则返回默认值,如果没有默认值则报错
#删除  pop() popitem()
## print(info_dic.keys())
# print(info_dic.values())
# print(info_dic.items())
#长度 len
#包含 in
#update 有就更新 没有就添加
#setdefault:key不存在则设置默认值,并且放回值默认值
#fromkeys
#  d=info_dic.fromkeys((‘name‘,‘age‘,‘sex‘),None)
# print(d)
# d1=dict.fromkeys((‘name‘,‘age‘,‘sex‘),None)
# d2=dict.fromkeys((‘name‘,‘age‘,‘sex‘),(‘egon‘,18,‘male‘))
# print(d1)
# print(d2)

10.python是如何进行内存管理的?

https://www.cnblogs.com/wangyuhangboke/p/7802253.html

python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。

11.python的程序会内存泄露吗?说一说怎么方面阻止或检测内存泄露?

http://www.jb51.net/article/64745.htm

12 关于Python程序的运行性能方面,有什么手段能提升性能?

#1.让关键代码依赖于外部包
#2.排序时使用键(key)
#3.优化循环
#4.使用较新版本的Python
#5.尝试多种编码方法
#6.交叉编译应用程序

http://www.jb51.net/article/63166.htm

13.简单实现一个stack

#堆栈:先进后出,后进先出
# l=[]
# #入栈
# l.append(‘first‘)
# l.append(‘second‘)
# l.append(‘third‘)
# #出栈
# print(l)
# print(l.pop())
# print(l.pop())
# print(l.pop())

14.输入某年某月某日判断这一天是这一年的第几天

year=int(input(请输入年:))
month=int(input(请输入月:))
day=int(input(请输入天:))
sum=day
days = [31,28,31,30,31,30,31,31,30,31,30,31]
i=0
if ( year%4 == 0 and year%100 != 0) or (year%400 == 0):
  days[1] = 29
while i< month-1:
  sum=sum+days[i]
  i+=1
print(这一天是该年的第,sum,)

15.如何删除一个list中的元素,如何删除dict中的一对kv

a=[1,2,3,4,5]
# a.pop(1)
# print(a)

# a.remove(3)
# print(a)
d={a:1,b:2,c:3}
print(d.popitem())
print(d)

16.如何查找字符串中的特定字符?Find()和index有什么不同?

s=dssadughsgg
#print(s.find(‘e‘))#-1
#find 找到查找字符的位置,找不到就返回-1

print(s.index(v))#找不到就报错

17.Python常用的第三方库

http://blog.csdn.net/qq_33610643/article/details/53444130

 

2.16

标签:find   targe   不可变类   线程   default   斐波那契数列   print   set   第三方库   

原文地址:https://www.cnblogs.com/ctztake/p/8450472.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!