参考w3cschool
一、输入和输出
print()
str.format()
str()
repr()
1、str.format()的使用方法
eg:
print('我的名字是{},今年{}岁了。'.format('幸运','21'))
print('我来自{0},一个叫{1}的小城市。'.format('四川','广元')) #数字用于指向传入对象在 format() 中的位置
print('我来自{1},一个叫{0}的小城市。'.format('广元','四川'))
print('我喜欢吃{fruit}和{love}。'.format(fruit='苹果',love='读书')) #关键字参数
输出
我的名字是幸运,今年21岁了。
我来自四川,一个叫广元的小城市。
我来自四川,一个叫广元的小城市。
我喜欢吃苹果和读书。
二、文件File
1、读和写文件
基本语法格式
open(filename, mode)
# **filename——文件名,mode——'r'只读/'w'写/'a' 用于追加文件内容**
eg:
f=open('新闻.txt','r',encoding='UTF-8')
2、文件对象的方法
f.read()
——为了读取一个文件的内容。f.read(size)
——读取一定数目的数据, 然后作为字符串或字节对象返回
f.readline()
——从文件中读取单独的一行。换行符为 ‘\n’。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。
f.readlines()
——将返回该文件中包含的所有行。如果设置可选参数 sizehint, 则读取指定长度的字节, 并且将这些字节按行分割。
eg:
新闻.txt
想你因为这么说
所以更想念
就算看着你的照片
也还是想念
f=open('新闻.txt','r',encoding='UTF-8')
print(f.read(5)) #输出:想你因为这
print(f.readline()) #输出:想你因为这么说
print(f.readlines()) #输出:['想你因为这么说\n', '所以更想念\n', '就算看着你的照片\n', '也还是想念']
f.write(string)——将 string 写入到文件中, 然后返回写入的字符数
f.tell()——返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。
f.seek()
f.close()——关闭文件并释放系统的资源
eg:
f=open('新闻.txt','a',encoding='UTF-8')
f.write('wolaile')
f.close() #在此代码中,必须要有f.close()函数才能写入字符
当处理一个文件对象时, 使用 with 关键字是非常好的方式。在结束后, 它会帮你正确的关闭文件
with open('新闻.txt','a',encoding='UTF-8') as f:
f.write('hhhhhhh')
pickle 模块(不懂)
三、OS文件/目录方法
四、错误和异常
五、面向对象
1、类对象
class OneClass:
a = '我是类的属性'
def b(self):
return '我是类的方法'
c = OneClass() #实例化类
#访问类的属性和方法
print('Oneclass类的属性a为:',c.a)
print('Oneclass类的方法b输出为:',c.b())
特殊方法:__init__()
——定义此方法,类的实例化操作会自动调用此方法
class OneClass:
def __init__(self): #可以有参数x
print('自动调用啦')
c = OneClass() #实例化类
输出:自动调用啦
class OneClass:
def __init__(self,x): #可以有参数x
self.m = x
c = OneClass('自动调用') #实例化类
print(c.m)
输出:自动调用
2、类的方法
在类的内部,使用def关键字
可以为类定义一个方法,与一般函数不同,类方法必须包含参数self
,且为第一个参数
3、继承
单继承
class MyInfo: #类定义
#定义基本属性
name = ''
age = 0
__subject = '' #定义私有属性,私有属性在类外部无法直接进行访问
#定义构造方法
def __init__(self,n,a,s):
self.name = n
self.age = a
self.__subject = s
def intro(self):
print('我的名字是{},今年{}岁'.format(self.name,self.age))
#单继承示例
class MyInfo2(MyInfo):
movie = ''
def __init__(self,n,a,s,m):
#调用父类的构函
MyInfo.__init__(self, n, a, s)
self.movie = m
def intro(self): #覆写父类的方法
print('我的名字是{},今年{}岁,我最喜欢的电影是{}'.format(self.name, self.age,self.movie))
s = MyInfo2('Misan',22,'数学','《你的名字》')
s.intro()
输出:我的名字是Misan,今年22岁,我最喜欢的电影是《你的名字》
多继承
class MyInfo: #类定义
#定义基本属性
name = ''
age = 0
__subject = '' #定义私有属性,私有属性在类外部无法直接进行访问
#定义构造方法
def __init__(self,n,a,s):
self.name = n
self.age = a
self.__subject = s
def intro(self):
print('我的名字是{},今年{}岁'.format(self.name,self.age))
#单继承示例
class MyInfo2(MyInfo):
movie = ''
def __init__(self,n,a,s,m):
#调用父类的构函
MyInfo.__init__(self, n, a, s)
self.movie = m
def intro(self): #覆写父类的方法
print('我的名字是{},今年{}岁,我最喜欢的电影是{}'.format(self.name, self.age,self.movie))
#另一个类
class MyInfo3:
name = ''
idol = ''
def __init__(self,n,i):
self.name = n
self.idol = i
def intro(self):
print('我的名字是{},最喜欢的偶像是{}'.format(self.name, self.idol))
#多重继承
class MyInfo4(MyInfo2,MyInfo3):
def __init__(self,n,a,s,m,i):
MyInfo2.__init__(self, n, a, s, m)
MyInfo3.__init__(self, n, i)
s = MyInfo4('Misan',22,'数学','《你的名字》','Justin')
s.intro() #方法名形同,默认调用括号中排前的父类的方法
输出:我的名字是Misan,今年22岁,我最喜欢的电影是《你的名字》
4、方法重写
class Parent: #定义父类
def Mymethod(self):
print('我是父类方法')
class Child(Parent): #定义子类
def Mymethod(self):
print('我是子类方法')
c = Child() #子类实例
c.Mymethod() #子类调用重写方法
输出:我是子类方法
5、类属性与方法
类的私有属性
__private_attrs
两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时self.__private_attrs
类的方法
在类的内部,使用def关键字
可以为类定义一个方法,与一般函数不同,类方法必须包含参数self
,且为第一个参数
类的私有方法
__private_method
两个下划线开头,声明该方法为私有,不能在类的外部调用。在类内部调用self.__private_method