''' 生成一个txt文件 ''' #with open('python.txt','w') as f: f.write('python.txt') #如果没有写路径,默认为最近的目录创建 ''' 将第一题生成的文件名后加上‘new’ python.txt改成python_new.txt ''' #os.renname(r'D:\pythonproject\firstproject\文件\python.txt',r'D:\pythonproject\firstproject\文件\python_new.txt') #读取文件内容,将内容进行大小写的更换 with open(r'D:\pythonproject\firstproject\文件\python.txt','r+') as f: data = f.read().swapcase() # 将里面的内容互换大小写后保存在data变量中 f.seek(0) #将光标放在最前面 f.write(data) #覆盖写后再把光标放在最前面 print(f.seek(0))
''' 函数 内置函数 python 自带的函数直接调用 即可,如print() range() len() 查看字符串 自定义函数: 无参函数,有参函数, 无参函数:没有定义参数的函数,(函数的括号内没有内容) 有参函数:定义了函数的参数,调用时需要输入参数 ''' ''' 定义方法 def 函数名(形参): 意思为只有形装没有实际内容的参数 函数功能 return '想要反回的值 ' 调用方法 函数名(实参) 意思为有实际参数的内容 ''' #例题:使用自定义函数,实现 查看字符串长度 def get_len(result): #创建一个计数变量 count = 0 for i in result: #将参数进行循环遍历 count += 1 return count str1 = 'today is a good day' print(get_len(str1)) print(len(str1)) #查看自定义函数在内在中的十六进进址 直接打印函数名(不包括号) print(get_len) #函数的内容 可以用变量接收 func = get_len print(func(str1)) ''' 函数中的参数, 必备参数 默认参数 不定长参数 *args **kwargs ''' #必备参数:函数定义与调用 时,里面的参数必须一致 #创建自定义函数,功能 为计算两个数之间相乘的结果:例 计算矩形的面积 def get_area(length,width): return length * width print(get_area(9, 5)) #计算工资 def get_salary(hour, hourly_wage = 20): return hour * hourly_wage print(get_salary(10)) print(get_salary(10,22)) #如果调用给默认参数实参,那么前面 的默认值会被覆盖 #不定长参数 *args **kwargs #定义一个日记本函数,里面记录一些内容 def notebook(*args,**kwargs): print(args) print(kwargs) notebook('今天感觉这好','今天运气真好,捡到10块钱',pocket=10,luckly=1000) ''' 函数的作用域: 全局变量和局部变量 全局变量:函数内部可以访问 外部的变量,但是不能直接修改 如果要修改需要对于变量进行声明 ''' #创建一个全局变量 num = 10 #定义一个获取值的函数 def get_data(): #使用global关键字进行声明(进行全局变量的声明) global num num += 1 print(num) get_data() #局部变量:函数中的变量 def func1(): data = 1 def func2(): #使用nonlocal关键字进行声明 nonlocal data data += 2 print(data) func2() func1() #闭包在python中的主要作用:保护数据,实现半饰器(面向对象之后的课程)以及避免程序重复计算,提高程序的执行效率 #函数的闭包:将嵌套函数的内部函数名(不包括括号)作为外部函数的返回值 def demo1(): def demo2(): return '这是内部函数输出的值' return demo2 x = demo1() #首先需要给一个变量赋值为外部函数名字以及括号 print(x()) #调用闭包时可以直接用变量()进行调用 #递归函数,创造一个函数,以计算数字的阶乘 #6*5*4*3*2*1 def count(n): if n <= 1: return 1 else: return n * count(n-1) #计算6的递归 print(count(6)) #匿名函数:无城使用def关键字,而是使用lambda 将函数写成一行,用变量来接收 #编写一个匿名函数,功能为计算一个数的次方(次方运算) compute = lambda a,b:a ** b print(compute(3,4)) #匿名函数还可以在列表的sort方法中进行元素的控制 li = ['1','3','7','4','2','10'] li.sort(key=lambda x:int(x)) print(li) ''' 文件操作 使用open()函数对文件进行操作 open(文件路径、访问模式、编码格式) 文件路径 绝对路径(全路径) 相对路径(文件路径的部分路径,文件位置之间的内容可以用两个英文的点代替..) 访问模式 r只读read r+ (可以对内容进行写入和读取的操作),前提是要注意光标的位置 w只写write w+(先清空文件,可以同时写入和读取的操作) a追加append a+ ( b 二进制操作参数 :rb对二进制文件进行读取 wb 对二进制文件进行写入 ''' file = open('D:\pythonproject\\firstproject\文件\python.txt','a+') file.write('\n这是a+参数添加的内容') file.seek(0)#调整光标在最前面 print(file.read()) file.close() ''' 对文件使用的功能 read() 读取 write () 写入 writelines() 写入多行内容 用中括号包裹,逗号分隔,如果需要分行则每一个内容前添加转义字符) flush() 刷新当前文件状态 tell() 查看当前光标所在位置 seek()修改光标的位置 0 为光标放在最前面,(0,2)将光标放在文字最后 ''' ''' 上下文管理器 with open() 跟使用变量进行文件操作相比,此方法全自动关闭文件,同时格式 看起来更加规范 ''' #例 with open() with open('with_open_file.txt','w',encoding='utf-8')as f1: f1.write('这是上下文管理器写入的内容') f1.flush()#刷新 # f1.close() 上下文管理器不用额外手动关闭文件 ''' 文件的io流 可以在内存中创建临时文件,不会占用磁盘空间 使用方法:导入io包即可使用方法 使用import io 使用里面的两个方法: StringIO :生成字符串临时文件 BytesIO :生成二进制临时文件 getvalue() 获取临时文件里保存的所有内容 ''' import io str_file = io.StringIO() str_file.write('这是写入字符串临时文件中的内容') print(str_file.write('这是写入字符串临时文件中的内容')) print(str_file.getvalue()) binary_file = io.BytesIO()#现在的这个变量为二进制临时文件,可以在里面保存内容 binary_file.write(b'this is binary data') ''' 文件目录操作 对于文件夹进行的操作,其中一些方法也可以适用 于单个文件 导入方法:导入OS包进行文件夹的操作 import os 使用方法 getcwd()获取当前所在文件夹的路径:输出的是一个绝对 路径 ''' import os print(os.getcwd()) file = open('python.txt','r') #同级的文件夹内可以不用路径 print(file.read()) file.close() print(os.listdir) ''' mkdir() 创建文件夹 ''' os.mkdir('mkdir创建的文件夹') os.rename('mkdir创建的文件夹','新换的文件名')
'''
使用pip报错方法1
可能是pip版本库太低
方法2
因为直接使用pip install 库名时下载的是外网的一个内容 所以可能出现超时
网站有清华源镜像
‘’‘
如果环境变量没有配置好,第三方库是下载不了的