python 2018.7.27 属性
Posted xdlzs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 2018.7.27 属性相关的知识,希望对你有一定的参考价值。
# 属性的初识
# class Person:
#
# def __init__(self,name,hight,weight):
# self.name = name
# self.__hight = hight
# self.__weight = weight
#
# @property
# def bmi(self):
# return ‘%s 的bmi 值%s‘ %(self.name,self.__weight / self.__hight ** 2)
# p1 = Person(‘大阳哥‘,1.68,70)
# # print(p1.bmi())
# print(p1.bmi)
# # 属性 : 将一个方法 伪装成一个 属性,在代码的级别上没有本质的提升,但是让其看起来跟合理.
# print(p1.name)
# p1.name = ‘alex‘
# print(p1.name)
# 属性的改
class Person:
def __init__(self,name,age):
self.name = name
if type(age) is int:
self.__age = age
else:
print( ‘你输入的年龄的类型有误,请输入数字‘)
@property
def age(self):
return self.__age
@age.setter
def age(self,a1):
‘‘‘判断,你修改的年龄必须是数字‘‘‘
if type(a1) is int:
self.__age = a1
else:
print(‘你输入的年龄的类型有误,请输入数字‘)
@age.deleter
def age(self):
del self.__age
p1 = Person(‘帅哥‘,20)
print(p1.age)
# print(p1.__dict__)
# p1.age = 23
# print(p1.age)
del p1.age
# property : 类似于bmi这种,area,周长.... ***
# @age.setter **
# @age.deleter *
# 类方法
# class A:
# def func(self): # 普通方法
# print(self)
#
# @classmethod # 类方法
# def func1(cls):
# print(cls)
# a1 = A()
# a1.func()
# A.func(a1)
# 类方法: 通过类名调用的方法,类方法中第一个参数约定俗称cls,python自动将类名(类空间)传给cls.
# A.func1()
# a1 = A()
# a1.func1() # 对象调用类方法,cls 得到的是类本身.
#类方法的应用场景:
#1, 类中 有些方法是不需要对象参与.
# class A1:
# name = ‘alex‘
# count = 1
#
# @classmethod
# def func1(cls): # 此方法无需对象参与
# return cls.name + str(cls.count + 1)
# A.func1(111) 不可取
# a1 = A()
# print(a1.func1())
# print(A.func1())
# 静态方法
# 2, 对类中的静态变量进行改变,要用类方法.
# 3,继承中,父类得到子类的类空间.
# class A:
# age = 12
# @classmethod
# def func1(cls): # 此方法无需对象参与
# # print(cls)
# # 对B类的所有的内容可以进行修改.
# print(cls.age)
# # return cls.name + str(cls.count + 1)
#
# class B(A):
# age = 22
# B.func1()
# 不通过类方法,想让我的父类的某个方法得到子类的类空间里面的任意值.
# class A:
# age = 12
#
# def func2(self):
# print(self) # self 子类的对象,能得到子类 空间的任意值
#
# class B(A):
# age = 22
#
# b1 = B()
# b1.func2()
# 静态方法:
class A:
@staticmethod
def login(username, password):
if username == ‘alex‘ and password == 123:
print(‘登录成功‘)
else:
print(‘登录失败...‘)
A.login(‘alex‘,1234)
# def login(username,password):
# if username == ‘alex‘ and password == 123:
# print(‘登录成功‘)
# else:
# print(‘登录失败...‘)
#
# login(‘alex‘,1234)
# 1,代码块.清晰.
# 2,复用性.
以上是关于python 2018.7.27 属性的主要内容,如果未能解决你的问题,请参考以下文章