Python基础语法笔记整理(黑马8天学会python笔记)

Python

第一章、基础语法

01.字面量(写在代码中的固定的值)

在这里插入图片描述

02.注释

# 单行注释
"""
多行注释
"""

03.变量

变量无类型,数据有类型

变量名 = 变量值

04.数据类型

数据类型:  type()

05.类型转换

字符串转数字:字符串中必须只能由数字

转换为字符串:  str()
转换为浮点数:  float()
转换为整数:  int()

06.标识符(类、方法、变量命名)

只允许出现:
英文、中文、数字、下划线不能使用数字开头

关键字:

在这里插入图片描述

07.运算符

在这里插入图片描述
在这里插入图片描述

08.字符串

字符串定义

三种定义方式:
单引号定义    name='   '
双引号定义	 name="   "
三引号定义 	 name="""          """

注意:引号嵌套。

字符串拼接

加号  +
仅限于字符串类型本身 进行拼接

字符串格式化

方式一:
占位符   % %s 、%d 、%f
多个变量时,按顺序书写
方式二:print(f" xxxx{变量},xxxxx{变量}")

格式化精度控制

m.nm表示宽度n表示小数点精度
  • m比数字本身宽度还小时,m不生效

表达式进行字符串格式化

  • f “{表达式}”
  • "%s \ %d \ %f " %(表达式,表达式)

09.数据输入

  • 数据输入: input()
  • 键盘输入的数据,永远都是 字符串类型

第二章、判断、循环语句

01. 布尔类型和比较运算符

布尔类型的字面量:True False
定义:变量名= 布尔类型的字面量
  • 比较运算符

在这里插入图片描述

02. if语句

if语句

if 条件 :条件成立时,要做的事情

if…else语句

if 条件 :条件成立执行
else :条件不成立执行的条件

if…elif…else语句

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

03.判断语句的嵌套

if 条件1 :条件1成立执行if 条件2 :条件12满足时执行else :条件1满足、条件2不满足时
else :条件1 不满足

04. while循环

while 条件 :条件满足时,做的事...

while 嵌套

while 条件 :条件满足时,做的事...while 条件 :条件满足时,做的事...

05. for循环

方式一:
for 临时变量 in 待处理数据集 :循环满足时执行方式二:
for x in range(起点,终点,步长)

注意:

  • 起点终点区间都是左闭右开
  • 临时变量只能在for循环内部使用

字符串遍历

for x in name_str:print(x)

for循环的嵌套

for 临时变量 in 待处理数据集 :循环满足时执行for 临时变量 in 待处理数据集 :循环满足时执行

06. continue 和 break

  • continue:用于中断本次循环,直接进入下次循环
  • break:用于直接结束循环(多层循环时,跳出一层)

第三章、函数

01.函数

定义

def 函数名 (变量...) :函数体return 返回值

调用

函数名(传入参数)
  • 定义时为:形参
  • 调用时为:实参

02.返回值

return 关键字之后的所有代码都不会执行返回 None 类型:未定义return语句时,返回值都为None在判断语句中,返回False等同于返回None

03. 函数的说明文档

写在函数体之前,通过多行注释的形式,对函数进行说明解释"""
: param x :形参x的说明
: param y :形参y的说明
: return  :返回值的说明
"""

04.函数的嵌套调用

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ZAxwbLh-1688028382262)(C:\Users\Lyanjie\AppData\Roaming\Typora\typora-user-images\image-20230628182207491.png)]

05.变量的作用域

  • 局部变量:定义在函数体的内部的变量,即只能在函数中使用
  • 全局变量:定义在函数体外的,内外都能使用的变量

global关键字

  • 在函数内部声明变量为全局变量

第四章、数据容器

01.数据容器

一种可以存储多个元素的python的数据类型

类型:list、tuple、str、set、dict

02. list列表

定义

变量名 = [元素1,元素2,元素3,...]# 定义空列表
变量名 = []
变量名 = list()
  • 元素类型可以不同。

下标索引

  • 正向索引:索引从0开始
  • 反向索引:从-1开始,依次递减(-1,-2,-3,…)
  • 嵌套列表:同样支持下标索引

常用操作

  • 查询某元素的下标:   列表.index('元素')
    修改特定下标位置值:  列表[索引] = xxx
    在指定下标位置插入元素: 列表.insert(下标,元素)
    追加元素(插入到尾部):	列表.append(元素)列表.extend(其他数据容器)    (将其他数据容器的内容取出,依次追加到列表后)删除元素:   list.pop(下标)del list[下标]删除某元素在列表中的第一个匹配项:	list.remove(元素)清空列表:   list.clear()统计列表中某元素的数量:     list.count("元素")统计列表中所有元素的数量:	len(list)
    

列表的遍历

  • while遍历

    index =0
    while index < len(list):print(list[index])index += 1
    
  • for遍历

    for element in list :print(element)
    

03. tuple元组

元组可以封装多个、不同类型的元素,但一旦定义不可修改

# 定义元组
(元素,元素,...)#定义空元组
t = ()
t = tuple()# 定义单个元素的元组  (必须在后面加上逗号)
t = ("xxx" ,)

相关操作

  • index()
    • t.index(“元素”)
  • count()
    • t.count(“元素”)
  • len()
    • len(元组)

遍历

while遍历:
while index < len(元组):print()index+=1for遍历:
for element in 元组:print

注意:

  • 元组中嵌套有list时,list中的元素可以修改

04.字符串(不支持修改)

#下标索引(可正可负)
m_str[index]#index方法
m_str.index("查找值")#replace 方法
m_str.replace("字符串1","字符串2")#split方法
m_str.split("分隔符")#strip方法
m_str.strip()   #去前后空格
m_str.strip(字符串)   #去前后指定字符串#统计 字符串中某字符出现的次数
m_str.const("字符")#统计字符串的长度
len(m_str)

05.数据容器(序列)的切片

切片:从一个序列中,取出一个子序列

序列[起始下标:结束下标:步长]
#左闭右开#起始下标表示从何处开始,可以留空,留空视作从头开始
#结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾#步长表示,依次取元素的间隔,省略时步长为1

06.集合set

定义:元素不允许重复,内容无序

#定义集合字面量
{元素,元素,...}
#定义集合变量
变量名={元素,元素,...}
#定义空集合
变量名=set()

操作

#添加新元素
jihe.add("元素")
#移出元素
jihe.remove("元素")
#随机取出一个元素
jihe.pop()
#清空集合
jihe.clear()
#取两个集合的差集
jihe1.difference(jihe2)   #集合1有集合2没有
#消除两个集合的差集
jihe1.difference_update(jihe2)   #删除集合1中和集合2相同的元素#两个集合合并为一个集合
jihe.union(jihe2)          #得到新集合,集合1,2不变#统计集合元素的数量
len(jihe)#集合遍历(不能用while循环)
for element in jihe:print(element)

07.字典

定义

不能使用下标索引,可以通过对应的key值找到对应的value值

#定义字典字面量
{key:value,key:value...}#定义字典变量
dict1={key:value,key:value...}#定义空字典
dict1={}
dict1=dict{}#字典的嵌套
dict2={"key1":{"key11":value1....},"key2":{}
}

操作

# 从字典中基于key获取value
dict1["key"]#嵌套字典中取值
dict1["key1"]["key2"]#新增元素
dict1[key]=value#更新元素
dict1[key]=value    #该key已存在于字典中#删除元素
dict1.pop(key)
#清空元素
dict1.clear()
#获取全部的key
dict1.keys()
#遍历字典#方式一:for key in keys:print(dict1[key])#方式二:for key in dict1print(dict1[key])#统计字典内的元素数量
len(dict1)

08.总结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kDoL4n8-1688028382262)(C:\Users\Lyanjie\AppData\Roaming\Typora\typora-user-images\image-20230629164131779.png)]

09.数据容器的通用操作

#元素个数
len()
#最大元素
max()
#最小元素
min()

},“key2”:{}
}


#### 操作```python
# 从字典中基于key获取value
dict1["key"]#嵌套字典中取值
dict1["key1"]["key2"]#新增元素
dict1[key]=value#更新元素
dict1[key]=value    #该key已存在于字典中#删除元素
dict1.pop(key)
#清空元素
dict1.clear()
#获取全部的key
dict1.keys()
#遍历字典#方式一:for key in keys:print(dict1[key])#方式二:for key in dict1print(dict1[key])#统计字典内的元素数量
len(dict1)

08.总结

在这里插入图片描述

09.数据容器的通用操作

#元素个数
len()
#最大元素
max()
#最小元素
min()#将给定容器转换为列表
list(容器)
#将给定容器转换为字符串
str(容器)
#将给定容器转换为元组
tuple(容器)
#将给定容器转换为集合
set(容器)#进行容器的排序(排序之后全为list)
sorted(容器)#反向排序
sorted(容器,reverse= True)

10.补充:字符串的大小比较

按位比较(比较asccii码),只要有一位大,那么整体就大

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2175.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 K8S 中部署一个应用 下

接着上一篇继续部署应用到 K8S中 之前简单部署的简单集群&#xff0c;三个工作节点是运行在 docker 和 kubelet 的&#xff0c;还有一个是控制节点 ReplicationController &#xff0c; pod 和 service 本次关系 之前有提到 ReplicationController &#xff0c; pod 和 服务…

使用 Debian、Docker 和 Nginx 部署 Web 应用

前言 本文将介绍基于 Debian 的系统上使用 Docker 和 Nginx 进行 Web 应用部署的过程。着重介绍了 Debian、Docker 和 Nginx 的安装和配置。 第 1 步&#xff1a;更新和升级 Debian 系统 通过 SSH 连接到服务器。更新软件包列表&#xff1a;sudo apt update升级已安装的软件…

C语言编程—预处理器

预处理器不是编译器的组成部分&#xff0c;但是它是编译过程中一个单独的步骤。简言之&#xff0c;C 预处理器只不过是一个文本替换工具而已&#xff0c;它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器&#xff08;C Preprocessor&#xff09;简写为 CP…

2022年12月份青少年软件编程Python等级考试试卷六级真题(含答案)

一、单选题(共25题&#xff0c;共50分) 1.数据文件“abc.txt”中包含若干个英文单词&#xff0c;如图所示&#xff1a; 读取文件“abc.txt”中数据的Python程序段如下&#xff1a; file abc.txt word_b [] for word in open(file):if word[0:1] a and len(word)>4:wo…

Linux 环境变量 命令行参数

文章目录 问题引入环境变量环境变量相关操纵&#xff08;附源码&#xff09;命令行参数问题解释 问题引入 Linux下&#xff0c;为什么我们自己写的可执行文件需要写明路径才可以执行&#xff0c;而系统的命令不需要&#xff1f; 如何使自己的命令也可以不带路径执行&#xff…

SAP-QM质量管理视图字段解析

QM物料授权:如果在物料主记录中输入物料授权组,则系统将检查(在物料基础上)用户是否具有对以上名称对象的授权。如果未输入授权组,则不进行授权检查。要通过授权检查,用户需要 物料授权,其中包含有字段值所表示的相关授权组。 收货处理时间:收货后的加盐时间(天数)如…

基于Servlet+JDBC实现的基础博客系统>>系列3 -- Servlet后端服务器搭建

目录 前言 1. 前期准备 2. Model层 2.1 数据库的设计 2.2 数据库表对应的实体类实现 User类 Blog类 2.3 JDBC 工具类实现 2.4 UserDao 的实现 2.5 BlogDao 的实现 3. Controller 层实现 3.1 博客列表页 3.1.1 约定前后端交互接口 3.1.2 编写后端代码 3.1.3 编写…

Redis复习

文章目录 分布式锁基本概念及问题超时问题可重入锁 Pub/Sub消息多播Pub/Sub模式订阅消息结构PubSub缺陷 线程 I/O模型非阻塞I/O事件轮询&#xff08;多路复用&#xff09;select函数指令队列 分布式锁 基本概念及问题 如果操作要修改用户状态&#xff0c;需要先读取再修改用户…

Nginx | 苹果电脑Mac安装和验证Nginx服务过程记录

common wx&#xff1a;CodingTechWork&#xff0c;一起学习进步。 引言 本文主要总结如何在Mac电脑上进行Nginx服务的安装&#xff0c;重点讲解使用brew命令进行安装和验证的过程及问题记录。 安装步骤 安装过程记录 查看nginx信息 首先使用命令brew info nginx进行本机ng…

Linux下Master-Master Replication Manager for MySQL 双主故障切换

简述&#xff1a; Master-Master Replication Manager for MySQL&#xff08;MMRM&#xff09;是一种用于MySQL数据库的主-主复制管理工具。它允许在多个MySQL主机之间建立双向的主-主复制关系&#xff0c;实现数据的同步和高可用性。 工作原理是通过在每个MySQL主机上配置双…

传统后端漏洞----(Web Server) 解析漏洞

笔记 前言IIS解析漏洞文件夹解析漏洞原理限制条件 ";" 分号截断漏洞原理 IIS解析漏洞检测IIS 文件夹解析漏洞检测IIS 分号截断漏洞检测 防御手段 Nginx解析漏洞Nginx 文件类型错误解析漏洞导致任意PHP代码执行原理Nginx 空字节解析漏洞导致任意文件可解析&#xff08…

【详细分析】thinkphp反序列化漏洞

文章目录 配置xdebug反序列化漏洞利用链详细分析poc1&#xff08;任意文件删除&#xff09;测试pocpoc2&#xff08;任意命令执行&#xff09;poc3&#xff08;任意命令执行&#xff09; 补充代码基础函数trait关键字应用案例优先级多trait 配置xdebug php.ini [Xdebug] zend…