Python判断语句
判断语句知识点Tip:嵌套是之前的条件满足的情况下,还需要增加额外的判断,前后条件有关联关系。elif是同时判断多个条件,而所有的条件都是平级的,前后条件没有关联关系
if12if 条件判断: 执行语句
if … else …1234if 条件语句: 条件为真时执行语句else: 条件为假时执行语句
if … elif … else1234567if 条件1: 条件1满足时执行的代码elif 条件2: 条件2满足时执行的代码 # ...else: 以上所有条件不满足时执行的代码
逻辑运算123# 与运算:条件1 and 条件2# 或运算:条件1 or 条件2# 非运算:not 条件
包学习123import random# randint:返回a到b之间的整数,返回的值包括a,bprint(random.randint(a,b))
小技巧123456# 当判断条件过长时,可将条件用()多包裹一层,然后将条件合理换行并多缩进一个tab,原本的判断条件和执行语句之间保留一个空行if (条件1 and 条件2 ...
包管理
包知识点包结构123# 包是一个包含多个模块的特殊目录# 目录下有一个特殊的文件: __init__.py# 包名的命名方式和变量名一致,"小写字母" + "_"
新建包方法1:右键【项目】–> 【Directory】–> 新建一个【__init__.py】文件
方法2:右键【项目】–> 【python packages】
__init__.py编辑1234# 要在外界使用包中的模块,需要在__init__.py中指定对外界提供的模块列表# .表示从当前目录导入模块列表from . import 模块名from . import 模块名
发布模块
创建setup.py文件,该文件与要打包的目录平级,内容非常的固定
123456789101112from distutils.core import setupsetup(name = "message" # 包名,也就是包文件夹的名称 version= "1.0" # 版本 description = " ...
Python协程
迭代器
术语解释
迭代:迭代表示在原有已存在的事物上追加新的东西
迭代器:迭代器是一个可以记住遍历的位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问结束,迭代器只能往前不能后退
作用
迭代器的存在可以改变传统数据调用的方式(先存后取,占用大量空间),而是变为存储数据生成的规则,这样极大的减少了对内存的消耗
可迭代对象
可迭代数据类型:
字符串、列表、元组、字典、集合
检查对象是否可迭代
1234# 利用isinstance(a, b)判断a对象是否由b类创建,是则返回True,否则返回Falsefrom collections.abc import Iterablelist_name = [1, 2, 3, 4]result = isinstance(list_name, Iterable)
12345678910111213141516171819# 判断一个对象是否可迭代(可迭代对象中必须包含__iter__私有方法)from collections.abc import Iterableclass Classmate(object): def ...
单例设计模式
单例设计模式知识点12# 让类创建的对象,在系统中只有一个唯一的实例# 每执行一次"类名()"返回的对象,内存地址都是相同的
分配空间:__new__123456# 实例化对象时,先调用__new__方法为对象分配空间,其是object的内置方法,作用包括以下: # 1. 在内存中为对象分配空间 # 2. 返回对象的引用,然后将该引用作为第一个参数,传递给__init__方法# 重写__new__方法的代码固定: # 1. 重写new方法一定要:return super().__new__(cls),否则python得不到分配空间的对象引用,就不会调用对象的初始化方法 # 2. __new__是一个静态方法,调用时需主动传递"cls"参数
123456789101112131415161718# 单例设计:用同一个类创建的对象,在系统中只有唯一的一个实例# 配合类属性还可以使初始化动作只执行一次class MusicPlayer(object): # 定义一个空值,用于保存创建的对象 instance = ...
变量的使用和定义
变量的使用和定义知识点定义变量12345# 变量使用前必须赋值,赋值后的变量才会被创建# 程序执行完成后,就会从内存中清除变量# python解释器会自动的推导出变量的类型# python中变量区分大小写# 变量格式:变量名 = 变量值
变量的内容12345# 内存中存储变量时,会记录以下信息:# 变量的名称# 变量保存的数据# 变量存储数据的类型# 变量的地址(标识)
12# 查看变量的类型type(变量名)
变量的命名12# 为了保证代码可读性,= 号两边各保留一个空格# 如果局部变量名由多个单词组成,则每个单词都用小写字母,且单词与单词之间用_链接
变量的计算
变量的计算知识点输入&输出123# input传入的都是字符串类型变量名 = input(提示信息)print(输出信息)
数据转换
函数
说明
int(x)
将x转换为整数
float(x)
将x转换为浮点数
格式化输出
字符
含义
%s
字符串
%d
有符号十进制整数,%06d表示输出的整数显示位数,不足的地方用0表示
%f
浮点数,%.2f表示小数点后只显示两位
%%
输出%
1print("%s" % shuai)
关键字12import keywordprint(keyword.kwlist)
作业
在pycharm中创建文件test.py,编写如下需求:
提醒用户输入任意字符,提示语为:”请输入信息”
打印出用户输入的数据,并打印出其类型
在第一题的基础上,修改需求如下:
提醒用户输入数字1-9,提示语为:”请输入整数”
然后将用户输入的整数转换为整数类型,并输出
之后将用户输入的数字转换为小数类型,并格式化输出其数据
(问答)请根据如下列出的要求写出其对应的格式化输出字符是什么
小数点后 ...
变量的存储解读
变量高级知识点备注:变量、数据均保存在内存中,函数的参数传递、返回值都是靠引用传递的
引用1234# 在python中,变量和数据是分开保存的# 数据保存在内存中的一个位置,可以用id(变量名)查询到# 变量保存着数据在内存中的地址,这就叫做引用# 当对一个已存在的变量进行赋值时,本质上只是修改了该变量名对数据的引用
可变、不可变类型123456# 可变类型:列表、字典# 不可变类型:数字类型、字符串、元组# 字典的key:必须是不可变类型(数字类型、字符串、元组)# 可变意味着可以修改内存中数据的内容,而数字、字符串、元组无法修改。# 而列表、字典即使定义以后,依然可以修改其内存中存储的数据内容
科普:
python中,创建字典内容的数据时,会首先对键值对的key进行hash,以决定如何在内存中保存字典中的数据,便于后期的数据修改
hash:是python中内置的一个函数(hash(变量值)),允许接受一个不可变类型作为参数,然后返回一个整数(提取的数据的特征码)。通过hash得到的结果,如果是相同的输入,则得到相同的输出,反之得到不同的结果
作业
(问答)python中,变 ...
面向对象基础
面向对象基础知识点备注:类更注重对象和职责,不同的对象承担不同的责任
概念123# 类是一类具有相同特征/行为的事物的统称,是抽象的概念,不能直接使用 # 特征:在类中被称为属性 # 行为:在类中被称为方法
12345# 在完成需求前,首先要确定职责 -- 要做的事情(方法)# 根据职责确定不同的对象(类): # 将属性和方法封装到一个抽象的类中 # 外界使用类创建对象,然后通过对象调用属性、方法# 最后完成的代码,就是让不同的对象调用不同的方法
类的设计1234# 先有类,后有对象# 类名定义满足大驼峰命名法# 面向对象设计前,需分析需求,程序中包含哪些类
dir():查看对象的所有属性和方法1234# 查看对象所拥有的属性、方法# 1. 在标识符/数据后加.,然后按Tab键# 2. 使用dir(对象)dir(对象)
内置函数/方法
方法名
作用
__new__
创建对象时,自动调用
__init__
对象初始化时,被自动调用
__del__
对象从内存中删除,会被自动调用
__dir__
返回对象的描述信息,print函数输出 ...