python基础1.4
Posted 845902050tsb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础1.4相关的知识,希望对你有一定的参考价值。
一.小练习
1.
s = ‘132a4b5c‘ s1 = s[0]+s[2]+s[1] print(s1)
2.使用while和for循环分别打印字符串s=’asdfer’中每个元素。
s = ‘fkld‘ # for i in s: # print(i) # index = 0 # while 1: # print(s[index]) # index += 1 # if index == len(s):break
3.如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
‘‘‘ #多个数字相加 content = input("请输入:").strip() conl = content.split(‘+‘) #print(conl) num = 0 for i in conl: num +=int(i) print(num) ‘‘‘ #两个数字相加 content = input("请输入:").strip() index = content.find(‘+‘) a = int(content[0:index]) b = int(content[index+1:]) print(a + b)
4.咱们任意输入一串文字+数字 统计出来数字的个数
‘‘‘ s = input("请输入:") count = 0 for i in s: if i.isdigit(): count += 1 print(count) ‘‘‘
二.一些面试题(每天积累)
1.求1到100的和
from math import sqrt c =sum(range(1,100)) print(c)
2.如何在一个函数内部修改全局变量
利用global 修改全局变量
a = 5 def fn(): global a a = 4 fn() print(a)
3.列出五个python标准库
os:提供了不少与操作系统相关联的函数
datatime:处理日期时间
math:数学运算
re:正则匹配
sys:通常用于命令行参数
4.字典如何删除键和合并两个字典
#del和update方法 dic = {"name":"zhangsan","age":18} del dic["name"] print(dic) dic2 = {"name":"lisi"} dic.update(dic2) print(dic)
5.谈下python的GIL
GIL是python的全局解释器锁,同一进程中假设有多个线程,
一个线程在运行python程序时会霸占python解释器(加了一把锁即GIL),
使该进程中其它线程无法运行,等改线程运行完后其他线程才能运行。
如果线程运行过程中遇到耗时操作,则解释器解开,使其它线程运行。
所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
多进程中因为每个进程都能被系统分配资源,详单与每个进程都有一个
python解释器,所以多进程可以实现多个进程同时运行,缺点是进程系统资源开销大
6.python实现列表去重的方法
list1 = [11,12,13,14,15,11] a = set(list1) b = list(a) print(b) list2= [11,12,13,14,15,11] def fun(one_list): return list(set(one_list)) f =fun(list2) print(f)
7.fun(*args,**kwargs)中的*args,**kwargs什么意思?
*args,**kwargs主要用于函数定义。你可以将不定数量的参数传递给一个函数。
这里的不定的意思是:预先并不知道,函数使用者会传递多少个参数给你,
所以在这种情况下使用这两个关键字。
*args是用来发送一个非键值对的可变数量的参数列表给一个函数。
**kwargs允许你将不定长度的键值对,作为参数传递给一个函数。
如果你想在一个函数里处理带名字的参数,应该使用**kwargs
8.python2和python3的range(100)的区别
python2返回列表,python3返回迭代器,节约内存
9.一句话解释什么样的语言能够用装饰器?
函数可以作为参数传递的语言,可以使用装饰器
10.python内建数据类型有哪些
int:整形
bool:布尔型
str:字符串
list:列表
tuple:元祖
dict:字典
11.简述面向对象中__new__和__init__区别
#参考网址:https://baijiahao.baidu.com/s?id=1609386059712096379&wfr=spider&for=pc
1.__int__是初始化方法,创建对象后,就立刻被默认调用,可接受参数
2.__new__至少要有一个参数cls,代表当前类,此参数在实例化时由python解释器自动识别
3.__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__
时要特别注意,可以return父类(通过super(当前类名,cls))__new__
出来的实例,或者直接是object的__new__出来的实例
4.__init__有一个参数self,就是这个__new__出来的实例,__init__在__new__
的基础上可以完成一些其它初始化的动作,__init__不需要返回值
5.如果__new__创建的是当前类的实例,会自动调用__init__函数,通过return
语句里面调用的__new__函数的第一个参数是cls来保证是当前类的实例,如果是其他类的类名,
那么实际创建返回的就是其他类的实例,其实就不会调用当前类的__init__函数,
也不会调用其他类的__init__函数
以上是关于python基础1.4的主要内容,如果未能解决你的问题,请参考以下文章