导航:首页 > 编程语言 > python打印类成员

python打印类成员

发布时间:2022-11-27 08:28:37

python中编写一个类,包含一个变量,一个方法;再编写一个子类,继承前一个类

摘要 使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:class ClassName:

Ⅱ python中关于类的问题求解

作业要自己做才能提高水平,只说原理,这个问题,定义长宽高,和计算体积,都不是难点,主要是如何知道实例化数量。

Python的特性是,类的变量,如果是在类里面直接申明,那么就是静态变量,这个类的所有对象都共享共一个变量,用类名来访问。在这个问题中可以用来计数,例如:

classBox:
count=0
def__init__(self,l,w,h):
Box.count+=1

count变量用来统计对象个数,在类的初始化函数__init__中加1,每初始化一个对象就能使统计值加1了。

而在类的函数中申明的self的变量,就是类的成员变量,每个实例化的对象都有一份自己的拷贝,例如

classBox:
count=0
def__init__(self,l,w,h):
Box.count+=1
self.length=l
self.width=w
self.height=h
self.volumn=l*w*h

self.length就是长度,其他的类推,比如要测试并打印出属性

b1=Box()
b1.length
b1.width
b1.height
b1.volumn

我发觉我基本都把这题做完了。。。。

Ⅲ Python的成员函数问题

  1. join() 是str类中的一个成员函数,它是类成员。


2. python中视一切为对象,所以a其实是一个字符串对象,具有成员函数join,可以用dir(a)查看。


3. a.join() 就是字符对象a调用其成员函数 join()

Ⅳ python如何列出类的成员方法,例如下面代码,如何列出m1,m2

import c1
print(dir(c1))#显示c1所有成员和方法
print(dir(c1.m1))#显示m1的方法
print(dir(c1.m2))#显示m2的方法

Ⅳ python数据类型(集合)

    1.集合(set)是一个无序不重复元素的序列(意思是有重复的会自动删除,每次打印元素的位置不一定)

    2.基本功能是进行成员关系测试和删除重复元素

    3.可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典

    4.因为set存储的是无序集合,所以我们没法通过索引来访问。访问 set中的某个元素实际上就是判断一个元素是否在set中。

1.创建集合

s=set()#创建一个空集合

s1={1,2,3,'a','python'}

2.删除重复的元素

集合是一个无序不重复元素的序列(意思是有重复的会自动删除,每次打印元素的位置不一定)

3.成员关系测试(检测某个成员是否在集合中)

案例:从终端输入5位数,以空格隔开,把这5位数存入列表中,剔除重复的数据,打印出来

#提示,列表转集合,集合转列表

a=input("请输入5位数字:")

mylist=a.split()

print(mylist)

b=set(mylist)

c=list(b)

print(c)

4.集合常用操作

    1.添加元素

    2.删除元素

    3.删除整个集合

    4.获取集合的长度

    5.不支持改元素

集合操作-添加元素

格式:

集合.add(元素)

格式:

集合.update(元素)

区别:

add不能添加列表,update可以

update是将字符串中的拆分成字符进行追加

add,是当做整体追加在集合中

#案例:从终端输入一个数字就加入集合中,然后打印,又输入一个数字,然后打印,直到输入-1,退出输入

#然后打印最终的集合

ms=set()

while 1:

a=int(input("请输入一个数字:"))

if a==-1:

    break

    ms.add(a)

print(ms)

print(ms)

#案例:从终端输入一个字符串就加入集合中,然后打印,又输入一个字符串,然后打印,直到输入q,退出输入

#然后打印最终的集合,字符串要分开存储,如输入hello,存储的列表是{'h','e','l','0'}

ms=set()

while 1:

a=input("请输入一个字符串:")

if a=='q':

    break

    ms.update(a)

print(ms)

print(ms)

集合操作-删除元素及删除整个集合

格式:

集合.remove(元素)  # 元素如果不存在会引发KeyError

集合.discard(元素)  # 元素如果不存在不发生任何事

集合.pop()  # 集合元素是字符串类型时删除随机元素。 集合元素是其他数据类型时,删除左边第一个元素

del 集合名 #删除整个集合

#案例:有集合{1,2,3,'hello','world'},删除全部字符串,然后最左边第一个元素

a={1,2,3,'hello','world'}

a.discard("hello")

a.discard("world")

a.pop()

print(a)

集合操作-获取集合的长度

格式:

len(集合名)

#案例:有集合{1,2,3,4,'hello','a'},保留1个元素,其他的删除,假如元素个数不确定

s={1,2,3,4,'hello','a'}

for i  in range(len(s)-1):

            s.pop()

  print(s)

集合的集运算

集合的交集,并集,差集,对称差集的运算

{1,2,3,4}交集{4,5,6,7} -->4   交集(&)

{1,2,3,4}并集{4,5,6,7} ->1,2,3,4,5,6,7  并集(|)

{1,2,3,4}差集{4,5,6,7} ->1,2,3  差集(-)

{1,2,3,4}对称差集{4,5,6,7}->1,2,3,5,6,7 4同时出现在两个集合中,不选它 对称差集(^)

#案例:使用花括号和set创建各一个集合,然后对集合进行交、并、差、对称差运算

s={1,2,3,4,5,6}

s1=set([6,7,8,9,10])

print(s&s1)

print(s|s1)

print(s-s1)

print(s^s1)

Ⅵ python的类成员怎么变成实例成员

实例可以直接使用类的成员变量。但是有点要注意的,就是关于类变量和实例变量之间的关系,和可变参数、不可变参数差不多的原理。可以参照下面的例子(python版本2.7),希望可以帮到你:

#encoding:UTF-8

classA(object):
x=100
y=[1,2,3,4]
def__init__(self):
pass


if__name__=="__main__":
a=A()
A.x="test"
printA.x
printa.x
a.x='xyz'
A.x="hello"
printa.x
printA.x
printA.y
printa.y
a.y.append("x")
printa.y
printA.y

输出结果:

Ⅶ 编写Python程序,用于显示人的姓名和年龄

按照题目要求编写的Python程序如下

class Person:

def __init__(self,name,age):

self.__name=name

self.__age=age

def display(self):

print("姓名:{},年龄{}".format(self.__name,self.__age))

if __name__ == '__main__':

p=Person("张三",18)

p.display()

源代码(注意源代码的缩进)

Ⅷ 定义一个学生类,包含学号、姓名、平时成绩和考核成绩四个数据成员和以下成员方法(用Python语言):

花了不少时间写的,挺详细的,希望采纳。


#引入operator模块,用于给集合排序
importoperator


#单行注释用"#",多行注释用'''注释内容'''
#定义一个学生类,类名用驼峰命名法
classStudent:

#构造方法,可用来创建对象格式def__init__(self,参数)参数个数自已定义,类型系统自动识别
def__init__(self,stu_no,name,base_score,exam_score):
self.stu_no=stu_no#对象属性赋值
self.name=name
self.base_score=base_score
self.exam_score=exam_score

#定义计算总评函数定义函数格式def函数名(self,参数),self代表本对象
defget_last_score(self):
#return指定返回值,无return表示此函数无返回值
returnself.base_score*0.3+self.exam_score*0.7

#类似toString方法,打印对象时,调用对象的该方法
def__str__(self):
return'学号:'+self.stu_no+'姓名:'+self.name+",平时成绩:"+str(self.base_score)+",考核成绩:"+str(self.exam_score)


#定义函数,将对象集合写到文件,上面三个函数有缩进,属于Student类的函数,本函数属于全局函数
defprint_to_file(path,stu_arr):
#打开文件,操作完成后自动关闭文件
withopen(path,'w')asfile:
#调用operator给集合排序
sort_attr=operator.attrgetter('stu_no')#指定排序属性
stu_arr.sort(key=sort_attr)#排序
forstuinstu_list:
str=stu.__str__()#将对象转换为字符串
file.write(str+' ')#将字符串写入文件


#主函数,运行的入口
if__name__=='__main__':
#创建几个学生对象,按__init__的顺序输入参数
s1=Student('1001','zhangsan',31,69)
s2=Student('1003','wangwu',28,32)
s3=Student('1004','zhaoliu',77,78)
s4=Student('1002','lisi',19,89)
#创建集合
stu_list=[s1,s2,s3,s4]

#文件路径
f='d:\aaa.txt'
print_to_file(f,stu_list)

Ⅸ python怎么查看object 里的成员变量

首先通过一个例子来看一下本文中可能用到的对象和相关概念。

  • #coding:utf-8import inspectprint inspect.ismole(inspect) #Trueprint inspect.isfunction(inspect.isfunction) #Trueprint inspect.isbuiltin(sorted) #Trueprint inspect.isroutine(sorted) #True

  • 对于实现了__call__的类实例,这个方法会返回False。如果目的是只要可以直接调用就需要是True的话,不妨使用isinstance(obj, collections.Callable)这种形式。我也不知道为什么Callable会在collections模块中,抱歉!我猜大概是因为collections模块中包含了很多其他的ABC(Abstract Base Class)的缘故吧:)

  • #coding:utf-8import collectionsclass Dog(object): def __call__(self, name):#实现__call__方法就可以直接调用对象了

  • print 'i am a dog named ' , name


  • dog = Dog()

  • dog('DaHuang')print isinstance(dog, collections.Callable) #Trueprint dog.__class__.__bases__

  • 3.2. 获取对象信息

  • getmembers(object[, predicate]):这个方法是dir()的扩展版,它会将dir()找到的名字对应的属性一并返回,形如[(name, value), ...]。另外,predicate是一个方法的引用,如果指定,则应当接受value作为参数并返回一个布尔值,如果为False,相应的属性将不会返回。使用is*作为第二个参数可以过滤出指定类型的属性。

  • getmole(object):还在为第2节中的__mole__属性只返回字符串而遗憾吗?这个方法一定可以满足你,它返回object的定义所在的模块对象。

  • get{file|sourcefile}(object):获取object的定义所在的模块的文件名|源代码文件名(如果没有则返回None)。用于内建的对象(内建模块、类、函数、方法)上时会抛出TypeError异常。

  • get{source|sourcelines}(object):获取object的定义的源代码,以字符串|字符串行表返回。代码无法访问时会抛出IOError异常。只能用于

  • 阅读全文

    与python打印类成员相关的资料

    热点内容
    徐锦江叶子楣方唐镜 浏览:59
    可以在线看片的网站 浏览:133
    小米加密兔手机壁纸 浏览:613
    2019程序员笔记本 浏览:477
    武大小孩子厉害的电影有哪些 浏览:35
    找一个可以看的网址 浏览:79
    四个字的国外电影,小孩儿 浏览:411
    推荐看片网站 浏览:652
    主角叫林飞的小说是什么 浏览:683
    闲置服务器能干什么工作 浏览:949
    asdr q-2299123 浏览:987
    中国最大尺度古装电影 浏览:695
    电影和电视播放器 浏览:113
    樱桃小说by小花喵 浏览:514
    英国看片网站叫什么名字 浏览:676
    法兰克plc编程软件 浏览:359
    怎么看pdf的字体 浏览:634
    和李采潭合作的女演员有哪些 浏览:430
    日本那部电影病娇男主要当女主的狗是校园电影 浏览:210
    抗日战争片400部 浏览:730