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

news2025/4/4 18:50:47

Python

第一章、基础语法

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

在这里插入图片描述

02.注释

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

03.变量

变量无类型,数据有类型

变量名 = 变量值

04.数据类型

数据类型:  type()

05.类型转换

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

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

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

只允许出现:
英文、中文、数字、下划线

不能使用数字开头

关键字:

在这里插入图片描述

07.运算符

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

08.字符串

字符串定义

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

注意:引号嵌套。

字符串拼接

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

字符串格式化

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

格式化精度控制

m.n
	m表示宽度
	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+=1
    
for遍历:
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 dict1
 	   print(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 dict1
 	   print(dict1[key])

#统计字典内的元素数量
len(dict1)

08.总结

在这里插入图片描述

09.数据容器的通用操作

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

#将给定容器转换为列表
list(容器)
#将给定容器转换为字符串
str(容器)
#将给定容器转换为元组
tuple(容器)
#将给定容器转换为集合
set(容器)

#进行容器的排序(排序之后全为list)
sorted(容器)

#反向排序
sorted(容器,reverse= True)

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【unity实战】制作一个类帝国时代、红警——RTS战略性游戏

文章目录 先来看看实现的最终效果什么是RTS游戏一、两种方法实现相机的移动旋转缩放以及拖拽功能前言准备第一种办法1. 移动1.1 代码实现&#xff0c;里面都写了详细的中文注释&#xff0c;就不过多解释了1.2 效果&#xff1a;1.3 问题&#xff1a; 2. 缩放2.1 代码 3. 限制范围…

Linux内核TCP参数调优全面解读

Linux内核TCP参数调优全面解读 前言 TCP 性能的提升不仅考察 TCP 的理论知识&#xff0c;还考察了对于操心系统提供的内核参数的理解与应用。 TCP 协议是由操作系统实现&#xff0c;所以操作系统提供了不少调节 TCP 的参数。 如何正确有效的使用这些参数&#xff0c;来提高 T…

微前端框架MicroApp入门学习笔记(一)

1、简介 微前端是一种架构风格&#xff0c;旨在通过将前端应用程序拆分为更小、更可管理的部分&#xff0c;使多个团队能够独立开发、部署和维护这些部分&#xff0c;从而实现前端的可扩展性和可维护性。   MicroApp框架是京东出品的一种用于构建微前端架构的开源框架&#x…

Linux系统开机启动详细流程

目录 Linux系统开机启动流程为什么要了解系统开机启动流程关机的命令开机流程图:开机自检&#xff08;Power-On Self-Test&#xff0c;POST&#xff09;BIOSROM和RAMBIOS的介绍CMOS的介绍&#xff1a;BIOS和CMOS的区别和联系如何进入BIOS系统&#xff1f;如何改BIOS的顺序以及为…

vue js实现表格行拖拽

效果图&#xff1a; <a-table :dataSource"dataSource" :columns"columns" :pagination"false"><template #bodyCell"{ column, record }"><template v-if"column.key td"><div style"cursor: p…

|DataDirectory| 解决Web.config中数据库连接的相对路径问题

1、业务背景 维护老系统代码&#xff0c;Web.config中数据库字符串连接的相对路径的处理 2、核心代码如下 <connectionStrings><add name"connString" connectionString"ProviderMicrosoft.Jet.OLEDB.4.0;Data Source|DataDirectory|\FnDB.mdb"…

【Java】Java中的String类

文章目录 一、认识 String 类二、String 类的常用方法2.1 构造方法2.2 String 类对象之间的比较2.3 字符串查找2.4 字符串的转换2.5 字符串替换2.6 字符串拆分2.7 字符串截取2.8 字符串常量池2.9 字符串的不可变性 三、StringBuilder 和 StringBuffer3.1 StringBuilder3.2 Stri…

robotframework接口自动化测试详解

我们在使用rebotframework的时候&#xff0c;不只是能做UI自动化&#xff0c;接口自动化也是可以的。 那么这里就整理一下rebotframework_接口自动化的应用&#xff1a; 一、编写接口测试 由上图可知&#xff0c;该接口如下信息&#xff1a; 接口功能描述&#xff1a;预诊模…

Spring6快速入门

Spring6快速入门 各工具版本要求&#xff1a; JDK:Java17 Maven:3.6 Spring:6.0.9 简介 Spring是一个控制反转(IOC)&#xff0c;面向切面(AOP)编程的轻量级框架。 2002年&#xff0c;Rod Johnson首次推出Spring框架的雏形&#xff0c;interface21(https://interface21.io/) 200…

python爬虫-获取cookie实例小记

注意&#xff01;&#xff01;&#xff01;&#xff01;某XX网站逆向实例仅作为学习案例&#xff0c;禁止其他个人以及团体做谋利用途&#xff01;&#xff01;&#xff01; 第一步&#xff1a;请求拿到响应内容。并分析。 第二步&#xff1a;关键步骤分析(这部分参考的B站图灵…

2023 年互联网 Java 工程师高级面试八股文汇总(1260 道题目附解析)

今年的行情&#xff0c;让招聘面试变得雪上加霜。已经有不少大厂&#xff0c;如腾讯、字节跳动的招聘名额明显减少&#xff0c;面试门槛却一再拔高&#xff0c;如果不用心准备&#xff0c;很可能就被面试官怼得哑口无言&#xff0c;甚至失去了难得的机会。 现如今&#xff0c;…

concurrenthashmap原理

目录 一、Concurrent类型的容器 二、HashMap多线程死链问题 三、Concurrenthashmap8原理 1、构造器 2、get流程 3、put流程 4、initTable 5、addCount方法 6、size流程 四、Concurrenthashmap7原理 1、put流程 2、rehash扩容流程 3、get流程 一、Concurrent类型的…

如何选型低代码平台

编者按&#xff1a;近年来&#xff0c;在数字经济迅速发展的背景下&#xff0c;越来越多的企业开始建立健全业务系统&#xff0c;借助数字化工具提升管理效率。企业如何选自己合适的产品&#xff0c;本文从低代码定义&#xff0c;特点技术路线做了介绍。其中MyApps低代码平台拥…

git常用命令之tag

11. Tag 11.1 创建tag 命令作用轻量标签git tag v1.0基于本地当前分支最新commit创建tag v1.0git tag v.0325 125a1d1给指定commit 125a1d打标签附注标签git tag -a v.0329 -m "给标签添加说明" 125a1d1基于指定commit创建标签并添加说明git tag -a v.0329 -m &quo…

联邦学习中怎样对数据质量进行评估

目录 联邦学习中怎样对数据质量进行评估 联邦学习中怎么在不暴露数据的情况下&#xff0c;证明数据量条目数 联邦学习中怎样进行数据质量评估 联邦学习中怎样对数据质量进行评估 在联邦学习中&#xff0c;评估数据质量是至关重要的&#xff0c;因为数据质量直接影响到模型的…

Redis 简介与数据类型介绍

目录 ​编辑 一、Redis是什么&#xff1f; 二、redis五大基本类型 2.1 String(字符串) 2.1.1 应用场景 1&#xff09;缓存功能 2&#xff09;计数器 3&#xff09;统计多单位的数量 4&#xff09;共享用户session 2.2 List(列表) 2.2.1 应用场景 1&#xff09;消息队列 2…

07 redux的使用

总结 一.reduxjs/toolkit使用 1.1安装 安装&#xff1a; npm install reduxjs/toolkit在src目录中的store目录中的index.js中添加 1.2导入包中的对象 导入包中的对象 import { createSlice, configureStore } from reduxjs/toolkit1.3创建切片对象 创建切片对象 //这个…

霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)

1.车道线识别 当使用霍夫变换进行车道线识别时,可以按照以下步骤来编写 MATLAB 代码: 读入图像:使用imread函数读取包含车道线的图像。image = imread(lane_image.jpg);图像预处理:为了减少噪音和突出车道线,可以对图像进行预处理。通常,可以采用以下步骤:将图像转换为…

kafka入门,Kafka Broker工作流程、Broker重要参数(十一)

Zookeeper 存储的 Kafka 信息 在zookeeper的服务端存储的Kafka相关信息 1&#xff09;/kafka/brokers/ids [0,1,2] 记录有哪些服务器 2&#xff09;/kafka/brokers/topics/first/partitions/0/state 记录谁是leader,有哪些服务器可用 3&#xff09;/kafka/controller 辅助选举l…

Java中的「接口」到底是什么?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言什么是接口接口的定…