描述
Python isdigit() 方法检测字符串是否只由数字组成。
语法
isdigit()方法语法:
str.isdigit()
str 和repr 在输出对象时会自动调用 这两个方法 如果有str就不会调用repr这个函数 如果没有str只有repr这个函数就会调用
str()
repr()
class Person:
def init(self, name, age):
self.name = name
self.age = age
# 输出对象时会自动调用__str__方法,并返回内容
def __str__(self):
return "姓名1:%s,年龄:%d" % (self.name, self.age)
# def __repr__(self):
# return "姓名2:%s,年龄:%d" % (self.name, self.age)
私有属性:就是在普通的属性前面加上__就是私有属性
私有属性只能在当前的类调用 如果想在外面调用只能采用间接的方式
就是在定义了 私有属性的类中 再定义一个函数来返回这个私有属性
在外面就能通过访问这个函数来访问这个私有属性 这就是间接访问的一种方式
并且 私有属性不能被子类继承
有了私有属性之后,就有get 和set函数 get函数是用来获得私有属性的值的 set的函数是用来给获得的值重新赋值
所以就有了 _property 这个简化get set的装饰器
class Pig:
def init(self, name, age):
self.name = name
self.__age = age
# def getAge(self):
# return self.__age
# def setAge(self, newAge):
# self.__age = newAge
# @property: 相当于get方法
# @age.setter: 相当于set方法
@property
def age(self):
return self.__age
@age.setter
def age(self, newAge):
self.__age = newAge
面向对象的特点:封装,继承,多态
封装:类把属性(变量)和方法(函数)封装在类的内部
继承:子类可以继承父类的属性和方法,也可以扩展自己的属性或方法
多态:在继承的基础上,可以通过父类对象指向不同的子类对象,调用相同名称的方法可以有不同的状态
子类 调用父类:
def init (self,color,size)
father.init(self,color) (显性调用) 看你想继承父类多少个属性这里就写多少个属性
super().init(color) 隐式调用
super(father,self).init(color)
父类在定义的时候要写object
多重继承的情况下 假设有三重 子类继承 父类的 孙子类继承子类的 一重继承一重的
import os
os.listdir(path) os.path.join(path,filename) os.path.isfile() os.path.isdir()