Python基础知识点整理(详细)
Python知识点整理(详细)
- 输出函数
- print()
可以向屏幕打印内容,或者在打开指定文件后,向文件中输入内容
- print()
- 输入函数
- input([prompt])
[prompt] 为输入的提示字符。该函数返回在屏幕中输入的内容
- input([prompt])
- 变量
- 变量的定义
变量由 标识、类型、值 三部分组成a = “test”a :即为变量 test:为值可以通过 id(a) 来获取变量的标识(唯一) type(a)获取变量类型
- 变量的定义
- 数据类型
- 整数类型
可以表示正数、负数和零整数的不同进制表示方式十进制 --> 默认的进制 如 18二进制 -->以 0b开头八进制 -->以0o开头十六进制 -->以0x开头 - 浮点数类型
浮点数由整数部分和小数部分组成使用浮点数进行计算时,可能会出现小数位数不确定的情况,通过导入模块 decimal 使用 Decimal() 函数解决。 例如 Decimal(‘1.1’) + Decimal(‘2.2’) #3.3 可以精确到小数点后一位 - 布尔类型
用来表示真或假的值True表示真,false表示假布尔值可以转换成整数True -- 1 false -- 0 - 字符串类型
字符串又被称为不可变的字符序列可以使用 单引号、双引号、三引号来定义单引号和双引号定义的字符串必须在一行三引号定义的字符串可以分布在连续的多行
- 整数类型
- 数据类型转换
- 转换成 str()类型
使用 引号 即可进行转换或者使用 str() - 转换成 int()类型
1、文字类和小数类字符串无法转换成整数2、浮点数转换成整数,抹零取整使用 int () - 转换成 float()类型
1、文字类无法转换成整数2、整数转换成浮点数,末尾为 .0使用 float ()
- 转换成 str()类型
- 注释
- 单行注释
以 # 开头,直到换行结束 - 多行注释
将一对三引号之间的代码,成为多行注释 - 中文编码声明注释
在文件开头加上中文声明注释,用以指定源码文件的编码格式
- 单行注释
- 运算符
- 算术运算符
- 标准运算符
加 + 减 - 乘 * 除 /其中 11/2 = 5.5 是除法运算 11//2 = 5是整除运算 一正一负时,向下取整 - 取余运算符
%余数 = 被除数 - 除数*商 #注意一正一负的情况 - 幂运算符
**a = 2**3 # 8 2的3次方=8
- 标准运算符
- 赋值运算符
执行顺序: 右→左支持链式赋值: a=b=c=20支持参数赋值:+=、-=、*=、....支持系列解包赋值:a,b,c = 20,30,40; - 比较运算符
>、 <、 >=、 <=、 !=== 对象 value的比较 (值比较)is、is not 对象的 id 比较 - 布尔运算符
and、or、not、in、not in - 位运算符
位与 & :对应数位都是 1,结果数位才是 1 ,否则为 0 位或 !:对应数位都是 0 ,结果数才是 0 ,否则为 1左移位运算符 << :高位溢出舍弃,低位补 0右移位运算符 >> :低位溢出舍弃,高位补 0 - 运算符优先级
算术 > 位 > 比较 > 布尔 > 赋值
- 算术运算符
- 对象的布尔值
Python 一切皆对象,所有对象都有一个 布尔值获取对象的布尔值: bool()以下对象的布尔值为 falseFalse数值()None空字符串空列表空元组空字典空集合 - 选择结构
- 单分支结构
- 中文语义
如果 .. 就... - 语法结构
if 条件表达式: 条件执行体
- 中文语义
- 双分支结构
- 中文语义
如果 .. 就.. 不是...就... - 语法结构
if 条件表达式: 条件执行体1else: 条件执行体2
- 中文语义
- 多分支结构
- 中文语义
如果不是 .. 就..不是..就..不是..就..不是..就..不是..就..是.. 就.. - 语法结构
if 条件表达式1: 条件执行体1elif 条件表达式2: 条件执行体2elif 条件表达式N: 条件执行体N[else:] 条件执行体 N+1
- 中文语义
- 嵌套if
- 语法结构
if 条件表达式1: if 内层条件表达式: 内层条件执行体1 else : 内层条件执行体2else : 条件执行体
- 语法结构
- 单分支结构
- 条件表达式
- 中文语义
条件表达式是 if....else 的简写 - 语法结构
x if 判断条件 else y - 运算规则
如果判断条件的布尔值为True,条件表达式的返回值为 x,否则返回 y
- 中文语义
- pass语句
- pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方
- 先搭建语法结构,还没想好代码怎么写的时候使用
- 与以下语句一起使用
if 语句的条件执行体for-in 语句的循环体定义函数时的函数体
- 内置函数 range()
- 用于生成一个整数序列
- 创建 range 对象三种方式
- range(stop)
创建一个 [0,stop)之间的整数序列,步长为 1 - range(start,stop)
创建一个 [start,stop)之间的整数序列,步长为 1 - range(start,stop,step)
创建一个 [start,stop)之间的整数序列,步长为 step
- range(stop)
- 返回值是一个迭代器对象
- range 类型的优点
- in与not in 判断整数序列中是否存在(不存在)指定的整数
- 循环结构
- 反复做同一件事情的情况,称为循环
- 循环的分类
- while
- for - in
- 中文语义
in 表达从(字符串、序列等)中以此取值,又称遍历for - in 遍历的对象必须是可迭代对象 - 语法结构
for 自定义的变量 in 可迭代对象 循环体 - 循环体内不需要访问自定义变量,可以将自定义变量代替为下划线
- 中文语义
- 语法结构
while 条件表达式: 条件执行体(循环体) - 选择结构的 if 与循环结构的 while 的区别
1、if 是判断一次,条件为 True 执行一行2、while 是判断 N+1次,条件为 True 执行 N次 - 流程控制语句
- break语句
用于结束循环结构,通常与分支结构 if 一起使用 - continue
用于结束当前循环,进入下一次循环,通常与分支结构中的if 一起使用
- break语句
- 与else语句配合使用的三种情况:
- if ... else ...
if 条件表达式不成立时执行 else - while ... else ...
没有碰到 break 时执行else - for .... else ....
没有碰到 break 时执行else
- if ... else ...
- 嵌套循环
循环结构中又嵌套了另外的完整的循环结构其中内层循环作为外层循环的循环体执行
- 列表
- 列表的创建
- 使用 中括号 [] 创建
列表元素用 逗号 进行分割lst = ['hello','python',111] - 使用内置函数 list()创建
lst = list(['hello','python',111])
- 使用 中括号 [] 创建
- 列表的特点
- 列表元素按顺序有序排列
- 索引映射唯一一个数据
- 列表可以存储重复数据
- 任意数据类型混存
- 根据需要动态分配和回收内存
- 列表的查询操作
- 获取列表中指定元素的索引
- index()
1、例如查询列表中存在N个相同元素,只返回相同元素中的第一个元素的索引2、如果查询的元素在列表中不存在,则会抛出 ValueError 的异常3、还可以在指定的 start 和 stop 之间进行查找,含头不含尾 - 获取列表中的单个元素
- 获取单个元素
1、正向索引从 0 到 N-1 例: lst[0]2、逆向索引从 -N 到 -1 例:lst[-N]3、指定索引不存在,抛出 IndexError 异常 - 获取列表中的多个元素
- 语法格式
列表名 [start : stop : step]- 切片结果
原列表片段的拷贝 - 切片范围
[start,stop) - step 默认为 1
简写为[start : stop] - step 为正数时
从 start 开始向后计算切片[ : stop : step] :切片的第一个元素默认是列表的第一个元素[start : : step] :切片的最后一个元素默认是列表的最后一个元素 - step 为负数时
从start 开始往前计算切片[ : stop : step] :切片的第一个元素默认是列表最后一个元素[start : : step] :切片的最后一个元素默认是列表的第一个元素 - 判断指定元素在列表中是否存在
元素 in 列表名元素 not in 列表名 - 列表元素的遍历
for 迭代变量 in 列表名: 操作
- 切片结果
- 语法格式
- 获取单个元素
- index()
- 获取列表中指定元素的索引
- 列表元素的增加操作
- append()
在列表的末尾添加一个元素 - extend()
在列表的末尾至少添加一个元素 - insert()
在列表的任意位置添加一个元素参数1:添加的位置参数2:添加的元素lst[1:] = 9 #在列表 lst的位置 1 后面添加数字元素 9 - 切片
在列表的任意位置添加至少一个元素参数1:添加的位置参数2:添加的元素lst[1:] = lst1 #在列表 lst的位置 1 后面添加列表 lst1的元素
- append()
- 列表元素的删除操作
- remove()
1、一次删除一个元素2、重复元素只删除第一个3、元素不存在抛出 ValueError 异常例: remove(1) #删除列表中第一个出现的 值为1 的元素,没有就抛异常 - pop()
1、删除一个指定索引位置上的元素2、指定索引不存在抛出 IndexError 异常3、不指定索引,删除列表中的最后一个元素例:pop(1) #删除列表中索引为 1 的元素 - clear()
清空列表 - del
删除列表 - 切片
一次至少删除一个元素,但将产生一个新的列表对象例:new_list = lst[1:3] #将列表中索引 1 之前和3(含3)之后删除lst[1:3] = [] # 将索引1-3(不含3)赋值为空,即删除
- remove()
- 列表元素的修改操作
- 为指定索引的元素赋予一个新值
lst[2] = 100 #将列表索引为 2 的元素的值修改为 100 - 为指定的切片赋予一个新值
lst[1:3] = [300,400,500,600] #在列表的1-3位置的值修改为[300,400,500,600]
- 为指定索引的元素赋予一个新值
- 列表元素的排序操作
- sort()
列表中的所有元素默认按照从小到大的顺序进行排序,可以指定 reverse = True 进行降序排序不产生新的列表,排序改变原列表 - 内置函数 sorted()
可以指定 reverse = True ,进行降序排序,原列表不发生改变,产生新列表
- sort()
- 列表生成式
- 语法格式
[ i * i for i in range( 1,10)]i*i :表示列表元素的表达式i:自定义变量range(1,10):可迭代对象lst = [i for i rang(1,5)] # lst中包含的元素为 [1,2,3,4,5] - 注意事项
表示列表元素的表达式中通常包含自定义变量
- 语法格式
- 列表的创建
- 字典
Python 内置的数据结构之一,与列表一样是一个可变序列以键值对的方式存储数据,字典是一个无序的序列score = {'课程' : python , '姓名' : ‘张三’}score:字典名课程、姓名:键python、张三:值键 :值 元素1,元素2- 字典的创建
- 使用花括号{}
score = {'课程' :‘python’ , ‘李四’:99} - 使用内置函数 dict()
dict(name = ‘jack ’ ,age = 20)
- 使用花括号{}
- 字典中元素的获取
- [] 中括号
score['name'] - get()方法
score.get(‘name’,99) # 获取 key 为name 的值,如果不存在,返回 99 (指定的不存在时默认返回值),如果不指定不存在时返回的默认值 ,则返回 None - [] 取值与使用 get()取值的区别
[ ] 如果字典中不存在指定的 key ,抛出 keyError 异常get()方法取值,如果字典中不存在指定的key,并不会抛异常,而是返回None,可以通过参数设置默认的 value,以便指定 key 不存在时的返回
- [] 中括号
- key 的判断
in :指定的key在字典中存在返回 True not in:指定的 key 不存在返回 True - 字典元素的删除
del score['name'] #删除值 为 name 的 - 字典元素的新增
scores ['name'] = 'python' # 新增 key 为name 值为 python 的元素 - 字典视图的三个方法
- keys()
获取字典中所有 keymykeys = scores.keys() - values()
获取字典中所有 valuemykeys = scores.values() - items()
获取字典中所有的 键值对mykeys = scores.items()
- keys()
- 字典元素的遍历
for item in scores : print( item ) - 字典的特点
- 字典中的所有元素都是一个 key - value对,key 不允许重复,value 可以重复
- 字典中的元素是无序的
- 字典中的 key 必须是不可变对象
- 字典也可以根据需要动态的伸缩
- 字典会浪费较大的内存,是一种使用空间换时间的数据结构
- 字典生成式
- 使用内置函数 zip()
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表items = [‘Fruits’,‘Book’,‘Other’]prices = [90,23,56]d = {item : price for item,price in zip(items,prices)} #将以items中的元素为 key ,以prices 中的元素为 value 对应生成一个 字典
- 使用内置函数 zip()
- 字典的创建
- 元组
Python 内置的数据结构之一,是一个不可变序列- 元组的创建方式
- 直接小括号 ()
t = ('python',‘hello’) - 使用内置函数 tuple()
t = tuple(‘python’,‘hello’) - 只包含一个元组的元素需要使用逗号和小括号
t = (10,)
- 直接小括号 ()
- 元组的遍历
元组是可迭代对象,所以可以使用 for ... in 进行遍历
- 元组的创建方式
- 不可变序列与可变序列
- 不可变序列:字符串、元组
不可改变序列中的元素,一旦改变就产生新对象:没有增删改操作 - 可变序列:列表,字典
可以改变序列的元素:可以增删改操作,对象地址不发生改变,即不产生新对象
- 不可变序列:字符串、元组
- 集合
是Python提供的内置数据结构与列表、字典一样都属于可变类型 的序列集合是没有 value 的字典- 集合的创建
- 使用 花括号创建 {}
s = {2,3,4,5} #集合中的元素不允许重复 - 使用 内置函数set()创建
s = set([1,2,3,4,5]) #其中的 [1,2,3,4,5]可以是 元组、列表、字符串等类型
- 使用 花括号创建 {}
- 集合元素的判断操作
innot in - 集合元素的新增操作
- add()
一次添加一个元素 - update()
至少添加一个元素
- add()
- 集合元素的删除操作
- remove()
一次删除一个指定元素,如果指定的元素不存在抛出 KeyError 异常 - discard()
一次删除一个指定的元素,如果指定的元素不存在,不抛出异常 - pop()
一次只删除一个任意的元素 - clear()
清空集合
- remove()
- 集合间的关系
- 俩个集合是否相等
可以使用运算符 == 或 != 进行判断 - 一个集合是否是另一个集合的子集
可以调用方法 issubset 进行判断B.issubset (A) #B是不是A的子集 - 一个集合是否是另一个集合的超集
可以调用方法 issuperset 进行判断B.issuperset (A) #B是不是A的子超集 - 俩个集合是否没有交集
可以调用方法 isdisjoint 进行判断B.isdisjoint (A) #A B是否有交集
- 俩个集合是否相等
- 集合的生成式
{ i*i for i in range(1,10) }
- 集合的创建
Python基础知识点整理(详细)的更多相关文章
- python 基础知识点整理 和详细应用
Python教程 Python是一种简单易学,功能强大的编程语言.它包含了高效的高级数据结构和简单而有效的方法,面向对象编程.Python优雅的语法,动态类型,以及它天然的解释能力,使其成为理想的语言 ...
- python基础知识点整理
序列 描述 sequence(序列)是一组有顺序的元素的集合.序列可以包含一个或多个元素,也可以没有任何元素.我们之前所说的基本数据类型,都可以作为序列的元素. 序列有两种:tuple(定值表: 也有 ...
- 最全Python基础知识点梳理
本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象,也算是对于学习这门语言的一个总结与回顾.python的详细语法介绍可以查看官方编程手册,也有一些在线网站可以学习 python语言 ...
- HTML&&CSS基础知识点整理
HTML&&CSS基础知识点整理 一.WEB标准:一系列标准的集合 1. 结构(Structure):html 语言:XHTML[可扩展超文本标识语言]和XML[可扩展标记语言] 2. ...
- TypeScript 基础知识点整理
一.TypeScript的特点 1.支持ES6规范 2.强大的IDE支持(集成开发环境) 允许为变量指定类型,减少你在开发阶段犯错误的几率. 语法提示,在IDE编写代码时,它会根据你所处的上下文把你能 ...
- 【Android 面试基础知识点整理】
针对Android面试中常见的一些知识点整理,Max 仅仅是个搬运工.感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章.对于当中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正 ...
- Python基础知识点小结
1.Python基础知识 在Python中的两种注释方法,分别是#注释和引号(''' ''')注释,#注释类似于C语言中的//注释,引号注释类似于C语言中的/* */注释.接着在Python中 ...
- Python基础知识点总结
Python基础知识与常用数据类型 一.Python概述: 1.1.Python的特点: 1.Python是一门面向对象的语言,在Python中一切皆对象 2.Python是一门解释性语言 3.Pyt ...
- python基础知识点四
网络编程(socket) 软件开发的架构: 两个程序之间通讯的应用大致通过从用户层面可以分为两种: 1是C/S,即客户端与服务端,为应用类的,比如微信,网盘等需要安装桌面应用的 2是B/S,即浏览器与 ...
随机推荐
- CTF-BugKu-WEB-35-41
2020.09.19 go on,今天务必搞定web 经验教训 能运行php标签的扩展名有php4,phtml,phtm,phps,php5等,可以在php被过滤的时候尝试: html请求头中,对内容 ...
- vue单页面条件下添加类似浏览器的标签页切换功能
在用vue开发的时候,单页面应用程序,而又有标签页这种需求,各种方式实现不了, 从这个 到这个,然后再返回上面那个 因为每个标签页的route不一样,导致组件重新渲染的问题,怎么都不知道如何实现... ...
- HotSpot VM 中的JIT分类
在HotSpot VM中内嵌有两个JIT编译器,分别为Client Compiler和Server Compiler,但大多数情况下我们简称为C1编译器和C2编译器.开发人员可以通过如下命令显式指定J ...
- 查看 JVM 参数的默认值
查看初始默认值:-XX:+PrintFlagsInitial HuandeMacBook-Air:~ huanliu$ java -XX:+PrintFlagsInitial [Global flag ...
- .net core中的那些常用的日志框架(Logging篇)
前言 日志,在我们每个项目中是必不可少的,它不仅能在调试的时候测试数据,而且在项目上线,也是我们排查错误的得力助手,那我就能谈谈,用的多的几个日志框架吧!如果有不对的地方,欢迎来指教错误,谢谢! As ...
- 使用 mysqld_safe 启动 mysqld 服务
目录 mysqld_safe 介绍 启动 停止 mysqld_safe 介绍 mysqld_safe is the recommended way to start a mysqld server o ...
- 详细分析 Java 中启动线程的正确和错误方式
目录 启动线程的正确和错误方式 前文回顾 start 方法和 run 方法的比较 start 方法分析 start 方法的含义以及注意事项 start 方法源码分析 源码 源码中的流程 run 方法分 ...
- Go 基本类型
整形 标准整形 标准整形是按长度进行分类的,其中uint8为byte型,int16为C语言中的short型,int64为C语言中的long类型. 类型 描述 uint8 无符号 8位整型 (0 到 2 ...
- 使用IBMMQ时的那些事
之前项目一直使用的是ActiveMQ,突然要变更成IBMMQ,整理了一些搭建MQ和代码连接MQ是遇到的问题,记录一下. (1)三个系统之内部使用IBMMQ交互,所以应设立两个本地接收队列和两个发送队列 ...
- 在IDEA创建类时自动创建作者日期等信息设定
1.效果 1 package com.dream.test; 2 3 /* 4 * @author 匠人码农 5 * @date 2020/04/18 11:17 6 * 概要: 7 * XXXXX ...