python创建对象后、使用运算符调用_Python基础复习笔记

变量

注释

单行注释 #

多行注释 三个单引号 or 三个双引号

变量类型

数字型

int 整型 float 浮点型 bool 布尔型True和False 复数型

非数字型

str 字符型

定义:单引号和双引号引用起来的就是字符串

可以使用for遍历

切片:字符串[开始索引:结束所有:步长] [::-1] 反转字符串

列表 list

操作

增加

insert 在指定位置插入元素

append 在末尾追加元素

extend 将另一个列表的数据追加到列表

修改

列表[索引] = 数据

删除

del 列表[索引] 删除指定索引的数据

pop 删除最后一个元素

pop(索引) 删除指定索引的数据

clear 清空列表

统计

if 数据 in 列表 判断列表中是否有某个元素

count 数据在列表中出现的次数

排序

sort 升序排序、从小到大

sort(reverse=True) 降序排序,从大到小

元组

元组的元素不能修改

()定义 逗号分开

字典

定义 {}

和列表的区别

列表是有序的对象的集合

字典是无序的对象的集合

字典使用的键值对形式存储数据{key:value}

值可以取任何数据类型,但键只能使用字符串、数字、元组

遍历

遍历所有的key: for key in 字典.keys()

遍历所有的value:for value in 字典.values()

遍历所有的键值: for item in 字典.items()

删除

del.字典[key]

字典.pop(key)

popitem() 随机删除一个

clear() 清空字典

修改

字典[key] key存在—-修改 key不存在—–新建

查看变量的类型 使用type()

变量的格式化输出

%s 字符串

%d 数字

%f 浮点数 %.2f 表示保留两位小数

%% 输出%

变量命名规则

字母、数字、下划线、不能以数字开头

不能和Python中的关键字重名

运算符

算术运算符

比较(关系运算符)

赋值运算符

逻辑运算符

and 并 都为真才会返回True

or 或 有一个为真就会返回True

not 非 取相反

循环和判断

判断

if 条件:条件成立要执行的代码 else:条件不成立要执行的代码

if条件1:条件1成立 elif条件2: 条件2成立 else:条件都不成立

循环

while 条件(判断变量是否满足添加):

条件满足时,做的事情1

条件满足时,做的事情2

break 跳出整个循环

continue 跳出本次循环,执行下一次的循环

随机数使用 import random random.randint()

循环嵌套

九九乘法表

# 定义起始行

# 最大打印9行

while i <= 9:

#定义起始列

j = 1

# 最大打印i列

while j <= i:

# end="",表示输出结束后,不换行

# "\t"可以在控制台输出一个制表符,协助在输出文本时对齐

print("%d * %d = %d" % (i, j, i * j),end="\t")

i += 1

print("") # 换行

j += 1

函数

定义 def 函数名()

调用 函数名()

#函数的返回值 return 之后的代码是不会执行的

四种类型

无参数、无返回值

无参数、有返回值

有参数、无返回值

有参数、有返回值

形参和实参

形参

定义函数时,小括号中的参数,是用来代替真实数据用的,在函数内部作为变量使用

实参

调用函数时,小括号中的参数,是传递到函数内部的真实数据

函数的嵌套

一个函数中又调用了另一个函数

缺省参数

形参设置默认值

调用函数时,如果没有传入缺省参数对应的实参,则实参使用默认值

带有默认值的形参一定要位于参数列表的最后面

命名参数

调用函数时,实参可以指定对应的形参,称为命名参数

全局变量和局部变量

全局变量

在函数外边定义的变量叫做全局变量

全局变量能够在所有的函数中进行访问

如果在函数中修改全局变量,那么久需要使用global进行声明,否则出错

局部变量

函数内部定义的变量

局部变量的作用域只在函数内部

不定长参数

args 将传递的参数包装成了元组

kwargs 不存在的命名参数包装成字典

递归函数

个函数在内部调用其本身,这个函数就是递归函数

引用

python中可以使用id函数查看引用的是否为同一个内存空间,如果返回值相同,说明引用相同

在python中,值是靠引用来传递的

可变类型和不可变类型

可变类型

列表

字典

不可变类型

数值类型 int long bool float

字符串 str

元组 tuple

面向对象

面向对象-01

面向对象和面向过程

面向对象编程OOP,将具有相互关系的数据/操作封装成对象,以对象的角度去处理问题,让对象来完成相应处理

按照业务逻辑从上到下设计程序的方式,叫做面向过程编程POP

类和对象

类:描述共同行为的集合,称为类(class)

对象

属性 方法

类是总结事物特征的抽象概念,而对象是具体存在的某个实物

关系

在编程中,类就是创建对象的模板,用来定义对象公共的行为

类总结了对象的共同的特征,有利于复用代码创建拥有相同特征的对象

每个对象必须有一个对应的类

定义类和方法

定义类

格式 class 类名:

方法列表

类名的命名规则按照大驼峰

定义方法

类是定义对象的共同行为的,也就是说在类中定义对象的方法

class 类名:

def 方法名(self):

第一个形参是self的,就是对象方法

对象方法定义时第一个形参必须是self,但在调用时,不要去传递self对应的实参

定义属性

对象.属性名 = 数据

创建对象

格式:引用对象的变量名 = 类名()

调用方法:引用对象的变量名 = 类名()

定义属性:引用对象的变量名.属性名 = 数据

self关键字

self表示当前调用方法的对象

可以使用方法更加灵活

init

init()方法叫做对象的初始化方法,在创建一个对象后默认会被调用,不需要手动调用

开发者可以实现这个方法,并在该方法中定义属性并设置初始值

str

如果直接print打印对象,会看到创建出来的对象在内存中的地址

str方法必需有返回值,且必须返回一个字符串类型的值

面向对象-02

私有属性

如果在属性名前面加了两个下划线 __ 则表示该属性是私有属性,否则为共有属性

为了数据安全,处理方式

添加一个方法,在方法内部先判断数据的有效性,再赋值属性

将属性定义为私有属性,避免对象在外部直接操作属性

私有属性只能在类的内部访问

私有方法

私有方法和私有属性类似,在方法名之前加了两个下划线 __ 则表明该方法是私有方法

私有方法只能在类的内部使用

del()方法

在创建对象后,Python解释器会默认的调用init()方法

在删除一个对象的时候,Python解释器也会默认的调用一个方法,这个方法是del()方法

当使用del删除变量时,只有当变量指向的对象的所有引用都被删除之后,也就是应用计数为0时,才会真的删除该对象,这时才会触发del()方法

继承

面向对象的三大特征

封装

继承

多态

继承就是某个类直接具备另一个类的能力(属性和方法)

格式 class 子类名(父类名):

给子类添加新方法就是可以在子类中直接添加方法就可以

重写父类的方法

当子类实现一个和父类同名的方法时,叫做重写父类方法

子类重写了父类的方法,子类再调用该方法将不会执行父类的处理

子类重写了父类的方法,依然想使用父类中的方法,则可以在类中使用super()来调用方法

父类名.方法名(self)

super(子类名.self).方法名()

super().方法名

父类的私有方法,属性是不会被子类继承的

可以通过调用继承的父类的共有放入方法,简接的访问父类的私有方法、属性

多继承

所谓的多继承,就是子类有多个父类

父类中的方法和属性会被子类所继承

鸭子类型

鸭子类型语言中,函数/方法可以接受一个任意类型的对象作为参数/返回值,只要该对象实现了代码后续用的属性和方法就不会报错

面向对象03

类属性和静态方法

类方法

@classmethod

参数 cls

方法不使用对象属性、方法,但是使用类属性/类方法

静态方法

@staticmethod

静态方法默认情况下,即不传递类,也不传递对象

new()方法

用于单例模式

异常处理

try:

可能出现异常的代码

except:

出现异常之后要执行的操作

try:

可能出现异常的代码

except:

出现异常之后要执行的操作

else:

如果没有出现异常,就会执行else中的代码’

ffinally:

无论有没有异常,都会执行这里的代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值