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 背景介绍 最近在学习流量运营, 流量运营的第一站是内容创作, 我试过不少原创内容,都是跟生活相关的例如:录一段联琴的视频、录一段秋天的风景、写一段生活感悟、发一段小宠物的生…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
Element-Plus:popconfirm与tooltip一起使用不生效?
你们好,我是金金金。 场景 我正在使用Element-plus组件库当中的el-popconfirm和el-tooltip,产品要求是两个需要结合一起使用,也就是鼠标悬浮上去有提示文字,并且点击之后需要出现气泡确认框 代码 <el-popconfirm title"是…...
npm安装electron下载太慢,导致报错
npm安装electron下载太慢,导致报错 背景 想学习electron框架做个桌面应用,卡在了安装依赖(无语了)。。。一开始以为node版本或者npm版本太低问题,调整版本后还是报错。偶尔执行install命令后,可以开始下载…...
第2课 SiC MOSFET与 Si IGBT 静态特性对比
2.1 输出特性对比 2.2 转移特性对比 2.1 输出特性对比 器件的输出特性描述了当温度和栅源电压(栅射电压)为某一具体数值时,漏极电流(集电极电流...
React 样式方案与状态方案初探
React 本身只提供了基础 UI 层开发范式,其他特性的支持需要借助相关社区方案实现。本文将介绍 React 应用体系中样式方案与状态方案的主流选择,帮助开发者根据项目需求做出合适的选择。 1. React 样式方案 1.1. 内联样式 (Inline Styles) 通过 style …...
