Python题库(100例)第一天_python标准库例题

102 阅读4分钟
sum = 0
for i in range(1,n+1):
    sum += i
return sum

num=int(input("请输入项数 \n")) print("%d项数的和为%d" %(num, sum(num)))

"""拓展2、 求1到100的奇偶数和""" k = 100 sumj = 0 sumo = 0 for i in range(1, k+1): if i % 2 == 0: sumj += i else: sumo += i print("1...100之间的奇数之和为: {0} ,偶数之和为:{1}".format(sumj, sumo)) print("1...100之间的奇数之和为: %d ,偶数之和为: %d" %(sumj, sumo))

"""拓展3、 求1到100的奇数平方和,偶数平方和"""

j = 100 sumj = 0 sumo = 0 for i in range(1, k+1): if i % 2 == 0: sumj += i*i else: sumo += i*i print("1...100之间的奇数之和为: {0} ,偶数之和为:{1}".format(sumj, sumo)) print("1...100之间的奇数之和为: %d ,偶数之和为: %d" %(sumj, sumo))


**薄弱知识点1:print 函数。**


2、如何在一个函数内部修改全局变量



k = 1 l = 100 def fun(): global k,l k = 2 l = 8 fun() print("k在函数内修全局修改之和的值为 %d" %k) print("l在函数内修全局修改之和的值为 %d" %l)


3、列出5个python标准库



requests 描述:网络请求库,提供多种网络请求方法并可定义复杂的发送信息 urllib 描述:Python自带的库,简单的读取特定URL并获得返回的信息 scapy 描述:分布式爬虫框架,可用于模拟用户发送、侦听和解析并伪装网络报文,常用于大型网络数据爬取 pymysql 描述:MySQL连接库,支持Python3 HappyBase 描述:HBase连接库


4、字典如何删除键和合并两个字典



dict1 = {'name': 'xiaoming', 'likes': 123, 'url': 'www.xiaoming.com'} del dict1["name"] print(dict1) dict1["name"]="小明" print(dict1) print("dict1[name]: ", dict1["name"]) dict2 = {'name1': 'believer', 'likes1': 123456, 'url2': 'www.believer.com'}

"""合并方法 1 """ dict3 = dict1.copy() dict3.update(dict2) print(dict3)

print("分割线++++++++++++++++++++++++++++++++++++++++++++++++++")

"""合并方法 2 """ dicMerged = dict(dict1, **dict2) print(dicMerged)


5、谈下python的GIL


* **GIL 是python的全局解释器锁**,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
* **多进程中因为每个进程都能被系统分配资源**,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大。


6、python实现列表去重的方法



"""1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集""" orgList = [1, 0, 3, 7, 7, 5] #list()方法是把字符串str或元组转成数组 formatList = list(set(orgList)) print (formatList)

"""2. 使用keys()方法""" orgList = [1, 0, 3, 7, 7, 5] #list()方法是把字符串str或元组转成数组 formatList = list({}.fromkeys(orgList).keys()) print(formatList)

"""3. 循环遍历法""" orgList = [1, 0, 3, 7, 7, 5] formatList = [] for id in orgList: if id not in formatList: formatList.append(id) print(formatList)

"""4. 按照索引再次排序""" orgList = [1, 0, 3, 7, 7, 5] formatList = list(set(orgList)) formatList.sort(key=orgList.index) print(formatList)


7、fun(*args,\*\*kwargs)中的*args,\*\*kwargs什么意思?


当不定数量的参数传递给一个函数时可以使用\*args与\*\*kwargs


* \*args是用来发送一个键值对可变数量的参数列表给一个函数,意思就是没有key值。
* \*\*kwargs将不定长度的键值对,作为参数传递给一个函数。意思就是有key值。


8、python2和python3的range(100)的区别


* **python2返回列表**
* **python3返回迭代器,节约内存**


9、一句话解释什么样的语言能够用装饰器?


* **利用闭包的基本原理,对一个目标函数进行装饰,即在执行一个目标函数之前或之后执行一些特定的事情**


10、python内建数据类型有哪些?


* 整型–int
* 布尔型–bool
* 字符串–str
* 列表–list
* 元组–tuple
* 字典–dic