python实例成员实例变量

Python015

python实例成员实例变量,第1张

1、语法:

定义:对象.变量名

调用:对象.变量名

2、说明:

(1)首次通过对象赋值为创建,再次赋值为修改

x01=wife()

wife.name="张三" 此时为创建

wife.name="李四" 此时为修改

(2)通过在构造函数__init__中创建

wife("张三",24)

print(w01.name)

(3)、每个对象存储一份,通过对象地址访问。

3、作用:描述所有对象的共有数据。

实例方法

1、语法

定义:def方法名称(self,参数列表):

方法体

调用:对象地址.实例名称(参数)

作用:所有对象共享方法。

对象是指构造函数,方法是指形为函数。

'''

class Studons:

def __init__(self,name,xibie,nianling,fenshu):

self.name=name

self.xibie=xibie

self.nianling=nianling

self.fenshu=fenshu

def dayin(self):

print("姓名:%s,性别:%s,年龄:%d,分数:%d"%(self.name,self.xibie,self.nianling,self.fenshu))

#定义函数根据姓名查找每个人的信息。

list01=[Studons("张无忌","女",2,98),

Studons("张老六","男",61,95),

Studons("三丰","男",31,95),

Studons("小丽丽","女",21,93),

]

def cha_name(name):

for item in list01:

if name==item.name:

# print(item.name,item.nianling)

item.dayin()

cha_name("小丽丽")

#2、

def fund_xus(names):

for itme in list01:

if itme.name==names:

return itme

print(fund_xus("小丽丽").name)

#查找所有女同学

def fund_nv(age):

list02 = []

for itme in list01:

if itme.xibie==age:

list02.append(itme)

return list02

ae=fund_nv("女")

for ime in ae:

ime.dayin()

#统计30岁以上的人的数量

def count_stud():

coun=0

for itme in list01:

if itme.nianling>=30:

coun+=1

return coun

print(count_stud())

#将所有学生的成绩归0

def list_0():

for itme in list01:

itme.fenshu=0

#获取列表中所有人的名字

def pen_name():

name=[]

for itme in list01:

name.append(itme.name)

return name

print(pen_name())

#查找年龄 最大的学生对象

def max_nl():

maxt=list01[0]

for itme in range(len(list01)):

if maxt.nianling<list01[itme].nianling: span=""></list01[itme].nianling:>

maxt=list01[itme]

return maxt

max_nl().dayin()

下面是一个在互联网上非常有名的例子.

is 和 == 的区别

256 是一个已经存在的对象, 而 257 不是

当你启动Python 的时候, 数值为 -5 到 256 的对象就已经被分配好了. 这些数字因为经常被使用, 所以会被提前准备好.

Python 通过这种创建小整数池的方式来避免小整数频繁的申请和销毁内存空间.

引用自 https://docs.python.org/3/c-api/long.html

这里解释器并没有智能到能在执行 y = 257 时意识到我们已经创建了一个整数 257 , 所以它在内存中又新建了另一个对象.

当 a 和 b 在同一行中使用相同的值初始化时,会指向同一个对象.