PoEdu_Python_Lesson009_类的基础用法、使用dump写数据到json文件的注意点

写在前面:本文章内容基于Python3

os.path

可以将路经中的文件名和后缀名分开

os.path.splitext(file)[1]
分成了两部分,前面的是文件名,后面的是后缀

import os.path

通过dump写数据到json文件,文件打开方式不能使用wb,可以使用w

类的基础用法

声明

class UserInfo(object)

其中,括号里的object表示从object继承而来,如果没有明确的父类,那么一般都是object,它是基类。此时,即使当前类什么也不写,也会有一些方法可以使用,就是从object继承而来的

对象绑定变量(属性)

如:

user = UserInfo()  #假设UserInfo是一个类
user.name = 'root'

但是绑定的属性仅存在与当前的对象,也就是说,当重新定义一个变量user_2 = UserInfo()时,user_2并不会有name这个属性。如果需要每个对象都有这个属性,那么就需要在类中进行设定

一般都不会通过对象去绑定属性,因为这样做的话,当这个对象消亡了,所绑定的这些属性也就没了,如果有特殊的需求,当然可以这么做

类中绑定变量(属性)

__init__方法

示例1:

class UserInfo(object):
    def __init__(self,name,psw,id):
        self.name=name
        self.psw = psw
        self.id = id

    def print(self):
        print("name:%s id:%d" %(self.name, self.id))

user = UserInfo("lala","ssss",1)

__init__的第一个参数必须是self(代表当前对象本身),此后,在创建对象的时候,也需要传入__init__中的参数name和psw,self此时可以忽略…

示例2:

class UserInfo(object):
    def __init__(self,name,psw):
        self.name=name
        self.__psw = psw

user = UserInfo("lala","ssss")
user.__psw = "3333" #报错

psw这个属性如果不希望在外部被访问,那么就在属性名前加两个下划线,如果强行访问,会报错,但是在类内部还是可以访问的。就像C++中类中的private属性,但是Python控制没那么强

user._UserInfo__psw = “333”

如果这样做的话,还是可以对我们所认为的私有属性的psw进行修改….(注意类名之前是一个下划线,属性名前面是两个下划线)

object类

里面定义了很多基础的方法

继承

可以继承方法,也可以重写方法

类方法

示例

class UserInfo(self)
    ....
    def __len__(self):
        print("调用len方法")
        retrurn 100  #这个方法应该返回一个长度,仅做测试用

user = UserInfo()
len(user)  #打印调用len方法

其它内置函数大都也是这样的声明及调用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值