PoEdu_Python_Lesson009_类的基础用法、使用dump写数据到json文件的注意点
来源:互联网 发布:永宏编程手册 编辑:程序博客网 时间:2024/06/14 08:36
写在前面:本文章内容基于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 = pswuser = 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方法
其它内置函数大都也是这样的声明及调用的
阅读全文
0 0
- PoEdu_Python_Lesson009_类的基础用法、使用dump写数据到json文件的注意点
- WinDbg分析Dump文件的基础用法
- 使用QueryTable写数据到Excel需要注意的
- Python--使用json.dumps 将 json 格式的数据写到文件里--with open as f
- dump文件的使用
- [bigdata021- python3转换json数据的单引号双引号注意点]
- json解析的注意点
- JSON.stringify 的注意点
- 使用密码文件的几点注意
- 写javascript的注意点
- 写程序的注意点
- 写程序的注意点
- 写程序的注意点
- 写程序的注意点
- eval、json.parse()的介绍和使用注意点
- 野人学Android基础篇之数据存储第一课--SQLite的使用及注意点
- 关于数据序列化(3),使用JSON的方式,以及几个注意的点,以及fastJson的坑
- 使用poi将数据导出为excel文件的几点注意
- PAT a1126题解
- python : trans position cipher
- python3编码转换
- PAT a1127题解
- unity3D学习之声音的采集与处理-audio菜鸟笔记1
- PoEdu_Python_Lesson009_类的基础用法、使用dump写数据到json文件的注意点
- 1065. A+B and C (64bit) (20)
- SVM(Support Vector Machine)分类器详解
- 安卓上裁剪m4a | 铃声是怎么制作出来的
- 1006换个格式输出整数 (15)
- pythonWeb -- Django开发- 模型Model 和 数据库的操作
- 203. Remove Linked List Elements(Java)
- 高级表单与表格、BFC研究
- 自己实现一个简单的散列表