python题目(1)

这篇博客详细介绍了22个Python编程基础问题,涵盖了is和==的区别、文件操作、字典创建、*args和**kwargs、正则表达式、文件路径获取、列表去重、装饰器、日期计算、列表排序、字典推导式等多个核心概念,是学习Python的宝贵资源。
摘要由CSDN通过智能技术生成

目录

 

1、python中is和==的区别

2、简述read、readline、readlines的区别

3、举例说明创建字典的至少两种方法

4、*args,**kwargs的作用是什么?如何使用? 

5、python中match()和search()的区别?

6、一个函数接收文件夹的名称作为参数,返回该文件中所有文件的全路径

7、阅读下面的代码,写出A0,A1至An的最终值

8、请写一段代码实现Python中list去重。

9、创建一个装饰器将下面函数输入的字符串首字母大写。

10、描述yield作用。

11、装饰器。 

12.输入日期, 判断这一天是这一年的第几天?

13.打乱一个排好序的list对象alist?

14.现有字典 d= {'a':24,'g':52,'i':12,'k':33}请按value值进行排序?

15.字典推导式

16.下面代码的输出结果将是什么?

17.写一个列表生成式,产生一个公差为11的等差数列

18.给定两个列表,怎么找出他们相同的元素和不同的元素?如何合并两个列表,且列表中没有重复元素?

19.请写出一段python代码实现删除list里面的重复元素?

20.python新式类和经典类的区别?

21.python中内置的数据结构有几种?

22.python如何实现单例模式? 


1、python中is和==的区别

Python中对象包含的三个基本要素,分别是:id(身份标识) 、type(数据类型)和value(值)。

‘==’比较的是value值

‘is’比较的是id

>>> x=[1,2,3]
>>> y=[1,2,3]
>>> id(x)
50365000
>>> id(y)
50215304
>>> x is y
False
>>> x==y
True

 

2、简述read、readline、readlines的区别

read读取整个文件

readline该方法每次读出一行内容

readline() 方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。

readlines方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存

 

3、举例说明创建字典的至少两种方法

# 1

dict1 = {key1:v1,key2:v2}

# 2

dict2 = {}

dict2[key1] = v1

dict2[key2] = v2

# 3

dict3 = dict(key1=v1,key2=v2)

 

4、*args,**kwargs的作用是什么?如何使用? 

*args和**kwargs通常使用在函数定义里,*args允许函数传入不定量个数的非关键字参数,**kwargs允许函数传入不定量个数的关键字参数。

 

5、python中match()和search()的区别?

match():只检测RE是不是在string的开始位置匹配。

search():会扫描整个string查找匹配

match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。

 

6、一个函数接收文件夹的名称作为参数,返回该文件中所有文件的全路径

os.walk() 方法可以创建一个生成器,用以生成所要查找的目录及其子目录下的所有文件。

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】

import os
def walk_folder(spath):
    for root, dirs, files in os.walk(spath, topdown=False):
        for name in files:
            print(os.path.join(root, name))
        for name in dirs:
            print(os.path.join(root, name))

执行结果示例

D:\final_lib1\cpf_lib\test.py
D:\final_lib1\cpf_lib\test.pyc
D:\final_lib1\cpf_lib\__init__.py
D:\final_lib1\cpf_lib\__init__.pyc
D:\final_lib1\__init__.py
D:\final_lib1\cpf_lib

7、阅读下面的代码,写出A0,A1至An的最终值

1.A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))

{'a':1,'b':2,'c':3,'d':4,'e':5}

 2.A1 = range(10)

 [0,1,2,3,4,5,6,7,8,9]

3.A2 = [i for i in A1 if i in A0]

[]

4.A3 = [A0[s] for s in A0]

 [1,2,3,4,5]

5.A4 = [i for i in A1 if i in A3]

 [1,2,3,4,5]

8、请写一段代码实现Python中list去重。

#方法1
list1 = [1,1,2,3,3,4]
list1 = list(set(list1))

#方法2
list1 = [1,1,2,3,3,4]
list2=[]
for i in list1:
    if i not in list2:
        list2.append(i)

#方法3
list({}.fromkeys(list1).keys())

#方法4
按照索引再次排序

orgList=[1,0,3,7,7,5]

formatList=list(set(orgList))

formatList.sort(key=orgList.index)

print(formatList)

结果:
[1,0,3,7,5]

顺便说明下: list.sort中key参数的用法

# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
 
# 列表
random = [(2, 2), (3,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值