今日内容:

文件操作:

打开文件的方式
只读r
只写w
追加写a
r+可读可写
w+可写可读
a+可读可追加



f = open('file', encoding='utf-8') #f 文件句柄、文件操作符,默认只读模式
content1 = f.read()  #read() 读整个文件  返回一个字符串
f.seek(0)
content2 = f.readlines() #读整个文件,返回一个列表
f.seek(0)
content3 = f.readline() #读一行
f.close() #关闭文件



 



f = open('file', 'w', encoding='utf-8') #把原来的内容清空
f.write('chengdajing|24|male') #写一个字符串
f.writelines() # 将列表中的内容写入文件
f.close()



f = open('file', 'r+', encoding='utf-8') #打开文件的时候:不清空文件
print(f.readline())
f.write('wusir|66|male') #当用户读取操作之后,写的所有内容都变成追写
f.close()
当用户不执行读操作,写默认从前面覆盖
不要同事读写操作一个文件



#读写
f = open('file', encoding='utf-8')
f2 = open('file_bak', 'w', encoding='utf-8')
for line in f:
      user_list = line.split('|')
      print(user_list)
      user_list[0] = user_list[0] + '_somebody'
      user_list = "|".join(user_list)
      print(user_list)
      f2.write(user_list)
f.close()
f2.close()



#修改
f = open("file", encoding="utf-8")
f2 = open("file_bak", "w", encoding="utf-8")
for line in f:
      user_list = line.split("|")
      user_list[0] = user_list[0]+"_somebody"
      user_list = "|".join(user_list)
      print(user_list)
      f2.write(user_list)
f.close()
f2.close()



import os #模块-用来和操作系统交互的模块
os.remove("file") #删除一个文件
os.rename("file_bak", "file") #重命名一个文件

函数初始:
我们计算一个字符串长度,首先想到是使用len()方法;如下:



name = "alexsada"
length = len(name)
print(length)



以上代码我们计算出来‘name’的长度,但是假如len()不能用了呢?我们肯定会用for循环来实现:如下:



name = "alexsda"
length = 0
for char in name:
      length += 1
print(length)



这样我们也行计算出来它的长度,但是我们可以想想,如果以后每个功能都要使用到这段代码的话,我们
是不是都要重复的写这段代码呢?我们是不是要想一个方法来避免这种情况呢?下边就是我们今天用到的函数
如下代码:



def mylen(): #定义函数
      name = "alex" #字符串
      length = 0
      for char in name:
            length += 1
      print(length)
mylen()  #函数的调用



我们看了以上代码是不是感觉和刚刚写的代码没什么区别,就多了一个def mylen():这个东西。下边我们就说这个东西的用法。
def:这个具体是啥我也不知道,不要问为什么,Python就是这样规定的。
mylen():这是一个变量名,按照变量名的要求起名就可以,但是后边的括号和双引号一定要加上(切记)。
函数里边有一个返回值叫return,就是函数的返回值。
如下:



def my_max():
      a = 111
      b = 222
      if a < b:
            return a
      else:
            return b

a = my_max()
print(a)



return的作用:
      1.能够返回值
      2.结束一个函数的执行
返回None:
      如果函数里什么都不写
返回一个值:
      return 可以返回任意内容。
多返回值:多个返回值以逗号隔开以元祖的形式被返回
接受返回值:
1.一个值接受
2.多个变量接受:返回多少个值就用几个变量去接受,必须不多不少



name = "alex"
def my_len(name): #name参数 站在函数定义的角度上,所有的参数都叫 形式参数:简称:形参
      length = 0
      for char in name:
            length += 0
      print(length)
      return length
my_len("alex") # 'alex'参数 站在函数调用的角度上:所有的参数都叫:实际参数:简称:实参
s2 = "wupeiqi"
my_len(s2)



参数:
站在调用角度:实参
站在定义角度:形参
参数可以是任意的数据类型
实参和形参的个数相等

小总结:
      开头必须是 del 变量名():
      返回值是return:可以返回的是任意内容。也可以返回多个值,就用相等的变量接收它。
函数:比作一个容器:把以后经常重复用到的代码装到一个容器里,随时都可以调用。



以上是今天的内容,不会就这么点。等着明天更新。