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 背景介绍 最近在学习流量运营, 流量运营的第一站是内容创作, 我试过不少原创内容,都是跟生活相关的例如:录一段联琴的视频、录一段秋天的风景、写一段生活感悟、发一段小宠物的生…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...
大数据驱动企业决策智能化的路径与实践
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:数据驱动的企业竞争力重构 在这个瞬息万变的商业时代,“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...