隔离日记day8
2.学习内容 1.什么叫模块-模块化编程的好处def fun: pass def fun2: pass class Student: native_place='吉林'#类属性 def eat(self,name,age):#实例方法 self.name=name#实例属性 self.age=age @classmethod#类方法 def cm(cls): pass0 @staticmethod#静态方法 def sm(): pass a=10 b=20 print(a+b)2.模块的导入
import math#导入math模块 关于数学运算 print(id(math))# print(type(math))#模块类 print(math) print(math.pi)#3.14159265358979 print('--------------------------') print(dir(math)) print(math.pow(2,3),type(math.pow(2,3)))#8.0 计算2的三次方 print(math.ceil(9.001))#10 天花板 print(math.floor(9.999))#9 地板
from math import pi import math print(pi)#3.141592653589793 print(pow(2,3))#8 print(math.pow(2,3))#8.0
calc是自己创建的一个模块
#calc模块 def add(a,b): return a+b def div(a,b): return a/b
from calc import add print(add(10,20))
#在这里导入calc自定义模块使用 import calc print(calc.add(20,30)) print(calc.div(10,2)
注意第二个程序与第三个程序的区别,都是调用calc模块进行运算
3.以主程序方式运行这个程序是calc2模块
def add(a,b): return a+b if __name__ =='__main__': print(add(10,20))#只有当点击运行calc2时,才会执行运算
这个是主程序
import calc2 print(calc2.add(100,200))
当calc2模块中不写calc2中的if name =='main':时,主程序运行时不仅会调用calc2模块定义的add函数,还会将calc2模块中的 print(add(10,20))执行(即calc2程序全部执行),当写了if name =='main':后,就只会调用add函数。符合我们的预期。即 以主程序方式运行
4.python中的包#包package 当中包含__init__.py文件 #目录directory 当中不包含__init__.py文件叫
先建立一个名为package1的包。包自动生成init.py文件。再在该包下新建两个模块
module_A
a=10
module_B
b=100
#在本模块中导入package1包
#在本模块中导入package1包 import package1.module_A as ma #ma是package1.module_A这个模块的别名 import 包名.模块名 #print(package1.module_A.a) print(ma.a)
print(ma.a)就是输出ma模块中的a
注意以下程序的异同
#再导入带有包的模块时注意事项 import package1 import calc #使用import方式进行导入时,只能跟包名和模块名 from package1 import module_A from package1.module_A import a #使用from import可以导入包,模块,函数,变量5.python中的常用模块
import sys#目标所占的内存大小
import time
import urllib.request
import math
print(sys.getsizeof(24))#28
print(sys.getsizeof(45))#28
print(sys.getsizeof(True))#28
print(sys.getsizeof(False))#24 内存大小
print(time.time())
print(time.localtime(time.time()))#显示当前时间
print(urllib.request.urlopen('http://www.baidu.com').read())#获取百度里的东西
print(math.pi)
6.第三方模块的安装与使用
import schedule
import time
def job():
print('哈哈----------')
schedule.every(3).seconds.dog(job)#每三秒执行一次job
while True:
schedule.run_pending()#开始
time.sleep(1)#休眠一秒
pip install 模块名----第三方模块的安装
7.编码格式的介绍#encoding=gbk
# 编写人:邓琨升
# 开发时间;2021/10/28 16:50
print('你好,中国')
#最上面可以修改py文件的编码格式 不写默认UTF-8格式 不同编码格式占用的磁盘空间大小不同
8.文件读写的原理--读取磁盘中的内容
file=open('a.txt','r')#r代表读 w代表写
print(file.readlines())
file.close()
9.常用文件的打开模式
file=open('b.txt','w')#w代表写 b不存在 所以创建文件 若b存在,则覆盖内容
file.write('python')#将python写入b文件,在此文件修改内容,b文件内容也相应修改
file.close()
file=open('b.txt','a')#a是追加内容
file.write('python')
file.close()
src_file=open('IMG_5881.JPG','rb')#rb代表读二进制文件 读取IMG_5881.JPG源文件
target_file=open('copyIMG_5881.JPG','wb')#向copyIMG_5881.JPG文件中写入
target_file.write(src_file.read())#将源文件中的内容写入目标文件
target_file.close()#最后一点要关闭文件
src_file.close()
10.对象文件的常用方法
file=open('a.txt','r')
#print(file.read(2))#读取文件中2字符(中国),若不写 默认读全部
#print(file.readline())
print(file.readlines())#['中国n', '美丽'] 输出的结果是一个列表,把文件中每一行的内容都放到列表中
file.close()
file=open('c.txt','a')#新建一个c.txt文件
file.write('hello')#向c中写入hello
lst=['java','go','python']
file.writelines(lst)#向c中写入列表中的元素
file.close()
file=open('b.txt','r')
file.seek(2)#跳过两字节(一个汉字),再读
print(file.read())
print(file.tell())#返回文件指针当前位置
file=open('d.txt','a')
file.write('hello')
file.flush()#flush是个缓冲区 资源会先到缓冲区再写 flush之后可以继续写内容,但是closed之后不能了
file.write('world')
file.close()
3.结束语
后天解除隔离!



