1.字符串
- 题目1:怎么找出序列中的最⼤最⼩值?
方法:使用内置函数max()和min()。
print(max([x for x in range(5)]))
print(min([x for x in range(5)]))
l=(233,456,445)
print(max(l))
print(min(l))
- 题目2: 怎么将字符列表转为字符串?
方法一:
list1=['hello','world']
str1=list1[0]
str2=list1[1]
print(str1+' '+str2)
方法二: 使用join方法,合并序列的元素,推荐!!!
功能:join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:string.join()
list1=['hello','world']
str1=' '.join(list1)
print(str1)
- 题目3:怎么快速打印出包含所有 ASCII 字⺟(⼤写和⼩写)的字符串?
import string
string.ascii_letters
- 题目4: 怎么让字符串居中?
方法:使用字符串中的center方法。
功能:返回一个指定宽度width居中的字符串,length为所返回字符串的长度。fillchar为填充的字符,默认为空格。
语法:string.center(length, character)
str1='hello'
str1.center(50)
str1.center(50,'###')
- 题目5:怎么在字符串中找到⼦串?
方法:使用find方法。
功能:检测字符串中是否包含子字符串 str 。如果找到,就返回子串的第一字符的索引值,如果找不到,则返回-1。
语法:string.find(value,start,end)
str1='hello world'
str1.find('h')
str1.find('w')
- 题目6:怎么让字符的⾸字⺟⼤写,其他字⺟⼩写?
方法一:使用title方法。
功能:所有单词的首个字母转化为大写,其余字母均为小写。
语法:string.title()
str1='hello world'
str1.title()
方法二:使用capwords方法
import string
str1='hello world'
string.capwords(str1)
- 题目7:怎么批量替换字符串中的元素?
方法一:使用replace()方法。
str1="hello"
str1.replace('l','w')
方法二:使用re模块的sub方法。
import re
str1="hello"
re.sub('l','w',str1)
- 题目8:怎么把字符串按照空格进⾏拆分?
方法一:使用split方法,括号为空的情况下默认为空格拆分 。
str1="hello world hello"
str1.split()
方法二:使用re模块下的split方法。
str1="hello world hello"
import re
re.split(r'\s+',str1)
- 题目9:怎么去除字符串⾸位的空格?
方法:用strip方法
str1=" hello world "
str1.strip()
2.列表
- 题目10:怎么清空列表内容?
方法一:使用del方法清除整个列表,删除后表不存在了。
list1=[x for x in range(5)]
del list1
方法二:使用clear方法,删除后表为空。
list1=[x for x in range(5)]
list1.clear()
方法三:使用切片赋值方法,删除后表为空。
list1=[x for x in range(5)]
list1[:]=[]
list1
- 题目11:怎么计算指定的元素在列表中出现了多少次?
方法:使用count方法。
list1=[x for x in np.random.randint(40,90,10)]
list1.count(40)
- 题目12:怎么在列表末尾加⼊其它元素?
方法:使用extend方法。
list1=[x for x in range(5)]
list2=[x for x in np.random.randint(1,10,3)]
list1.extend(list2)
- 题目13:extend 和列表相加的区别?
两者效果看起来是一致的,但是extend是直接在list1列表里加入元素,相加会生成一个新的列表,list1本质没有改变。
- 题目14:怎么查找列表中某个元素第⼀次出现的索引,从 0 开始?
list1=[x for x in range(1,5)]
list1.index(3)
- 题目15:怎么将⼀个对象插⼊到列表中?
方法一:使用append方法。在最后插入一个对象。
list1=[x for x in range(1,5)]
list1.append(6)
可以指定元素位置后插入。
方法一:使用insert方法。
list1=[x for x in range(1,5)]
list1.insert(2,6)
方法二:使用切片方法。
list1=[x for x in range(1,5)]
list1[2:2]=['hello']
- 题目16:怎么删除列表中元素?
方法:使用pop方法。
删除单个元素,按位删除(根据索引删除),默认为列表对象最后一个元素,list.pop(i)则删除下标为i的元素,删除时会返回被删除的元素。
list1=[x for x in range(10)]
list1.pop[3]
- 题目17:怎么删除列表中指定元素?
方法:使用remove方法,删除第一次出现的元素。
list1=[x for x in range(10)]
list.remove(5)
- 题目18:怎么让列表按相反顺序排列?
方法一:使用reverse方法。
list1=[x for x in range(10)]
list1.reverse()
方法二:使用切片的方式。
list1=[x for x in range(10)]
list1[::-1]
3.元组
- 题目19:怎么表示只包含⼀个元素的元组?
1个元素的元组,必须在唯一的元素后面加上逗号。
tup1=('hello',)
print(type(tup1))
4.字典
- 题目20:怎么给字典中不存在的key指定默认值?
方法一
dic1={"a":"hell0","b":"world"}
dic1.get('aa','N/A')
方法二
dic1={"a":"hell0","b":"world"}
dict1["c"]="mary"
dict1
参考链接:https://www.runoob.com/python/att-dictionary-get.html
- 题目21:花括号{} 是集合还是字典?
字典
type({})
5.运算
基本运算
- 题目22:怎么计算2的3次⽅?
方法一:使用运算符**。
print(2**3)
方法二: 用pow()函数,pow(x,y)返回 x 的 y 次方的值
print(pow(2,3))
- 题目23:怎么快速求 1 到 100 所有整数相加之和?
方法一:使用sum方法
print(sum(range(1,101)))
方法二:使用while方法
a=0
b=0
while a<100:
a=a+1
b=b+a
print(b)
方法三:使用for方法
a=0
for i in range(1,101):
a=a+i
print(a)
集合运算
- 题目24:怎么求两个集合的并集?
方法一:使用union方法。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1.union(set2))
方法二:使用运算符 | 。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1|set2)
- 题目25:求两个集合的交集?
方法一:使用运算符 & 。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1&set2)
方法二:使用intersection方法。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1.intersection(set2))
- 题目26:求两个集合中不重复的元素?
方法一:使用运算符 ^ 。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1^set2)
方法二:使用 symmetric_difference 方法。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1.symmertric_differece(set2))
- 题目27:求两个集合的差集?
方法一:使用运算符 - 。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1-set2)
方法二:使用differece方法。
set1={"a","b","c","d","e","f"}
set2={"a","b","c","d","g","h"}
print(set1.differece(set2))
6.random 模块
- 题目28:怎么从⼀个⾮空序列中随机选择⼀个元素?
方法:使用random中的choice方法。
import random
list1=[x for x in range(1,10)]
random.choice(list1)
- 题目29:从⼀个序列中随机返回 n 个不同值的元素?
方法:使用random中sample方法。
import random
list1=[x for x in range(10,100)
sample_num=5
random.sample(list1,sample_num)
- 题目30:怎么⽣成两个数之间的随机实数?
方法一:使用random.randint()生成随机整数
import random
random.randint(1,100)
方法二:使用random.uniform()生成随机的浮点数
import random
random.uniform(1,100)
- 题目31:怎么在等差数列中随机选择⼀个数?
方法一:使用random.choice()方法。
import random
random.choice([x for x in range(1,100,10)])
方法二:使用用random.randrange()可以指定步长。
import random
random.randrange(0,100,10)
- 题目32:怎么随机打乱列表的顺序?
方法:使用random模块里的shuffle方法。
import random
list1=[x for x in range(10)]
print(list1)
random.shuffle(list1)
print(list1)
参考链接:https://blog.****.net/m0_46090675/article/details/113818633
7.open函数
- 题目33:怎么在⽂件⾥写⼊字符?
方法:用open函数,模式用w。
file_path=""
content="hello world"
with open(file_path,'w') as file:
file.write(content)
- 题目34:怎么读取⽂件内容?
方法:用open函数,模式用r(默认情况下是r)。
file_path=""
with open(file_path,"r",encoding="utf-8") as f:
res=f.read()
print(res)
8.time模块时间
- 题目35:怎么将当前时间转为字符串?
方法一:使用time模块里的asctime方法。若未输入参数,返回当前时间字符串的形式。
import time
time.asctime()
print(type(time.asctime()))
方法二:使用datetime下面的strftime方法。
import datetime
time1=datetime.datetime.now()
print(time1)
print(type(time1))
time2=time1.strftime('%Y-%m-%d %H:%M:%S')
print(time2)
print(type(time2))
- 题目36:怎么将秒数转为时间数组?
方法:使用time模块里面的localtime方法。
import time
seconds = 1555840541.92
timeArray = time.localtime(seconds)
print(timeArray)
- 题目37:将时间元组转换为从新纪元后的秒数?
方法:使用time模块里面的mktime方法。
import time
time.mktime((2023,11,6,17,14,48,1,311,0))
- 题目38:怎么将字符串转为时间元组?
方法:使用time模块里的strptime方法。
import time
time.strptime('2023-11-23', '%Y-%m-%d')
9.其他
- 题目39:怎么查出模块包含哪些属性?
方法:使用dir()函数查看模块的属性与方法
dir(str)
- 题目40:怎么快速查看某个模块的帮助⽂档?
方法:使用__doc__查看某个模块下面的注释的内容。
str.__doc__
- 题目41:怎么快速启动浏览器打开指定⽹站?
方法:使用webbrowser
import webbrowser
path = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
webbrowser.register('edge', None, webbrowser.BackgroundBrowser(path))
browser = webbrowser.get('edge')
browser.open('www.baidu.com')
参考链接:https://blog.****.net/wangyuxiang946/article/details/132231956
- 题目42:Python⾥占位符怎么表示?
用pass占位,当你没有想好代码块的逻辑时,你需要运行代码调试其他功能,需要加占位符,不然会报错。
if name="lily":
print("hello")
elif name="mary":
pass
- 题目43:怎么给函数编写⽂档?
在def语句后面注释文档放在引号(单引、双引、三引都可以)里面就行,文档可以通过func1.__doc__访问。
def func1():
"""返回变量值"""
x="hello world"
return x
func1.__doc__
- 题目44:怎么定义私有⽅法?
定义:私有方法是指只能在类内调用。
语法:在方式名称前加两个斜杠__
注意:⽤ from module import * 导⼊时不会导⼊私有⽅法
class Dog():
def __init__(self,age,color,name='lily'):
self.name=name
self.age=age
self.color=color
def __hello(self):
print("我的名字是{},我{}岁了".format(self.name,self.age))
x=Dog(5,'yellow')
x.__hello() ##报错
x._Dog__hello()
- 题目45:怎么判断⼀个类是否是另⼀个类的⼦类?
方法一:使用内置函数 issubclass()
语法:issubclass(class, classinfo),class是待检查的类,classinfo是一个类或一个由类对象组成的元组。如果class是classinfo的子类或者是classinfo中的任意类的子类,则返回True;否则返回False。
class Father():
pass
class Son(Father):
pass
print(issubclass(Father,Son))
print(issubclass(Son,Father))
方法二:使用内置函数isinstance()
语法:isinstance(object, classinfo),object是待检查的对象,classinfo是一个类或一个由类对象组成的元组。如果object是classinfo的实例或者是classinfo中的任意类的实例,则返回True;否则返回False。
class Father():
pass
class Son(Father):
pass
print(isinstance(Father,Son))
print(isinstance(Son,Father))
- 题目46:怎么查出通过 from xx import xx导⼊的可以直接调⽤的⽅法?
方法:使用all方法,这个方法查出的是模块下不带_的所有方法,可以直接调用。
import random
random.__all__
- 题目47:怎么把程序打包成 exe ⽂件?
方法:⽤ Setuptools ⾥的 py2exe 库
- 题目48:怎么把程序打包称 Mac 系统可运⾏的 .app ⽂件?
安装py2app
pip install py2app
cd 到demo.py文件所在的目录
py2applet --make-setup demo.py
- 题目49:怎么获取路径下所有⽬录名称?
方法:使⽤ sys 下的 path ⽅法,返回的是⽬录名称的字符串列表。
import sys
sys.path
- 题目50:Python 环境下怎么执⾏操作系统命令?
⽅法:使⽤ os 模块下的 system ⽅法。
import os
os.system("cd /User/")