码迷,mamicode.com
首页 > 编程语言 > 详细

python基础1.4

时间:2018-10-13 21:42:49      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:san   区别   假设   sel   一句话   操作   正则   div   元素   

一.小练习

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

标签:san   区别   假设   sel   一句话   操作   正则   div   元素   

原文地址:https://www.cnblogs.com/845902050tsb/p/9784021.html

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