文章目录
- _ _ name _ _
- 文件备份与即使更新
- 检查和纠正小写 (正则表达式)
- 返回字符的最后出现
- 为向量增加内积
- 接收圆的半径作为参数,返回圆的面积
- 集合
- 列表的排序
- 迭代器对象不可以使用两次
- 方法中self 的作用
- 字符串的格式化
_ _ name _ _
def main():
if __name__ == '__main__':
print('This program is run directly')
elif __name__ == 'text3':
print('this program is run as a module')
main()
直接运行hello.py 文件 输出This program is run directly
在另一个py 文件 hellomodule.py 中导入 hello 作为模块使用
import hello
文件备份与即使更新
from os import listdir,mkdir,makedirs
from os.path import isdir,isfile,join,getmtime,getatime,exists
import shutil
def listDFS(directory,newdirectory):
for subPath in listdir(directory):
path = join(directory,subPath)
newpath = join(newdirectory,subPath)
if isfile(path):
if not exists(newpath):
shutil.copy(path, newpath)
print("新增加文件 " + newpath)
elif isdir(path):
if not exists(newpath):
makedirs(newpath, exist_ok=True)
print("新增加文件夹 "+ newpath)
listDFS(path, newpath)
listDFS(r"d:\Desktop\python 课程设计",r"d:\Desktop\001123")
检查和纠正小写 (正则表达式)
import re
def checkModify(s):
return re.sub(r'\b(\w)(\w+)(\w)\b',lambda x : x.group(1) + x.group(2).lower() + x.group(3),s)
s = 'aBc HJSH H eee fEEfff'
print(checkModify(s))
- [‘111’, ‘22’, ‘3’, ‘’] //[‘111’, ‘22’, ‘3’, ‘’]
- 6 //111223
- 对
返回字符的最后出现
def lastAppear(s):
result = []
for ch in s :
if ch in result :
result.remove(ch)
result.append(ch)
return result
为向量增加内积
def dot(self,anothorPoint):
return self.__x*anothorPoint.__x + self.__y*anothorPoint.__y + self.__z * anothorPoint.__z
接收圆的半径作为参数,返回圆的面积
from math import pi as PI
def CircleArea(r):
if isinstance(r,(int,float)):
return PI*r*r
else:
print('You must enter an integer or float as radius')
- 13 //[8,3,2]
- 16 //[8,3,5]
- 15 //[8,2,5]
- lambda 表达式:常用来声明匿名函数,常用在一个在临时需要一个类似函数的功能但是又不想定义函数的场合,也可以使用lambda 表达式定义具名函数
- 生成器表达式:包含 yield 语句可以用来创建生成器对象的函数,yield 语句与return 类似,但是每次执行到yield 语句会返回一个值后会暂停或挂起后面的代码的运行
集合
- 不能,在1到10之间无法生成20个不重复的整数,程序死循环无法正常退出
- 1
- 1275
列表的排序
import random
data = [random.randrange (50) for i in range(20)]
print(data)
data[:10] = sorted(data[:10])
data[11:] = sorted(data[10:] ,reverse= True)
print(data)
迭代器对象不可以使用两次
- [-3,3]
- 不能,第一次得到[(‘a’, ‘1’), (‘b’, ‘2’), (‘c’, ‘3’)] ,第二次是一个空列表 [],因为zip 返回一个可迭代的zip 对象,而这个 zip 对象只能遍历一次,访问过的元素就不存在了
方法中self 的作用
- 在类定义中,所有的方法的首个参数一般为self :
作用:
(1)在类内部,实例化过程中传入的数据都赋值给这个变量
(2)代表对象实例:等价于 <类>.方法(<对象>,参数) 这里的<对象> 就是self
字符串的格式化