Day17 json和面向对象

Day17 json和面向对象

一.ison数据

1. json数据格式的作用

1)json的作用:json和xml使两种通用的数据格式,几乎所有的高级的编程语言都支持
json和xml数据的格式的存在,是为了让不同编程语言的程序可以进行 有效的沟通

2.json数据格式
json数据格式的要求:

1)一个json有且只有一个数据
2)唯一的数据必须是json支持的类型的数据

json支持的数据类型:

数字 - 表示的时候直接写,并且支持科学计数法
字符串 - 只能支持双引号,支持转义字符
布尔 - 只有true 和fause(小写)
数组 - 相当于python的列表
字典 - 相当于python的字典,键只能是字符串
空值 - null

3.json数据和python数据的相互转换

python中的json模块可以提供和json相关的操作
1)json转python

json  -  python
数字  -  int, float
字符串  -  str(默认会将双引号变成单引号)
布尔  -  true->True,  false->False
数组  -  list
字典  -  dict
空值  -  null->None
方法:json.loads(json格式的字符串)  -  将json数据转换为对应的python数据(字符串内容是json数据的字符串)

2)python转json

python  -  json
int,float   -   数字
str  -   字符串,(默认会将单引号变成双引号)
布尔  -  True->true,  False->false
list,tuple   -  数组
dict  -  字典
空值  -  None ->null
json.dumps(python数据)  -  将Python数据转换为json格式的字符串

二.编程思想

1. 面向过程编程(穷人思想) - 语法,逻辑
2.函数式编程(小资思想) - 函数
3.面向对象编程(富豪思想) - 类和对象

三.类和对象

1.认识类和对象

什么是类:类就是拥有相同功能和相同属性的对象的集合
什么是对象:类的实例

2.创建类 - 用代码来描述清楚这个类是拥有哪些相同功能,以及哪些形同相性的集合

功能 - 函数
属性 (数据) - 变量

语法:
class 类名:
        类的说明文档和类的内容
        类的内容
说明:
class  -  关键字;固定写法
类名  -  由程序员自己命名,必须满足两个要求:标识符和不是关键字
        三个规范:a.见名知意   b.采用驼峰式命名,第一个字母必须大写   c.不使用 		系统的函数名,类名和模块名
类的说明文档  -  本质就是多行注释
类的内容  -  包含属性和方法,其中属性分为对象属性和类属性两种,方法的本质就是函数,分为对象方法,类方法,静态方法
3.创建对象
语法:
类名()

Day-18类和对象

一.对象方法

1.方法指的就是定义在类中的函数

1)怎么定义:直接定义(不需要添加任何装饰器)在类中的函数就是对象方法
2)怎么调用:通过‘对象.xx()'的形式来调用
3)特点:每个对象方法都有一个默认参数self,在通过对象调用对象方法时self不需要传参,系统会自动把当前对象传参给self,self谁调用就指向谁

2.初始化方法 - init
__init__是python类中一个特殊的对象方法,也是魔法方法

魔法方法:类中方法名以__开头并且__结尾都是魔法方法,是系统自带的
魔法方法不需要程序员主动调用,系统会在特定的情况下自动调用。

1)__init__会在创建对象的时候被自动调用
2)通过类创建对象的时候需不需要参数和需要几个参数由类中的__init__决定

二.属性

1.类中的属性

定义类就是用代码来描述类是拥有哪些相同特征的事物的总和
如果特征是通过数据来体现的,那么这种特征就用属性来表示

1)类属性
a.怎么定义:直接将变量定义在类中,这个变量就是类属性
b.怎么使用:通过’类.xx’的方式来使用
c.什么时候用:属性值不会因为对象不同而不一样的时候就使用类属性

2)对象属性
a.怎么定义:以’self.xx=值’的形式定义在__init__方法中
b.怎么使用:通过’对象.xx’的方式来使用
c.什么时候用:属性值会因为对象不同而不一样的时候就使用对象属性

2.对象属性默认值

1)方式1:使用固定的值(主要用于这个属性值在绝大部分情况下都是一个值,极少情况会变化的时候用)
2)方式2:在__init__中提供给给这个属性赋值的形参,形参没有默认值(属性值一般都不一样)
3)方式3:在__init__中提供给给这个属性赋值的形参,形参有默认值

三.方法

1.对象方法

a.怎么定义:直接定义
b.怎么调用:对象.xx()
c.特点:参数self,不需要传参,指向当前对象
d.什么时候用:如果实现函数的功能需要用到对象属性就使用对象方法

2.类方法

a.怎么定义:定义函数前加@classmethod装饰器
b.怎么调用:类.xx()
c.特点:自带参数cls,调用的时候不用传参,系统会自动将当前类传参给cls
d.什么时候用:在不需要对象属性的情况下需要类就使用类方法

3.静态方法

a.怎么定义:定义函数前加@staticmethod装饰器
b.怎么调用:类.xx()
c.特点:没有默认参数
d.什么时候用:不需要类也不需要对象,就使用静态方法

四.属性增删改查

1.查 - 获取属性值

对象.对象属性 - 获取指定属性对应的值
getatter(对象,属性名) - 动态获取指定属性对应的值
getatter(对象,属性名,默认值) - 动态获取指定属性对应的值,如果属性不存在返回默认值

2.增,改

对象.属性=值 - 如果属性存在就是修改指定属性的值,如果不存在就添加属性
setatter(对象,属性名,值) - 如果属性存在就是修改指定属性的值,如果不存在就添加属性

3.删除

del 对象.属性
delatter(对象,属性名)

4.slots - 可以约束当前类的对象最多能拥有哪些对象属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值