Python基础复习【第一弹】【黑马】
本篇是观看b站黑马视频所做的笔记第一弹,为1-98节。
b站-黑马Python
# 1.Hello World
print("Hello World")# 2.字面量 在代码中,被写下来固定的值# 3.字符串
print("python")# 4.单行注释 # 多行注释""" """# 5.type()获得类型
str_type = type("python")
print(str_type) #<class 'str'># 6.类型转换
tmp1 = 1
print(int(tmp1))
print(float(tmp1))
print(str(tmp1))
print(int(11.56))#丢失精度# 7.标识符,英文,中文,下划线,数字,内容限定,大小写敏感,不可使用关键字# 8.Python大小写敏感# 9.加减乘除+-*/ 取余% 取整除// 指数**# 10.'s' "s" """s"""都是可以定义字符串 对于""""""有等号就是字符串# 11.转义字符 \
print("\"str")# 12.字符串拼接 +# 13.占位符 %s %d %f %5.2f 代表宽度为5小数点后面为2
var1 = "s1"
var2 = "s2"
message = "两个变量为%s和%s" % (var1,var2)
print(message)# 14.快速占位
var3 = 'sss'
var4 = '333'
print(f"不会做精度控制快速占位{var3}和{var4}")# 15.表达式的格式化
print("1*2的结果是:%d" % (1*2))
print(f"1*2的结果是:{1*2}")# 16.输入
#name = input("请输入信息") 默认都是字符串# 17.布尔类型bool
print(f"3大于5吗{3 > 5}")# 18.比较运算符 == != > < >= <=# 19.if语句 if(): // if(): else: // if(): elif: else:# 20.循环语句 while i < 0:# 21.随机数
import random
num = random.randint(1,10)#产生1~10中的一个数# 22.print不换行 print()空就是一个换行
print('Hello', end = '')# 23.字表符 \t 进行对齐# 24.输出九九乘法表
print("")
#第一种方法
i = 1
while i <= 9:j = 1while j <= i:print(f"\t{j}*{i}={j*i}", end = '')j += 1i += 1print("")
print("")
#第二种方法
for i in range(9):for j in range(i+1):print("\t%d*%d=%d" % (j+1,i+1,(i+1)*(j+1)), end ='')print("")# 25.for循环
name = 'ForwardSummer'
for i in name:print(f"{i},",end = '')
# 26.range() 左开右闭 可加步进# 27.continue跳过本次循环 break跳过所有循环# 28.len()函数# 29.函数定义,函数参数,返回值, 返回None
print()
def DefineF(x):return "这是一个函数"
print(DefineF(1))# 30.函数注释,在函数体中使用多行注释来进行函数注释
def DefineY(x):""":param x::return:"""return "这是一个函数"# 31 列表基础 长度可变 可修改
new_list1 = ['1','2']
new_list2 = []
new_list3 = [[1,2,3],[4,5,6]]#嵌套
new_list4 = ['1',1,True]
print(new_list1[-1])
print(new_list1.index('1'))
new_list1.insert(1,'3')
new_list1.append('4')
new_list1.extend(new_list4)
del new_list1[1]#删除
new_list1.pop(2)#删除可以去除元素,可接收
new_list1.remove('1')#从后向前删除第一个元素
new_list3.clear()#清空列表
new_list4.count('1')#统计元素的数量
print(len(new_list1))#长度统计# 32 列表遍历
#while循环
#for循环# 33. 元组 一旦定义不可修改 但内部可变
t1 = ('1',1,True)
t2 = ()
t3 = tuple()
t4 = ('hello',)#注意定义一个元素的逗号
t5 = ((1,2),(3,4))
#取元素 index(),count(),len()和list一样# 34. 字符串 像列表一样 下标取值 不可修改 count len和list一样
str1 = "dhi 145"
print(str1.index("1"))
str2 = str1.replace("d","1")
print(str1)
print(str2)
str1_list = str1.split(" ")
str3 = str1.strip()#不传入参数就是前后空格
str4 = str1.strip("d")#传入参数回去除本身及其子串# 35. 序列和切片 列表 元组 字符串都是序列 左闭右开 可取步长,步长为负数开始和结束也要反转
new_list5 = [1,2,3,4]
new_list6 = new_list5[:4]# 36.列表有序可重复可添加 集合不可重复无序 列表[]集合{}字符串""元组()
new_set = {1,2,3}
new_set1 = set()#集合的定义不能用{}被字典占用 定义重复key,新的把老的覆盖
new_set.add(3)
new_set.remove(3)
print(new_set)
new_set.pop()#随机取出一个值
#new_set.clear()
new_set2 = new_set1.difference(new_set1)#取差集 两个集合都不会变
new_set1.difference_update(new_set2)#取差集 谁调用 谁修改 集合1去掉和集合2相同的元素
new_set3 = new_set1.union(new_list2)#两个集合不变 得到一个新的集合
len(new_set1)#求集合的数量# 37.集合的遍历
for el in new_set3:print(el)# 38.字典 用{}定义,元素是一个一个键值对
new_dict1 = {}
new_dict2 = dict()
new_dict3 = {"小明":1,"小华":2}
score_1 = new_dict3["小明"]
print(score_1)
new_dict4 = {"小梦":{"语文":30,"数学":59},"小鸣":{"语文":49,"数学":100}}
print(new_dict4["小梦"]["语文"])# 39.字典常用操作
new_dict3["小明"] = 9 #更新
new_dict3["小流"] = 5 #新增
new_dict3.pop("小明") #删除
new_dict3.clear() #清空
keys = new_dict4.keys() #获取全部的key
for key in keys: #不支持while循环print(f"字典的key是:{key}")print("字典的key是:%s" % new_dict4[key])
for key in new_dict4:print(f"字典的key是:{key}")print("字典的key是:%s" % new_dict4[key])
new_dict4len = len(new_dict4)# 40.容器的通用操作
len(new_set1) #长度的通用操作
print(max(new_set)) #最大最小函数,max min
#list(容器) #truple(容器) #set(容器) #str(容器)
#字典转列表 会抛弃所有的value#排序
sorted(new_list3) #sorted排序后会变成列表
sorted(new_list2, reverse = True) #反向排序# 41.字符串的比较 按照ASCLL码同位依次比较# 42.函数的返回值 有多个return 只返回第一个 返回多个值用逗号隔开
# 函数的多返回值
def test_return_muti():return 1, 2
# 43.函数的多种返回形式
# 位置参数 关键字参数 缺省参数 不定长参数
def test_guanjianzi(name, age, gender):print(f"您的名字是:{name},年龄是:{age},性别是:{gender}")
test_guanjianzi(name = "小明",age = 11,gender = "男")
# 位置参数和关键字参数可以混用
test_guanjianzi("小明",11,gender = "男")
def test_qusheng(name, age=1):#带默认值必须放在最后print(f"{name},age")
def test_budingchang(*args):#位置不定长print(args)#默认存的是元组
def test_bdcguanjianzi(**kwargs):#关键字的不定长必须传入key-value形式print(kwargs)
test_bdcguanjianzi(name = "小明", age = 11)
# 44.函数做作为参数
def test_hanshu(compute):#计算逻辑的传递而非数据的传递result = compute(1,2)print(result)
def compute(a,b):return a + b
# 45.lambda函匿名函数没有名称 只能临时使用一次 写一行
test_hanshu(lambda x, y: x+y)# 46.文件的编码 UTF-8# 47.文件的操作 打开读取和关闭
# with open 会自动关闭文件 建议用这个
with open("D:/PyCharm/Test/FileIO/TestFile.txt",'r',encoding='UTF-8') as f:for line in f:print(line)
# 统计a的个数
# open(name,mode,encoding) 文件的名字/只读 写入 追加/UTF-8
f = open("D:/PyCharm/Test/FileIO/TestFile.txt",'r',encoding='UTF-8')
print(type(f))
# f.read(num) num限制读取字节长度 在程序中多次调用read会从上次读取末尾开始
# lines = f.readlines() #read的方法大类共享一个指针 readlines读取全部的行
# print(lines)
# readline一次读取一行
# 用for循环读取操作
# for line in f:
# print(line)
print(f.read().count('a'))
# 文件的关闭 不关闭会造成一直占用
f.close()
# 去除反斜杠n 可以替换 可以用line.strip() strip()去除开头结尾空格和换行符
# f.write()写入 f.flush()刷新后写入文件 不存在创建文件
f1 = open("D:/PyCharm/Test/FileIO/TestFileWrite.txt",'w',encoding='UTF-8')
f1.write("Hello World")
f1.flush()
f1.close()
f2 = open("D:/PyCharm/Test/FileIO/TestFileAppend.txt",'a',encoding='UTF-8')
f2.write("Hello World")
f2.close()# 48.Python异常
# 48.1 捕获异常 try: 可能发生的异常 except:出现异常执行的代码
# 48.2 捕获指定异常 try: except NameError as e: 执行的语句 只捕获名字不存的异常
# 48.3 捕获多个异常 try: except (NameError,ZeroDivisionError) as e: 执行的语句 捕获名字不存和除0异常
# 48.4 捕获所有异常 try: except Exception as e: 执行的语句 捕获所有的异常
# 48.5 捕获所有异常 try: except :出现异常 else:没有出现异常 finally:无论无何都会执行 比如文件的关闭
# 48.6 异常的传递 在函数的调用时会一层一层向上传 传递几次 出现几次 不用去底层出现异常的地方去捕获 在上层的调用中捕获就可以# 49.模块 Module是一个python文件 以.py结尾 模块能定义函数 类和变量
# 语法 [from 模块名] import [模块|类|变量|函数|*] as 别名
import time as t
print("开始")
t.sleep(5)#睡眠5秒钟
print("结束")
# 自定义模块 直接import 直接调用里面的函数 同名函数会覆盖
# 导入模块会直接调用模块中已经调用的函数 可以用 if __name__ == '__main__': 就不会被调用了
# 在被调用Module中加入__all__=['函数名a']就只能用'函数名a' 其他不能用了
# python模块相当于一个文件 python包相当于一个文件夹 _init_.py有这个相当于一个文件夹
# import my_package.my_module1
# my_package.my_module1.module1_print()
from my_package.my_module1 import module1_print
# 可以进行更细粒度的函数的导入 module也可以
module1_print()
# 在_init_.py文件中可以控制import*时的要插入的mudule 但是只能控制* 手动一个个插入是可以的
# __all__ = [my_module1]
相关文章:
Python基础复习【第一弹】【黑马】
本篇是观看b站黑马视频所做的笔记第一弹,为1-98节。 b站-黑马Python # 1.Hello World print("Hello World")# 2.字面量 在代码中,被写下来固定的值# 3.字符串 print("python")# 4.单行注释 # 多行注释""" "&q…...

【Word】公式编辑器中连字符/减号等显示偏长/过长
问题 当公式编辑器中出现连字符的时候,连字符显示偏长,如下图所示: 方法 在连字符的前后加上双引号后即可解决连字符显示偏长的问题。 最终效果对比如下: 结语 Word的公式编辑器中,双引号内部的内容被当做普通…...
架构设计系列4:如何设计高性能架构
在架构设计系列1:什么是架构设计中,我们讲了架构设计的主要目的,是为了解决软件系统复杂度带来的问题,今天我们来聊聊软件系统复杂度的来源之一高性能。 一、什么是高性能架构? 要搞清楚什么是高性能架构,…...

1392. 最长快乐前缀
链接: 1392. 最长快乐前缀 题解: class Solution { public:string longestPrefix(string s) {if (s.size() < 0) {return "";}int MOD 1e9 7;// 构建26的n次方,预处理std::vector<long> pow26(s.size());pow26[0] 1…...

【C++设计模式之备忘录模式:行为型】分析及示例
简介 备忘录模式(Memento Pattern)是一种行为型设计模式,它用于保存和恢复对象的状态。备忘录模式通过将对象的状态封装成一个备忘录(Memento),并将备忘录保存在一个管理者(Caretakerÿ…...

数据结构与算法(四):哈希表
参考引用 Hello 算法 Github:hello-algo 1. 哈希表 1.1 哈希表概述 哈希表(hash table),又称散列表,其通过建立键 key 与值 value 之间的映射,实现高效的元素查询 具体而言,向哈希表输入一个键…...

FFmpeg 命令:从入门到精通 | ffplay 播放控制选项
FFmpeg 命令:从入门到精通 | ffplay 播放控制选项 FFmpeg 命令:从入门到精通 | ffplay 播放控制选项选项表格图片 FFmpeg 命令:从入门到精通 | ffplay 播放控制选项 选项表格 项目说明Q,Esc退出播放F,鼠标左键双击全…...
代码随想录day59
647. 回文子串 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成&#…...

【小工具-生成合并文件】使用python实现2个excel文件根据主键合并生成csv文件
1 小工具说明 1.1 功能说明 一般来说,我们会先有一个老的文件,这个文件内容是定制好相关列的表格,作为每天的报告。 当下一天来的时候,需要根据新的报表文件和昨天的报表文件做一个合并,合并的时候就会出现有些事新增…...

【论文阅读】An Evaluation of Concurrency Control with One Thousand Cores
An Evaluation of Concurrency Control with One Thousand Cores Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores ABSTRACT 随着多核处理器的发展,一个芯片可能有几十乃至上百个core。在数百个线程并行运行的情况下&…...

网页版”高德地图“如何设置默认城市?
问题: 每次打开网页版高德地图时默认定位的都是“北京”,想设置起始点为目前本人所在城市,烦恼的是高德地图默认的初始位置是北京。 解决: 目前网页版高德地图暂不支持设置起始点,打开默认都是北京,只能将…...

小谈设计模式(8)—代理模式
小谈设计模式(8)—代理模式 专栏介绍专栏地址专栏介绍 代理模式代理模式角色分析抽象主题(Subject)真实主题(Real Subject)代理(Proxy) 应用场景远程代理虚拟代理安全代理智能引用代…...
queryWrapper的使用教程
大于、等于、小于 eq 等于 例:queryWrapper.eq("属性","lkm") ——> 属性 lkm ne 不等于 例:queryWrapper.ne("属性","lkm") ——> 属性<> lkm gt 大于 例:queryWrapper.gt("属性…...
数组模拟双链表
文章目录 QuestionIdeasCode Question 实现一个双链表,双链表初始为空,支持 5 种操作: 在最左侧插入一个数; 在最右侧插入一个数; 将第 k 个插入的数删除; 在第 k 个插入的数左侧插入一个数; …...

鸡群优化(CSO)算法(含MATLAB代码)
先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…...

3. 安装lombok maven镜像设置
安装lombok & maven镜像设置 一、maven镜像设置 Maven:负责进行项目管理、依赖工具管理的 软件。 快捷解决方案: 1.方法一 直接配置系统默认的文件 各个人因为登录的用户名不同,所以目录名不同。 2.方法二 自定义本地仓库的位置 完成之后重新打…...

详谈Spring
作者:爱塔居 专栏:JavaEE 目录 一、Spring是什么? 1.1 Spring框架的一些核心特点: 二、IoC(控制反转)是什么? 2.1 实现手段 2.2 依赖注入(DI)的实现原理 2.3 优点 三、AO…...

PyTorch入门之【AlexNet】
参考文献:https://www.bilibili.com/video/BV1DP411C7Bw/?spm_id_from333.999.0.0&vd_source98d31d5c9db8c0021988f2c2c25a9620 AlexNet 是一个经典的卷积神经网络模型,用于图像分类任务。 目录 大纲dataloadermodeltraintest 大纲 各个文件的作用&…...

(六)正点原子STM32MP135移植——内核移植
目录 一、概述 二、编译官方代码 三、移植 四、编译 一、概述 前面已经移植好了TF-A、optee、u-boot,在u-boot能正常跑起来的情况下,现在来移植内核。 二、编译官方代码 进入kernel目录 2.1 解压源码、打补丁 /* 解压源码 */ tar xf linux-6.1.28.…...
自媒体工作内容管理助手
内容助手 访问地址:editor.yunwow.cn 背景介绍 最近在学习流量运营, 流量运营的第一站是内容创作, 我试过不少原创内容,都是跟生活相关的例如:录一段联琴的视频、录一段秋天的风景、写一段生活感悟、发一段小宠物的生…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...

云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...

C# WPF 左右布局实现学习笔记(1)
开发流程视频: https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码: GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用(.NET Framework) 2.…...