当前位置: 首页 > news >正文

python:基础知识

环境:

  • window11
  • python 3.10.6
  • vscode
  • javascript、c/c++/java/c#基础(与这些语言对比)

注释

在这里插入图片描述

一、数据类型

基础六大数据类型,可以使用 type()查看,如下图:

在这里插入图片描述

1.1 数字(Number)

支持

  • 整数(int)
  • 浮点数(float)
  • 复数(complex),如:4+3j,以j结尾表示复数
  • 布尔(bool)True用1表示,False用0表示,反之,1表示True,其他表示False

1.2 字符串(String)

1.3 列表(List)

有序的可变列表

1.4 元组(Tuple)

有序的不可变序列,可有序记录一堆不可变的Python数据集合

1.5 集合(Set)

无序不重复结合
可无序记录一堆不重复的Python数据集合

1.6 字典(Dictionary)

无序Key-Value集合
可无序记录一堆Key-Value型的Python数据集合

1.7 数据类型转换

可以将任意类型转为字符串,如:数字/字符串/列表/元组/集合/字典 => 字符串,如下图:
在这里插入图片描述

但字符串并不能转到任意其他类型,因为字符串本质是一个字符列表,下面看转换的效果:
在这里插入图片描述

其他的转换,如:int <=>float吗,需要注意:float转int会有精度丢失(注意是精度丢失,不是四舍五入),看下图:
在这里插入图片描述

二、变量

python是脚本语言,弱类型,所以一个变量可以随便赋其他的值,甚至变更数据类型,这点和javascript类似。
另外,python中不用定义变量,直接使用即可,如下:
在这里插入图片描述

三、运算符

常见运算符 :+ 加法,- 减法,* 乘法,/ 除法,// 整除,% 取余,**指数

下面列出重点关注的几项:
在这里插入图片描述

四、字符串扩展

4.1 定义的三种方式:

  • 使用单引号' abc'
  • 使用双引号"abc"
  • 使用 """abc"""'''abc'''

特点总结:

  1. 单引号和双引号的作用类似,支持这两种方式就给了我们不写转移字符的可能 \,如:
    在这里插入图片描述
  2. 使用 """abc"""'''abc''',就可以让我们省去表示换行符合\的苦恼,看下面对比效果:
    在这里插入图片描述
    另外,我们需要注意,"""abc"""'''abc'''的开头和结尾不想有换行的话,要紧贴这写,否则会产生换行符,如下:
    在这里插入图片描述

4.2 字符串的拼接

使用 + 可进行拼接,但不同于其他语言,我们不能将字符串和其他类型(如:int)进行相加,如下:
在这里插入图片描述

javascript是允许的,这点得注意下:
在这里插入图片描述

4.3 字符串格式化

上面使用+对字符串拼接简单的还行,当相加内容很多的话就不易读了,而且还不支持其他数据类型(比如: int/float)自动转字符串,所以就有了下面两种字符串格式化方法:

  • %d, %f, %s:类似c语言
  • f"{exp}{exp2}"

下面是效果:
在这里插入图片描述

五、交互式输入

可以使用input(prompt)获取用户控制台的输入,回车后,用户输入的字符串就传到了程序中,如下:
在这里插入图片描述

六、for循环和range

python中的for循环没有 for(int x=0;x<10;x++)这种格式,只有: for x in li:这种,如下:
在这里插入图片描述
这种方式,是没办法这循环体中获取当前进度的,但我们可以借助range

range函数本身是生成一个范围,格式为:range(start,end,step) 注意:包含start,不包含end,看下面的示例:
在这里插入图片描述
那么,组合rangefor循环如下:
在这里插入图片描述

七、函数

7.1 简单函数

直接看下面的使用示例:
在这里插入图片描述
返回的None可以用于if判断中,表示False
returnreturn None 是一样的。

7.2 函数中的参数和返回值

另外,python中的函数还有一些特点,如:

  • 支持返回多个值
  • 支持默认参数、关键字参数、不定长参数(*和**)

直接看示例:
在这里插入图片描述

不定长参数示例:
在这里插入图片描述

7.3 函数做参数/匿名函数/lambda函数

在这里插入图片描述

八、容器之列表

8.1 概念和操作

python中的list类似javascript中的数组, c#中的list,常见操作如下:

  • 获取列表长度: len(li)
  • 获取指定索引元素: li[index]
  • 遍历: for x in li:
  • 获取值所在索引: li.index(ele)
  • 插入: li.insert(index,ele)
  • 追加: li.apped(ele)
  • 追加另一个容器: li.extend(li2)
  • 移除指定元素: li.remove(ele)
  • 根据下标移除: dele li[index]
  • 从末尾弹出: delEle=li.pop()
  • 清空列表: li.clear()
  • 统计列表中某个元素的数量: li.count(ele)
  • 列表排序: li.sort(key=lambda: x: x"age"], reverse=True)

看下面的示例:

8.2 通过下标访问列表

在这里插入图片描述

8.3 循环遍历列表

在这里插入图片描述

8.4 常见函数用法(增删改查、排序、统计)

# 插入到指定位置
print()
print("------li.insert()-------")
li = ["刘备", "关羽", "张飞"]
li.insert(0, '曹操')
print(f'["刘备", "关羽", "张飞"].insert(0,"曹操")=> {li}')# 追加元素
print()
print("--------append()------")
li = ["刘备", "关羽", "张飞"]
li.append("孔明")
print(f'["刘备", "关羽", "张飞"].append("孔明")=> {li}')# 追加另一个容器
print()
print("--------extend()------")
li = ["刘备", "关羽", "张飞"]
li.extend(["孙策", "孙权"])
print(f'["刘备", "关羽", "张飞"].append(["孙策", "孙权"])=> {li}')# 移除指定元素
print()
print("--------remove(): 只移除第一个------")
li = ["刘备", "关羽", "张飞", "关羽"]
li.remove('关羽')
print(f'["刘备", "关羽", "张飞","关羽"].remove("关羽")=> {li}')# 根据下标移除
print()
print("--------del list[index]: 根据下标移除------")
li = ["刘备", "关羽", "张飞"]
del li[1]
print(f'["刘备", "关羽", "张飞"] del li[1]=> {li}')# 从末尾移除一个
print()
print("--------pop(): 从末尾弹出一个------")
li = ["刘备", "关羽", "张飞"]
ele = li.pop()
print(f'["刘备", "关羽", "张飞"].pop()=> {li}, ele={ele}')# 清空列表
print()
print("--------clear(): 清空列表------")
li = ["刘备", "关羽", "张飞"]
li.clear()
print(f'["刘备", "关羽", "张飞"].clear()=> {li}')# 获取列表长度
print()
print("--------len(li): 获取列表长度------")
li = ["刘备", "关羽", "张飞"]
count = len(li)
print(f'len(["刘备", "关羽", "张飞"])=> {count}')# 统计列表元素数量
print()
print("--------count(ele): 统计列表某个元素数量------")
li = ["刘备", "关羽", "张飞", "关羽"]
count = li.count("关羽")
print(f'["刘备", "关羽", "张飞","关羽"].count("关羽")=> {count}')# 列表排序
print()
print("--------sort(): 列表排序------")
li = ["a", "c", "b"]
li.sort()
print(f'["a","c","b"].sort()=> {li}')
li = ["a", "c", "b"]
li.sort(reverse=True)
print(f'["a","c","b"].sort(reverse=True)=> {li}')
li = [{"name": "小明", "age": 18},{"name": "小花", "age": 16},{"name": "小刚", "age": 20}]
li.sort(key=lambda x: x["age"], reverse=True)
print(f'[dict1,dict2,dict3].sort(key=lambda x: x["age"])=> {li}')""" 输出如下:
PS D:\jackletter\pylearn> py .\15.py------li.insert()-------
["刘备", "关羽", "张飞"].insert(0,"曹操")=> ['曹操', '刘备', '关羽', '张飞']--------append()------
["刘备", "关羽", "张飞"].append("孔明")=> ['刘备', '关羽', '张飞', '孔明']--------extend()------
["刘备", "关羽", "张飞"].append(["孙策", "孙权"])=> ['刘备', '关羽', '张飞', '孙策', '孙权']--------remove(): 只移除第一个------
["刘备", "关羽", "张飞","关羽"].remove("关羽")=> ['刘备', '张飞', '关羽']--------del list[index]: 根据下标移除------
["刘备", "关羽", "张飞"] del li[1]=> ['刘备', '张飞']--------pop(): 从末尾弹出一个------
["刘备", "关羽", "张飞"].pop()=> ['刘备', '关羽'], ele=张飞--------clear(): 清空列表------
["刘备", "关羽", "张飞"].clear()=> []--------len(li): 获取列表长度------
len(["刘备", "关羽", "张飞"])=> 3--------count(ele): 统计列表某个元素数量------
["刘备", "关羽", "张飞","关羽"].count("关羽")=> 2--------sort(): 列表排序------
["a","c","b"].sort()=> ['a', 'b', 'c']
["a","c","b"].sort(reverse=True)=> ['c', 'b', 'a']
[dict1,dict2,dict3].sort(key=lambda x: x["age"])=> [{'name': '小刚', 'age': 20}, {'name': '小明', 'age': 18}, {'name': '小花', 'age': 16}]
PS D:\jackletter\pylearn>
"""

九、容器之元组

python中除了list还有tuple,元组是只读的,所以没有增删改等操作。
直接看下面:

9.1 元组的定义

在这里插入图片描述

9.2 元组的访问和遍历

因为元组是按顺序存储,所以支持按照索引访问,同时支持for循环,如下:
在这里插入图片描述

9.3 元组函数 index 和 count

这个和list的用法类似,如下:
在这里插入图片描述

十、容器之字符串

字符串可以看做是字符的只读容器,类似list

10.1 字符串的下标访问和遍历

在这里插入图片描述

10.1 常见函数

在这里插入图片描述

十一、容器(序列)的切片

列表(list)、元组(tuple)、字符串(str) 这三个都是序列,它们支持切片操作。
切片的语法为:seq[start:end:step],其中,start/end/step的默认值分别为:0/len(seq)/1

下面以列表为例,看下它的效果:在这里插入图片描述
对元组和字符串也是一样的,如下:
在这里插入图片描述

十二、容器之集合

集合相对于列表、元组、字符串的特点是:无序且唯一。
因为无序自然不能用下标访问,也不能用于切片。
唯一是集合自动去重的。

12.1 集合的定义

在这里插入图片描述

12.2 集合的遍历

在这里插入图片描述

12.3 集合的常见操作

  • 添加 se.add(ele)
  • 移除/弹出 se.remove(ele) / ele = se.pop()
  • 清空 se.clear()

如下图:
在这里插入图片描述

还有集合运算

  • 求交集 se & se2
  • 求并集 se | se2
  • 求差集 se - se2
  • 求补集 se ^ se2

如下图:
在这里插入图片描述

还有集合运算后将结果覆盖第一个集合的,如:
se.intersection_update(se2)
se.difference_update(se2)

不再实验

十三、容器之字典

python中的字典和javascript的对象一个意思,直接看下面的示例:

字典的定义:
在这里插入图片描述

注意:我们如果 dic[key] 如果不存在的话会报错,但我们可以使用 dic.get(key),当然我们也可以使用__contains__去判断,如下:
在这里插入图片描述

字典的遍历:
在这里插入图片描述
字典改数据:
在这里插入图片描述

十四、文件操作

文件模式:
r 只读
w:存在则覆盖,不存在则新建
a:存在则追加,不存在则新建追加

简单的写入和读写示例:
在这里插入图片描述
我们也可以指定读取的字符数(注意:不是字节数)或读取一行,如下(还是用上面创建的txt):
在这里插入图片描述
我们也可以使用for循环读取,另外,我们可以使用with关键字以防止忘记写close()
在这里插入图片描述

十五、异常

直接看下面的示例:

print("------捕获异常---")
try:i = 5/0
except Exception as ex:print(type(ex), ex)print()
print("------捕获异常---")
try:dic = {"age": 18}i = dic["name"]
except Exception as ex:print(type(ex), ex)print()
print("------捕获异常---")
try:i = 5/0
except:print("异常了")print()
print("-------捕获多种异常--------")
try:i = 5/0
except (KeyError, ZeroDivisionError) as ex:print(type(ex), ex)print()
print("------finally-------")
try:i = 5/0
except:print("异常了")
finally:print("finally执行了")print()
print("--------自己引发异常-------")
try:raise Exception("测试手动抛异常")
except Exception as ex:print(ex)

输出如下:

在这里插入图片描述

十六、模块和包

概念:在python中简单理解,一个文件就是一个模块
导入模块的语法:
[from 模块名] import [ 模块 | 类 | 变量 | 函数 | * ] [as 别名]

常用形式:

  • import 模块名
  • from 模块名 import 类、变量、方法等
  • from 模块名 import *
  • import 模块名 as 别名
  • from 模块名 import 功能名 as 别名

看一个简单的示例(导入系统提供的):
在这里插入图片描述

16.1 自定义模块

我们可以自定义模块,然后导入,如下:

# 路径: /cc/c_28.py# 默认定义的都可以被导出, 可以使用 __all__指定仅导出哪些,但仅限定在 import *
__all__ = ["funcSub"]def funcSub(x, y):return x-yprint()
print("-------------")
print(f"__file__:{__file__}")
print(f"__name__:{__name__}")
if (__name__ == "__main__"):print(f"直接运行脚本: {__file__}")
else:print(f"导入了脚本: {__file__}")
# 路径: /pp/test.py
import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))from cc.c_28 import funcSubprint()
print("-----------")
print(f"funcSub(1, 2)=>{funcSub(1, 2)}")

运行如下:
在这里插入图片描述

上面有几点需要注意下:

  • __name__ 可以用来判断当前模块是被导入的还是直接运行的
  • __all__ 可以用来限制导入时(import *) 只能导入指定的模块(注意,只有在 import * 时有效)
  • 可以使用 sys.path.append(xx) 将指定的路径加入到模块搜索中去

16.2 包和自定义包

在python中包其实就是一个文件夹,里面可以放许多的模块(代码文件),通过包进行归类,方便管理。
但python包和普通文件夹又有区别:包下面有一个 __init__.py 文件来标识这是一个包,通常会在这个文件中使用`all``来限制导出的内容。
如:
在这里插入图片描述

十七、pip和国内源

参考:《python配置国内镜像源操作步骤》

类似 java中的mavenjavascript中的npmpython中也有pip管理包的程序。
我们可以通过它方便的引用三方包,如下:

我们可以先通过命令查看配置:
在这里插入图片描述
来解释下:

  • pip config list 显示所有的配置,当前已设置了国内源,如果没有的话可以参考:
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    pip config set install.trusted-host='pypi.tuna.tsinghua.edu.cn'

    其他常用的源还有:
    1、华南理工大学镜像源
    http://pypi.hustunique.com/simple/%29
    2、清华大学
    https://pypi.tuna.tsinghua.edu.cn/simple
    3、豆瓣
    http://pypi.douban.com/simple/
    4、清华大学开源镜像站
    https://mirrors.tuna.tsinghua.edu.cn/
    5、网易开源
    http://mirrors.163.com/
    6、华为
    https://mirrors.huaweicloud.com/
    7、阿里巴巴
    https://opsx.alibaba.com/mirror/

  • pip list 显示当前安装的三方包
    可以看到,当前我安装了一个 numpy,另外两个是自带的,安装命令为:
    pip install aliyun-python-sdk-core==2.13.36 (也可以不指定版本)
    如下:
    在这里插入图片描述

十八、虚拟环境

18.1 概念

pythonjavac#这种语言不一样:

  • javac#都是静态语言,安装的都是别人编译好的包,它们可以将一个包的各个版本缓存起来,然后加入到项目的引用即可;
  • python是解释性语言,安装的都是源码,没有将包的某个版本加入到项目引用这种说法,所以管理起来就麻烦很多;

javascript也是解释性语言,它也有同样的问题,不过npm是将本项目引用的包都放在node_moudules文件夹下面。缺点就是每个新项目都得重新下,即使我们用的是xxxx包的同一个版本。

python为了解决这个问题,提出了虚拟环境的概念,就是将python拷贝一份作为新的环境,这样我们在新的环境里安装包不会影响其他环境里的,做到了隔离。比如:

  • 我们在环境A里导入了xxxx包的1.0版本,在环境B里导入了xxxx包的2.0版本。它们互不影响;
  • 项目A和项目B使用环境A,因为它们都会导入相同版本的包,项目C和项目D使用环境B,因为它们也会使用相同环境的包;

18.2 创建和使用虚拟环境

我们先选择一个目录,如 D:\jackletter\my-venv,然后执行如下:py -m venv my-venv

在这里插入图片描述
执行完成后,看看里面的东西:
在这里插入图片描述
我们需要激活这个环境,如下:
.\Scripts\Activate.ps1
在这里插入图片描述
其实激活就是将my-venv的路径配置到path里面,如下:
在这里插入图片描述
在虚拟环境里,我们安装的包都在 my-venv\Lib\site-packages下,如下:
在这里插入图片描述

退出虚拟环境的命令是:.\Scripts\deactivate.bat,不过在powershell中不好用。。。但在cmd里是可以的。。。

相关文章:

TCP/IP协议族中的TCP(二):解析其关键特性与机制

⭐小白苦学IT的博客主页⭐ ⭐初学者必看&#xff1a;Linux操作系统入门⭐ ⭐代码仓库&#xff1a;Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 滑动窗口 在前面我们讨论了确认应答策略, 对每一个发送的数据段, 都要给一个ACK确认应答. 收到ACK后再发送下一个数据段.这样…...

区块链 | IPFS:Merkle DAG(进阶版)

&#x1f98a;原文&#xff1a;Merkle DAGs: Structuring Data for the Distributed Web &#x1f98a;写在前面&#xff1a;本文属于搬运博客&#xff0c;自己留存学习。 1 Merkle DAG 当我们在计算机上表示图时&#xff0c;必须通过提供节点和边的具体表示来编码我们的数据…...

Jammy@Jetson Orin Nano - Tensorflow GPU版本安装

JammyJetson Orin Nano - Tensorflow GPU版本安装 1. 源由2. 问题2.1 Tensorflow跑以下示例代码的时候&#xff0c;发现jtop中6个CPU占用率都跑满了。2.2 Jetson Orin Nano运行Tensorflow示例结果不一致 3. 分析3.1 当前版本Tensorflow 2.16.13.2 GPU版本二进制安装3.3 GPU版本…...

WPF上位机 - 轴运动控制

最近学习WPF,写了一个WPF上位机使用S7.NETPlus 库与西门子1500TPLC,控制西门子伺服的通用上位机界面。分享在写上位机过程中踩的一些坑和使用体验。 上位机介绍可以看到上位机分为3个区域轴选择,使能区域 控制参数设置区域 诊断区域选择使能区域 选择区域读取TIA中组态的轴工…...

python烟花代码

在Python中&#xff0c;可以使用多种方式来模拟烟花效果&#xff0c;其中一种常见的方法是使用turtle图形库来绘制。以下是一个简单的示例&#xff0c;展示了如何使用turtle来创建一个烟花效果的动画&#xff1a; import turtle import random# 设置屏幕和背景 screen turtle…...

unicode编码 asis_2019_unicorn_shop

这题就是让我们购买第四个商品当我们输入price为1337.0的时候他会报错,显示要我们只输入一个字符那么我们就要想怎样用一个字符来表示一个比1337还要大的数字 答案是unicode 编码 (题目的名字给了提示) 上这个网站我们直接查看2000的unicode编码把这个编码复制一下(这就是2…...

python:基础知识

环境&#xff1a; window11python 3.10.6vscodejavascript、c/c/java/c#基础&#xff08;与这些语言对比&#xff09; 注释 一、数据类型 基础六大数据类型&#xff0c;可以使用 type()查看&#xff0c;如下图&#xff1a; 1.1 数字&#xff08;Number&#xff09; 支持 整…...

智工教育:每年必考!教师编制这些考点必背!

夸美纽斯的教育思想 &#xff08;1&#xff09;著作&#xff1a;《大教学论》&#xff0c;是近代最早的一部教育学著作&#xff0c;是近代独立形态教育学的开端&#xff0c;标志着教育学开始成为一门独立学科。 &#xff08;2&#xff09;观点&#xff1a; 对学年制、班级授…...

C++基础——输入输出和缺省参数讲解

上篇文章中&#xff0c;我们学习了C的域名空间&#xff0c;这次继续来学习C的基础知识。 目录 一.C的输入输出 总结&#xff1a; 二.缺省参数 全缺省案例&#xff1a; 部分缺省案例&#xff1a; 一.C的输入输出 例&#xff1a; #include<iostream> using std::co…...

Git使用详细教程

1. cmd面板的常用命令 clear&#xff1a;清屏cd 文件夹名称----进入文件夹cd … 进入上一级目录(两个点)dir 查看当前目录下的文件和文件夹(全拼:directory)Is 查看当前目录下的文件和文件夹touch 文件名----创建文件echo 内容 > 创建文件名----创建文件并写入内容rm 文件名…...

11月新书预告——GNN、深度学习和元宇宙

11月的新书聚焦AI的前沿主题——GNN&#xff0c;另外&#xff0c;还有两本重磅的深度学习好书&#xff0c;也不乏元宇宙、智能驾驶和硬件产品经理等全新技术主题的好书。 1. 图神经网络&#xff1a;基础、前沿与应用 吴凌飞 崔鹏 裴健 赵亮 编著 张钹、韩家炜、…...

YOLOv5 PyQt5 | PyQt5快速入门 | 2/3

YOLOv5 PyQt5 快速入门 2/3 文章目录 YOLOv5 PyQt5 快速入门 2/31. 设计页面2. PyQt5 打开图片3. PyQt5 打开视频4. PyQt5 打开摄像头源码1. 设计页面 首先我们利用QtDesigner来设计一个页面。这个页面比较简单,包含三个PushButton、两个GroupBox、两个Textlabel。 设计好后我…...

Java为什么吧String设计为不可变类?

文章目录那么为什么要这么设计呢&#xff1f;防止被篡改&#xff0c;保证信息数据的安全性不变的对象和值是线程安全的哈希值的唯一性来挺好性能提高常量池的可用性在Java中String类由final修饰&#xff0c;所以不能被继承。被final修饰主要是为了让String成为一个不可变类因为…...

【javaEE】多线程进阶(Part1 锁策略、CAS、synchronized )

目录前言/补充4. 描述一下线程池的执行流程和拒绝策略有哪些&#xff1f;【面试题&#xff01;】一、常见锁策略一&#xff09;乐观锁VS悲观锁二&#xff09;读写锁VS普通互斥锁三&#xff09;重量级锁VS轻量级锁四&#xff09;自旋锁VS挂起等待锁五&#xff09;公平锁VS非公平…...

deepin(深度)系统下qt5.12.0的程序打包发布到linux云服务器上

做项目时要求&#xff0c;要求做一个用于QT客户端更新提供更新的服务器&#xff0c;服务器弄好啦&#xff0c;要测试一下&#xff0c;在发布时&#xff0c;发现了一些问题&#xff0c;在此记录一下。 这个打包和我的前一篇博客步骤一样&#xff0c;打包可参考https://blog.csd…...

精读大型网站架构:前端架构模块化的方法及困境,自研框架Trick

模块化的方法 网页和网页之间有很多相似或者相同的模块&#xff0c;模块化就是把这些模块抽离并独立管理。而模块化的方法&#xff0c;就是把模块的HTML、CSS和JavaScript文件独立出来&#xff0c;然后通过某种方法关联到使用这些模块的网页上。 在介绍模块化的具体方法之前&…...

用Python实现的这五个小游戏,你真的学会了嘛?

游戏名称1、五子棋 2、雷霆战机 3、贪吃蛇 4、坦克大战 5、俄罗斯方块 开发环境 Python版本&#xff1a;3.6.4 相关模块&#xff1a; pygame模块&#xff1b; 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量&#xff0c;pip安装需要的相关模块即可。 一&am…...

linux环境下查询主板、CPU、内存等硬件信息

文章目录前言dmidecode常用参数-t参数测试-q参数测试-s参数测试总结前言 如果是在windows系统下&#xff0c;查询电脑硬件会容易的多&#xff0c;可以通过电脑属性、计算机管理等多种图形化界面中查到&#xff0c;如果安装了各种电脑管家&#xff0c;那查询这类信息就更方便了…...

查看日志.

如果查看比较小的日志文件&#xff1a;cat xxx.log 一般常用&#xff1a;view xxx.log/vi xxx.log查找关键字&#xff0c;如“木叶”&#xff1a;编辑&#xff0c;/木叶&#xff0c;确定&#xff0c;然后按“n”键就能往下找。 如果想往上找&#xff0c;输入:$到最后一行&#…...

vue3 生命周期函数,都改了啥?

vue2到3常用生命周期钩子函数的变化 Ⅰ. 实例化 和 数据初始化 &#xff08;beforeCreate&#xff0c;created > setup&#xff09; 1. new Vue 从开始 > 结束 [vue2和3 、两版本区别处] vue2的写法> export default {beforeCreate(){console.log(vue的实例 还没ne…...

基于springboot的医院管理系统

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里&#xff0c;你想解决的问题&#xff0…...

Django + Nginx https部署实战(第一辑)

WebServer和WebAPP 之前对于nginx的了解都只是听说&#xff0c;根本就不知道nginx对于整个网站的作用。经历了数个项目之后&#xff0c;我本人逐渐对nginx有了更深入的了解&#xff0c;也希望把这段经历拿出来分享给大家&#xff01; 由于我本人之前接触的都是Python的Django…...

Pycharm+服务器运行代码

Pycharm服务器运行代码服务器的连接与Anaconda环境配置ssh连接安装Anaconda创建虚拟环境安装代码所需的库Pycharm上传代码到服务器服务器的连接与Anaconda环境配置 ssh连接 我使用的是MobaXterm&#xff0c;新建一个会话&#xff0c;选择SSH&#xff0c;输入主机IP地址自己的…...

【Spring】IDEAspring-mybatis的整合----关于配置文件的整合

文章目录spring-mybatis的整合过程步骤1.导包&#xff0c;spring的jar包&#xff0c;mybatis的jar包2.mybatis.xml配置3.spring-mybatis.xml配置4.dao、service层、代码测试spring-mybatis的整合过程步骤 1.导包&#xff0c;spring的jar包&#xff0c;mybatis的jar包 <!--统…...

ssm技术

ssm ssm框架配置 maven项目–》webquickstart pom文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…...

MQ消息队列

MQ消息队列 消息队列&#xff08;Message Queue&#xff0c;简称MQ&#xff09;&#xff0c;指保存消息的一个容器&#xff0c;本质是个队列 消息队列是大型分布式系统不可缺少的中间件&#xff0c;也是高并发系统的基石中间件 使用消息队列还可以实现异步处理 下图便是消息…...

【JVM技术专题】精心准备了一套JVM分析工具的锦囊「JConsole补充篇」

前提概要 本篇文章主要针对于之前本系列文章的补充版&#xff0c;之前落下了Jconsole分析工具&#xff0c;所以为了了却这个遗憾&#xff0c;所以小编又开了这篇文章&#xff0c;主要针对于Jconsole工具进行相关的应用性能分析。 初识JConsole 【Jconsole&#xff08;Java Moni…...

基于PHP的高效协同办公管理系统

有需要请私信或看评论链接哦 可远程调试 基于PHP高效协同办公管理系统一 介绍 高效协同办公管理系统基于Yii框架开发&#xff0c;数据库mysql&#xff0c;可以稳定用于商业以及门户级的开发和使用。 二 系统功能 用户 1 办公门户(邮件/日志/汇报/日程/信息中心/通知公告/微博…...

第十四届蓝桥杯(Web应用开发)模拟赛1期-大学组

数据类型检测 请看这篇数据类型检测 渐变色背景生成器 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name&…...

【遥感科学】遥感科学绪论

第一章 绪论 本系列适用于梅安新老师的遥感导论复习&#xff0c;也可以作为遥感领域的快速入门文章 一、遥感的基本概念 啥子是遥感&#xff1f;借用童庆禧院士的理解&#xff0c;那就是欲穷千里目&#xff0c;更上一层楼&#xff0c;遥感可以看做人的眼睛或者感知的延伸&…...

Tensorflow图像识别 Tensorflow手写体识别(二)

资源介绍 我们从 MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges 这条链接&#xff08;MNIST官网&#xff09;中下载好数据集&#xff0c;如下&#xff1a; 下载下来以后整理成包含四个压缩包的文件MNIST_data&#xff08;不要解压&#x…...

盘点上海IB国际学校,你会选哪一所呢?

之前&#xff0c;小编给大家盘点了上海热门的AP学校和Alevel学校&#xff0c;同时也介绍了国际课程的具体情况&#xff1b;今天就和大家聊聊上海的IB国际学校。IB即是国际文凭组织IBO(International Baccalaureate Organisation)为全球学生开设从幼儿园到大学预科的课程&#x…...

设计模式-02 设计模式-接口隔离原则案例分析

1.定义 接口隔离原则&#xff08;Interface Segregation Principle&#xff0c;简称 ISP&#xff09;是设计模式中的一个原则&#xff0c;它规定客户端不应该依赖它不使用的方法。 换句话说&#xff0c;接口应该被细分为更小的、更具体的接口&#xff0c;以便客户端只依赖于它…...

Linux专栏04:Linux基本指令之用户管理指令

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Linux专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Linux基本指令之用户管理指令 编号&#xff1a;04 文章目录 Linux基…...

Bayes判别示例数据:鸢尾花数据集

使用Bayes判别的R语言实例通常涉及使用朴素贝叶斯分类器。朴素贝叶斯分类器是一种简单的概率分类器&#xff0c;基于贝叶斯定理和特征之间的独立性假设。在R中&#xff0c;我们可以使用e1071包中的naiveBayes函数来实现这一算法。下面&#xff0c;我将通过一个简单的示例展示如…...

安卓获取SHA

1&#xff1a;安卓通过签名key获取SHA 方式有两种&#xff0c; 1、电脑上来存在eclipse的用户或正在使用此开发工具的用户就简单了&#xff0c;直接利用eclipse 走打包流程&#xff0c;再打包的时候选择相应的签名&#xff0c;那么在当前面板的下面便会出现签名的相关信息。 2、…...

可以在手机端运行的大模型标杆:微软发布第三代Phi-3系列模型,评测结果超过同等参数规模水平,包含三个版本,最小38亿,最高140亿参数

本文原文来自DataLearnerAI官方网站&#xff1a; 可以在手机端运行的大模型标杆&#xff1a;微软发布第三代Phi-3系列模型&#xff0c;评测结果超过同等参数规模水平&#xff0c;包含三个版本&#xff0c;最小38亿&#xff0c;最高140亿参数 | 数据学习者官方网站(Datalearner…...

Django-admin单例模式和懒加载

Django-admin单例模式和懒加载 单例模式 class Foo:def __init__(self):self.name "张三"def __new__(cls, *args, **kwargs):empty_object super().__new__(cls)return empty_objectobj1 Foo() obj2 Foo()当我们实例化对象时&#xff0c;就会在内存开一个空间…...