简单使用python
本文章没有深入探讨python,只说语法格式,合适于有其他编程语言的基础、并想快速使用python的人查看。
一、print()
用于打印信息,括号中可以是数学运算表达式或者字符串(或者说是文字)。
print('hello!')
1.1、转义字符
- 字符串:需要用引号包住,其中英文的 单引号(') 和 双引号(") ,作用是一样的
- 转义字符:反斜杠 \
\n | 代表一个换行符 |
\‘ | 代表一个单引号 |
\" | 代表一个双引号 |
\\ | 代表一个反斜杠 |
- 三引号:包住字符串就不需要转义特殊符号了
1.2、字符串格式化输出
加前缀f
占位符{变量表达式}
name = 'ZhangSan'
birth_year = 2000# 格式化前
print('你好,我是 ' + name + ',今年' + str(2022 - birth_year) + '岁')# 格式化后
print(f'你好,我是 {name},今年 {2022 - birth_year} 岁')
格式说明符:表示某个字符串输出格式
- 格式: '字符串':填充值 左右对齐 长度
- < 左对齐、> 右对齐、^ 居中对齐
# 用_填充;<左对齐、>右对齐、^居中对齐;长度为10位
print(f"{'abcd':_<10}123")
# 输出:abcd______123
print(f"{'abcd' * 2:_<10}123")
# 输出:abcdabcd__123
1.2.1、print不支持类型自动转换
用a + b举例
a = '1'
b = 2print(a + b)
# 会报错:TypeError: cannot concatenate 'str' and 'int' objects on line 3print(int(a) + b)
# 输出:3
print(a + str(b))
# 输出:12
二、变量
用于保存临时数据的。c语言是先表明数据类型再起名字,然后再赋值;python的话可以不用表明数据类型,python再运行时可以自己确定是什么类型的数据。
变量名 = 数据
- 变量名只能由英文字母(a-z),数字(0-9)和下划线(_)共同组成
- 不能以数字开头
2.2、全局变量,需要先用global关键字声明变量,然后才能给全局变量赋上值
rent = 0def calc(n, r):# 原来的函数中 rent 只是局部变量# 与全局变量 rent 名称相同,但互不干扰# 所以要用 global 关键字将 rent 与之前的全局变量挂钩global rentrent = n * r
三、字符串
保存文字信息的一种数据类型。
- 字符串加法拼接:"字符串1" + "字符串2"
- 能使用 len() 判断字符串长度
- 支持正向和反向索引
- 不可修改
- 字符串乘法拼接:"字符串1" * 3;字符串1字符串1字符串1
- "字符串1" in "字符串2":判断 "字符串2"是否包含 "字符串1"
3.1、字符串常用的方法
# 全部小写
j = s.lower()# 全部大写
j = s.upper()# 首字母大写,其余小写
j = s.capitalize()# 单词首字母大写,其余小写
j = s.title()# 大写转小写,小写转大写
j = s.swapcase()# 按指定字符或字符串分割
j = s.split(',')# 按指定字符或字符串分割后并将原序列反向
j = s.split(',')[::-1]
# 例如:
# s = '1,2,3'
# j = s.split(',')[::-1]
# print(j)
# 输出:['3', '2', '1']# 移除首尾指定字符,可以同时指定多个
j = s.strip('.?')# 字符串连接、拼接
j = ','.join(['hello','hi','你好'])
# 'hello,hi,你好'# 统计元素出现次数
'hello'.count('l')
# 2# 返回字串最先出现的位置
s.find('he')# 返回字符最先出现的位置
s.index('h')# 将某内容替换为新内容
'hello'.replace('l','q')
# heqqo
四、整数和浮点数 int/float
+ | 加法 |
- | 减法 |
/ | 除法 |
* | 乘法 |
% | 求余 |
// | 整除,向下取整 |
** | 乘方,如:3**2=9 |
4.1、四舍五入round()
# round(变量值, 保留的小数点位数)print(round(352.336, 2))
# 输出:352.34
4.2、位运算
& | 与 |
| | 或 |
^ | 异或 |
~ | 非 |
<< | 左移 |
>> | 右移 |
五、type()
查询数据类型
print(type(1))
# 输出:<class 'int'>
六、类型转换
str() | 转换为字符串 |
float() | 转换为浮点数 |
int() | 转换为整型 |
bool() | 转换为布尔类型,为空或0时为False |
list() | 转换为列表 |
tuple() | 转换为元组 |
dict() | 转换为字典 |
bool() 举例:
False:bool(0)、bool('')、bool({})、bool([])
True:bool(1)、bool(-1)、bool(' ')、bool({'a':1})、bool([1])
七、条件结构
if 判断条件1:代码块 1
elif 判断条件2:代码块 2
else:代码块 3
八、缩进
一般是两个空格或四个空格,主要用于表示前后代码之间的关系(python可以不使用花括号,而是使用缩进2个空格或4个空格去表示代码之间的所属关系等)
九、注释
# | 单行注释 |
''' | 内容前后都有三个单引号,多行注释 |
""" | 内容前后都有三个双引号,多行注释 |
十、input()
输入函数。
input('请输入:')变量 = input('请输入:')变量 = int(input('请输入数字:'))
十一、函数的定义
def 函数名(形参1,形参2=默认值):......函数体;return 返回值1,变量1,返回值2;
形参可以不指定参数类型;
形参还可以指定默认值;
定义函数时,默认参数的位置必须在位置参数的位置之后;
# 在对象中,函数还可以加self,self不能传实参,仅使用当前对象时调用
def 函数名(self,形参1,形参2=默认值):......函数体;return 返回值1,变量1,返回值2;
十二、调用函数
函数名(实参1,实参2);函数名(形参1 = 实参1,形参2 = 实参2);
两种传参方式:1、按顺序传参;2、按关键字传参
需要区分关键字和函数:
关键字如:return
函 数 如:print()
十三、布尔类型
True
False
十四、逻辑运算:与、或、非
and | 与 |
or | 或 |
not | 非 |
十五、成员运算符:in、not in
print('H' in 'Hello world')
# 输出:Trueprint('a' in 'Hello world')
# 输出:False
十六、三元表达式
注意,python的三元表达式和我们在Java或其他语言中的使用习惯非常不同!!!
# 修改前:
if 条件:x_abs = 值1
else:x_abs = 值2# 修改后:
x_abs = 值1 if 条件 else 值2
十七、列表
17.1、列表基础信息
有顺序;
支持不同类型元素;
顺序索引(下标从0开始);
也可以反向索引,如:var1[-1] 表示列表的最后一个元素;
var1 = [1, 1.0, 'hello', True]
var1 = [
1,
1.0,
'hello',
True
]
17.2、var1.index(value1):按元素的值返回列表位置
print( var1.index('hello') )
# 输出:2
17.3、按位置(下标从0开始)修改值
var1[2] = '你好'
17.4、var1.append(value1):列表末尾添加元素
var1.append('世界')
17.5、var1.insert(index1, value1):插入元素
var1.insert(0, 'hi!')
17.6、var1.pop():默认删除最后一个元素,也可以按下标位置删除
var1.pop()
# 删除末尾元素var1.pop(0)
# 删除第一个元素
17.7、del var1[index1]:删除列表中下标为index1的元素
del var1[0]
17.8、var1.remove(value1):删除列表中值为value1的第一个元素
var1.remove('hello')
17.9、分片
var1[2:5]
# 表示索引为2、3、4,不包括5var1[-3:]
# 后三名var1[:3]
# 前三名
17.10、count():统计次数
var1.count('hello')
# 统计hello出现的次数
17.11、sort():排序
words = ['banana', 'apple', 'cherry']
# 默认升序
var1.sort()
var1.sort(key=None, reverse=False)# 降序
var1.sort(reverse=True)# 按长度排序
var1.sort(key=len)# 按关键字的第二个字母排序
var1.sort(key=lambda x: x[1], reverse=False)
# 输出:['banana', 'cherry', 'apple']# 按关键字的最后一个字母排序
var1.sort(key=lambda x: x[-1], reverse=False)
# 输出:['banana', 'apple', 'cherry']
17.12、reverse():反转
var1.reverse()
17.13、copy():复制
var2= var1.copy()
17.14、clear():清空
var1.clear()
17.15、in 运算符
m = 'hello' in var1
print(m)
# 输出:True或者False
17.16、列表加法、乘法
var3 = var1 + var2
# var3 = var1 + var2var2 = var1 * 3
# var2 = var1 + var1 + var1
17.17、解包
# 一个拥有两件物品的包裹
package = [[1, 2, 3],[4, 5, 6]
]
# 解包,将包裹中的内容赋值给 a, b
a, b = packageprint(a)
# 输出:[1, 2, 3]
十八、元组
元组不可被修改,除了增删改以外,其他的操作和列表一样
var1 = ('hello',)
print(type(var1))
# 输出:<class 'tuple'>
18.1、zip()
合并两个长度相同的列表,相同位置的元素会被组成一个元组
var1 = ['a','b','c']
var2 = ['hi','my','name']zipped = list(zip(var1, var2))
#zipped = [('a','hi'),('b','my'),('c','name')]for key, value in zipped: #解包print(key)print(value)
# 输出:a hi b my c name
18.2、enumerate()
和zip不同,他显示每个元素的位置
var1 = ['a','b','c']m1 = list(enumerate(var1))
#m1 = [(0,'a'),(1,'b'),(2,'c')]m2 = list(enumerate(var1, 1))
#m2 = [(1,'a'),(2,'b'),(3,'c')]
18.3、列表和元组互换
varList = list(varTuple)varTuple = tuple(varList )
十九、range(start, stop, step)
快速生成一个数字序列:
- start是开始默认为0,
- stop停止,但不取stop
- step是步长,默认为1
注意生成后需要转型,如list
list1 = list(range(2, 5, 1))
print(list1)
# 输出:[2, 3, 4]
二十、while循环
whlie 循环条件:循环体
continue:终止本轮循环
break:退出循环
return:退出循环,并返回结果
pass:在语句中只起到占位作用
二十一、for循环
queue = ['a', 'b', 'c']for q1 in queue:print(q1)
21.1、常用遍历
# 搭配元组
for i in ('a', 'b', 'c', 'd'):print(i)
# 逐行输出:a b c d# 搭配字符串
for i in 'hello':print(i)
# 逐行输出:h e l l o# 搭配 range() 函数
for i in range(5):print('我爱Python')
# 逐行输出:我爱Python 我爱Python 我爱Python 我爱Python 我爱Python
21.2、更简洁生成列表
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_nums = []
for num in nums:# 如果 num 除以 2 余数为 1,表明它是奇数if num % 2 == 1:# 把 num 添加到 odd_nums 中odd_nums.append(num)# 等同nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 从 nums 中挑选出所有奇数,放到新列表 odd_nums 中
odd_nums = [num for num in nums if num % 2 == 1]
二十二、字典
键值对:key:value
dictionary = { 'hello': '你好', 'grape': '葡萄'
}
22.1、以键key为索引,访问值value
print(dictionary['hello'])
# 输出:你好
22.2、get(),更安全的访问
# 当key存在时
dictionary.get('hello')
# 你好# 当key不存在时
dictionary.get('aaaa')
# None# 可以设置默认值,当key不存在时返回默认值
dictionary.get('aaaa','NO')
# NO
22.3、len()
len(dictionary)
# 2
22.4、in,查找指定元素是否存在在key中
'你好' in dictionary
# False
22.5、简单添加和修改
dictionary['add'] = '添加'dictionary['hello'] = '修改后'
22.6、字典遍历需要加items()才能解包,而元组不需要,注意和元组区别
staff = {"KD1": "张三","KD2": "李四","KD3": "王五",
}for id, person in staff.items():print(f"{id}:{person}")''' 输出:
KD1:张三
KD2:李四
KD3:王五
'''
22.7、keys()
staff = {"KD1": "张三","KD2": "李四","KD3": "王五",
}
print(staff.keys())
# 输出:dict_keys(['KD1', 'KD2', 'KD3'])for id in staff.keys():print(f"{id}")'''
KD1
KD2
KD3
'''
22.8、values()
staff = {"KD1": "张三","KD2": "李四","KD3": "王五",
}
print(staff.values())
# 输出:dict_values(['张三', '李四', '王五'])for per in staff.values():print(f"{per}")
'''
张三
李四
王五
'''
22.9、update()更强大的添加和修改
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}dict1.update(dict2)
print(dict1)
# 输出: {'a': 1, 'b': 3, 'c': 4}
二十三、列表、元组、字典
23.1、字典中嵌套列表
groups = {'a': ['a1', 'a2', 'a3'],'b': ['b1', 'b2', 'b3'],'c': ['c1', 'c2', 'c3', 'c4'],'d': ['d1', 'd2']
}for group in groups:print(group)
# 输出:a b c dfor group,i in groups.items():print(i)
''' 输出:
['a1', 'a2', 'a3']
['b1', 'b2', 'b3']
['c1', 'c2', 'c3', 'c4']
['d1', 'd2']
'''
23.2、列表中嵌套列表
23.3、列表中嵌套字典
23.4、字典中嵌套字典
23.5、打包与解包
二十四、模块
传统的一个 .py 后缀的文件就是一个模块,每个模块相对独立
24.1、导入模块
使用:import 模块名
import test
# 此时执行当前文件也会执行test里的代码# 也有from 。。。 import 。。。
from random import randint# 也可以设置别名
import pandas as pd
24.2、调用模块内的变量和函数
import test# 调用test里的变量
print(test.val1)# 调用test里的函数
test.func1from random import randint
# 直接导入模块中的特定功能,无需模块前缀。
randint(1, 100)import random
letter = random.choice('abcde')
# 随机输出结果
print(letter)
# 输出:'c'
print(letter)
# 输出:'e'
24.3、python常用的内置模块
string | 常见字符串操作 |
re | 正则表达式操作 |
datetime | 日期个时间类型 |
array | 高效的数值型数组 |
random | 生成随机数 |
os.path | 文件路径操作 |
math | 数学相关函数与变量 |
time | 时间访问和转换 |
csv | csv文件的读写 |
json | json文件的读写 |
Python3 教程 | 菜鸟教程
点击上面链接,左边目录都有相关内置模块的使用教学,鼠标滚动下拉就可在目录看到。
二十五、文件操作
# 以只读模式打开桌面xxxx.txt 文件
# open(文件路径, 读取方式)
# 并将返回值赋值给 file,此时 file 是文件类型变量
file = open(r'/Users/jie/Desktop/xxxx.txt', 'r')
# 读取文件中记录的内容
file_content = file.read()
# 文件中内容已经读取完毕,可以关闭文件了
file.close()
路径前加 r 是消除转义等字符带来的歧义
open(文件路径, 读取方式)
- r:只读
- w:只写,当文件不存在时会报错
- a:追加,当文件不存在时会在此路径下新建文件
二十六、pip安装第三方库
python安装第三方库可以直接在 命令行 中执行pip相关的指令来实现
26.1、配置镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
26.2、安装第三方库
pip install 库名
# 例:pip install pandas
# 例:pip install pandas==1.1.1
26.3、其他
# 列出所有已安装的库
pip list# 要查看某个特定库
pip show pandas# 将pandas库升级到最新版本
pip install --upgrade pandas# 获取详细的错误输出
pip install 库名 --verbose
二十七、常见的报错关键字
NameError | 名称错误 |
SyntaxError | 语法错误 |
TypeError | 类型错误 |
ValueError | 值错误 |
IndentationError | 缩进错误 |
二十八、类(封装)
(对于程序代码层面的)面向对象:把程序看作对象的集合
28.1、类
# 建议的方式
class 类名:def __init__(self, 参数1, 参数2....):pass
# 不建议的方式
class People:age = 0sex = 'boy'name = 'zhangsan'
28.2、初始化
__init__:会在对象被实例化时自动调用
# Java的思路,不建议这样写
class People:age = 0sex = 'boy'name = 'zhangsan'def __init__(self, age, sex, name):self.age = ageself.sex = sexself.name = name# 建议这样
class People:def __init__(self, age = 0, sex = 'boy', name = 'zhangsan'):self.age = ageself.sex = sexself.name = name
28.3、实例化
class People:def __init__(self, age = 0, sex = 'boy', name = 'zhangsan'):self.age = ageself.sex = sexself.name = name# 默认初始化,注意当有__init__函数且形参没有设置默认值时时不能这样写
p1 = People()
print(p1.name)
# 输出:zhangsan# 修改成员变量
p1.name = 'lisi'
print(p1.name)
# 输出:lisi# 自定义初始化,当有__init__函数时能这样写
p1 = People(1, 'boy', 'male')
print(p1.age)
# 输出:1
28.4、isinstance(实例对象, 类),检查第一个参数是否是第二个参数的实例
class People:def __init__(self, age = 0, sex = 'boy', name = 'zhangsan'):self.age = ageself.sex = sexself.name = namep1 = People()
print(isinstance(p1, People))
# 输出:True
二十九、继承、多态
class People:def __init__(self, age = 0, sex = 'boy', name = 'zhangsan'):self.age = ageself.sex = sexself.name = namedef run(self):print('People run!')# Student继承People
class Student(People):# 不写__init__则默认继承父类# 重写父类方法def run(self):print('Student run!')# 子类新加方法def look(self):passstu=Student()
print(isinstance(stu,People))
# 输出:True
其它,如:子类调用父类方法,子类方法覆盖父类方法等;和Java的思路一样不在赘述
29.1、super
class People:def __init__(self, age=0, sex='boy', name='zhangsan'):self.age = ageself.sex = sexself.name = namedef run(self):print('People run!')# Student继承People
class Student(People):# 不写__init__则默认继承父类# 也可以通过super调用父类构造函数def __init__(self):super().__init__()# 重写父类方法def run(self):print('Student run!')# 也可以通过super调用父类方法super(Student, self).run()# 子类新加方法def look(self):passstu = Student()
print(isinstance(stu, People))
print(stu.name)
stu.run()
# 输出:
# True
# zhangsan
# Student run!
# People run!
相关文章:
简单使用python
本文章没有深入探讨python,只说语法格式,合适于有其他编程语言的基础、并想快速使用python的人查看。 一、print() 用于打印信息,括号中可以是数学运算表达式或者字符串(或者说是文字)。 print(hello!) 1.1、转义字…...
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝 前言 蜻蜓I即时通讯系统是一款不依赖第三方服务的私有化即时通讯解决方案,本指南将详细介绍如何使用宝塔面板在CentOS系统上完成系统的完整部署。私有化部署意味着您…...
用Streamlit开发第一个Python应用程序
用Streamlit开发第一个Python应用程序 Using Streamlit to Develop the First Application in Python By JacksonML 1.Streamlit简介 Streamlit是个新出世的、功能强大的Python第三方库,将为基于Web的Python应用程序大放异彩。 Streamlit官网主页面如下&#x…...
IDEA + Spring Boot + javadoc 实例应用
1、添加 javadoc 插件 依赖 pom.xml <build><plugins><!-- javadoc 插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.6.3</version><…...
【机器学习深度学习】交互式线性回归 demo
目录 一、环境准备 二、Demo 功能 三、完整交互 demo 代码 3.1 执行代码 3.2 示例交互演示 3.3 运行结果 3.4 运行线性图 使用 PyTorch 构建交互式线性回归模型:输入数据、拟合直线、图像可视化并实现实时预测,助你深入理解机器学习从数据到模型的…...
新手向:Anaconda3的安装与使用方法
我们在刚开始接触Python时使用的是Python的直接编译器,如果我们需要进行其他的项目编写往往需要使用另一个版本的Python ,这样反复的下载很是麻烦并且还会造成系统变量的紊乱.这次我们引入Anaconda3,可创建虚拟的Python环境,满足不同项目的需要,当不用的时候可以直接放心删除不…...
详解零拷贝
目录 一、用户态(User Mode)和内核态(Kernel Mode) 1.1 用户态 (User Mode): 1.2 内核态 (Kernel Mode): 1.3 关键交互:系统调用 (System Call) 二、为什么需要区分用户态和内核态&#x…...
微服务常用的基础知识
1.微服务介绍 1.1 产生背景 随着互联网的发展,网站应用的规模不断扩大,传统单体架构逐渐难以应对大型网站高并发、高扩展性等需求,于是分布式系统架构应运而生。Spring Cloud 就是在这种背景下诞生的,它利用 Spring Boot 的开发便…...
【开源工具】Windows一键配置防火墙阻止策略(禁止应用联网)| 附完整Python源码
🛡️【开源工具】Windows一键配置防火墙阻止策略(禁止应用联网)| 附完整源码 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。 🐋 希望大家多多支持,…...
6月份最新代发考试战报:思科华为HCIP HCSE 考试通过
6月份最新代发考试战报:思科华为HCIP HCSE 考试通过 H19-423 HCSA-Presales-IP Network 数通考试通过, H12-725 HCIP-Security安全 考试通过,H13-121 HCIP-Kunpeng Application Developer鲲鹏计算 考试通过,CCNP 350-401考试通过…...
本地部署开源时间跟踪工具 Kimai 并实现外部访问( Windows 版本)
Kimai 是一款开源的时间跟踪工具,它易于使用,并提供了强大的报告功能,在个人和团队记录工作时间、项目时间和活动时间等之后可以帮助用户了解他们是如何花费时间的,从而提高生产力和效率。本文将详细介绍如何在 Windows 系统本地部…...
SpringBoot 中 @Transactional 的使用
SpringBoot 中 Transactional 的使用 一、Transactional 的基本使用二、Transactional 的核心属性三、使用避坑(失效场景)3.1 自调用问题3.2 异常处理不当3.3 类未被 Spring 管理3.4 异步方法内使用失效 四、工作实践4.1 事务提交之后执行一些操作4.2 事…...
Mac电脑安装iTerm2通过rz命令上传文件到远程服务器
背景 闲着没事买了个云服务器玩(京东云轻量云主机),Mac本地搞了个java的jar包,想上传到云服务器,通过scp命令在Mac自带的【终端】上怎么都上传不了,如图。但是通过ssh命令(ssh root主机IP &…...
供应链数据可视化大屏
在全球化与数字化转型的双重浪潮下,供应链管理正面临前所未有的挑战:黑天鹅事件频发、多环节协同效率低下、库存与成本难以平衡……如何让供应链更透明、更敏捷、更具韧性?供应链数据可视化大屏应运而生,成为企业破解管理痛点的关…...
A2O MAY登上央视《中国音乐TOP榜》舞台,展现新歌榜冠军实力
——A2O MAY凭借新歌《BOSS》登上中国QQ音乐新歌榜冠军后,成功出演CCTV音乐节目《中国音乐TOP榜》,以实力赢得瞩目。 由A2O Entertainment(以下简称A2O)推出的全球女团 A2O MAY(成员包括朱晨予CHENYU、李诗洁SHIJIE、…...
关于如何在 Git 中切换到之前创建的分支的方法
文章目录 关于如何在 Git 中切换到之前创建的分支的方法一、确保你在项目目录中二、查看所有分支(可选)三、切换到目标分支四、如果分支仅在远程存在五、验证是否切换成功六、常见问题处理七、总结命令流程 PS:下次进入分支时,只需完成步骤1 …...
vue3+element-plus 组件功能实现 上传功能
一、整体功能概述 这段代码实现了一个基于 Vue 3 和 Element Plus 组件库的文件导入及预览功能模块。主要包含了一个主导入对话框(用于上传文件、展示文件相关信息、进行导入操作等)以及一个用于预览文件内容的预览对话框。支持导入特定格式(…...
多相机人脸扫描设备如何助力高效打造数字教育孪生体?
在教育数字化转型浪潮中,数字孪生体作为现实教育场景的虚拟映射,正成为智慧教育发展的关键技术支点。传统教育模式面临师资资源分布不均、个性化教学难以覆盖、跨时空教学场景受限等痛点,而数字孪生体通过构建高仿真虚拟教育主体(…...
高中成绩可视化平台开发笔记
高中成绩可视化平台(1) 一、项目概述 本系统是一个基于 PyQt5 和 Matplotlib 的高中成绩数据可视化分析平台,旨在帮助教师快速了解学生成绩分布、班级对比、学科表现等关键指标。平台支持文科与理科的数据切换,并提供多个维度的图…...
圆周期性显示和消失——瞬态实现(CAD c#二次开发、插件定制)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Timers; [assembly: CommandClass(typeof(IfoxDemo.Commands))] namespace IfoxDemo {// 新增的圆形闪烁命令实…...
Spark SQL to_json 函数介绍
目录 前言函数介绍参数说明示例 前言 在Apache Hive中,并没有内置的to_json函数。在Apache Spark SQL中确实有to_json函数,它可以用来将结构化数据(如结构化类型或MAP类型)转换为JSON字符串。这个功能对于需要将表格数据输出为JSON格式的场景…...
5个免费的硬盘分区工具,操作简单功能全
电脑用久了,系统盘空间告急、数据盘混乱无序,很多人想重新分区,却又担心太复杂或怕搞坏硬盘。其实,只要用对工具,分区操作其实一点都不难。更重要的是,有很多免费的分区软件,不仅好用࿰…...
uniapp事件onLoad区分大小写
区分大小写。不然会不起作用。onLoad方法中的功能均不会被执行。 除了功能逻辑要检查外。大小写是要认真检查的一部分...
Flutter Riverpod 使用详细解析
📚 Flutter 状态管理系列文章目录 Flutter 状态管理(setState、InheritedWidget、 Provider 、Riverpod、 BLoC / Cubit、 GetX 、MobX 、Redux) setState() 使用详解:原理及注意事项 InheritedWidget 组件使用及原理 Flutter 中 Provider 的使用、注…...
算法打卡 day4
4 . 高精度算法 性质:数组或者容器从低位往高位依次存储大整数,方便进位。 4.1 高精度加法 给定两个正整数(不含前导 0),计算它们的和。 输入格式 共两行,每行包含一个整数。 输出格式 共一行,…...
权威认证!华宇TAS应用中间件荣获CCRC“中间件产品安全认证”
近日,华宇TAS应用中间件顺利通过了中国网络安全审查认证和市场监管大数据中心(CCRC)的信息安全认证,获得了IT产品信息安全认证证书。此次获证,标志着华宇TAS应用中间件在安全性、可靠性及合规性等方面达到行业领先水平,可以为政企…...
【Linux网络编程】多路转接IO(二)epoll
目录 epoll初识 epoll的相关系统调用 epoll的工作原理 epoll的优点 epoll的工作方式 水平触发 Level Triggered 工作模式 边缘触发 Edge Triggered 工作模式 对比LT和ET 理解 ET 模式和非阻塞文件描述符 epoll的惊群问题 基于LT模式的epoll代码样例 epoll初识 按照man…...
flutter的包管理#资源管理#调试Flutter应用#Flutter异常捕获
2.5 包管理 2.5.1 简介 在软件开发中,很多时候有一些公共的库或 SDK 可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开…...
Unity Netcode自定义数据传输——结构体及其序列化
在 Unity Netcode 中,要实现自定义数据的网络传输,确实需要两个关键部分: ✅ 两个必需组件: 数据结构定义 public struct PlayerState : INetworkSerializable {public int id; // 字段1:玩家IDpublic bool …...
Vue 3 高级编程技巧
Vue 3 高级编程技巧 1. 计算属性 (Computed Properties) 含义:计算属性在依赖变化时会自动更新。以下是一个示例,展示当 firstName 或 lastName 变化时,fullName 也会更新。 实例: <script setup> import { ref, comput…...
GraphQL注入 -- GPN CTF 2025 Real Christmas
part 1 服务器会每段时间禁用已注册的账号,此处存在漏洞 def deactivate_user_graphql(email):graphql_endpoint current_app.config["GRAPHQL_ENDPOINT"]query f"""mutation {{deactivateUser (user: {{email: "{email}"}}){{ success…...
python打卡day43
疏锦行 作业: kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化 进阶:并拆分成多个文件 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms# 数据预处理 tra…...
ethers.js express vue2 定时任务每天凌晨2点监听合约地址数据同步到Mysql整理
下面是一个完整的 Ethers.js Express Vue2 MySQL 实现方案,用于: 💡每天凌晨 2 点监听某合约地址的 Transfer 事件,写入 MySQL 数据库,并展示每日 NFT 交易量图表(Vue2 ECharts) ✅ 后端部分…...
内网穿透和端口映射的区别在哪?局域网提供互联网访问方案对比选择详解
内网穿透和端口映射是两个经常被提及的概念,它们对于实现网络中的内外网通信起着关键作用。内网穿透和端口映射都能够有效地将本地局域网地址提供给互联网上外网访问,但二者之间存在着显著的区别。 内网穿透与端口映射的核心区别在于实现方式和依赖条件…...
机器学习---正则化、过拟合抑制与特征筛选
专栏:机器学习 个人主页:云端筑梦狮 注:上一篇机器学习还差一小节,日后坑必会填上 一.正则化 什么是正则化 / 如何进行正则化 其实机器学习中正则化(regularization)的外在形式非常简单,就是在模型的损失函数中加…...
优化 ArcPy 脚本性能
合理设置环境变量 优化环境变量配置 ArcPy 提供了许多环境变量,用于控制地理处理工具的行为。合理设置环境变量可以优化脚本的性能。例如,设置“workspace”环境变量可以指定默认的工作空间,避免在脚本中重复指定工作空间路径。 Python 复制…...
Robyn高性能Web框架系列06:使用WebSocket实现产品智能助理
使用WebSocket实现产品智能助理 WebSocket原理与应用场景Robyn的WebSocket基本使用1、创建WebSocket服务2、侦听WebSocket事件3、向客户端发送消息4、向客户端广播消息5、使用查询参数6、主动关闭连接 示例:简易的产品智能助理1、产品数据部分2、产品信息部分3、智能…...
UDP 缓冲区
UDP 有接收缓冲区,没有发送缓冲区 引申问题 1、为什么没有发送缓冲区? 直接引用原文 “因为 UDP 是不可靠的,它不必保存应用进程的数据拷贝,因此无需一个真正的发送缓冲区” 2、没有发送缓冲区的情况下,sendto 的数…...
物联网与低代码:Node-RED如何赋能工业智能化与纵横智控的创新实践
在数字化浪潮席卷全球的今天,物联网(IoT)已从概念走向现实,成为连接物理世界与数字世界的关键桥梁。它通过将日常物品、工业设备等“物”嵌入传感器、软件及其他技术,使其能够通过网络相互连接并交换数据,从…...
【甲方安全视角】开源的安全悖论
文章目录 安全的充分必要条件:从「符号化信任」到「验证驱动安全」构建与分发的不可信链条迭代与审计的节奏错位代码透明与攻击面的对等暴露对普通用户的建议选择可信项目与品牌始终通过官方渠道获取软件注意权限与环境安全对“签名请求”、“连接钱包”等敏感操作保…...
GEO生成式引擎优化发展迅猛:热点数智化传播是GEO最佳路径
在人工智能技术浪潮的推动下,GEO生成式引擎优化已跃升为行业技术演进与产业发展相融合的核心赛道。通过系统性梳理其发展脉络,我们可清晰勾勒出技术突破与产业变革交织的演进轨迹,其发展进程包含以下重要节点。 2023年4月,GPT-4发…...
【unity游戏开发——网络】计算机网络中的三种数据管理模型(分散式、集中式、分布式)和三大通信模型(C/S、B/S、P2P)
注意:考虑到热更新的内容比较多,我将热更新的内容分开,并全部整合放在【unity游戏开发——网络】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 一、数据管理模型1、分散式 (Decentralized - 各管各的)2、集中式 (Centra…...
MR30分布式 IO在物流堆垛机的应用
在现代物流行业蓬勃发展的浪潮中,物流堆垛机作为自动化仓储系统的核心设备,承担着货物的高效存取与搬运任务。它凭借自动化操作、高精度定位等优势,极大地提升了仓储空间利用率和货物周转效率。然而,随着物流行业的高速发展&#…...
香港维尔利健康科技集团推出AI辅助医学影像训练平台,助力医护人才数字化转型
香港维尔利健康科技集团近日正式发布其自主研发的“AI辅助医学影像训练平台(V-MedTrain)”,这一创新平台的上线,标志着医学影像教育迈入智能化辅助教学新时代。依托人工智能与大数据分析技术,香港维尔利健康科技集团在…...
2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(五)
2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(五) 第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1:应急响应(可以培训有答案)任务 2:通信数据分析取…...
基于 Python 的批量文件重命名软件设计与实现
在工作过程中,经常有很多文件,想要对文件名进行批量改名,特此写了一个程序,以实现此功能。 一、批量文件重命名软件设计原理 (一)核心原理阐述 批量文件重命名软件的核心原理在于运用操作系统提供的文件管理功能,借助编程手段达成对文件名称的批量修改。在这个软件里,…...
【深度学习新浪潮】什么是上下文工程?
什么是上下文工程? 上下文工程(Context Engineering) 是指通过设计、优化与大语言模型(LLM)交互时的输入内容(即“上下文”),引导模型生成更符合预期、更精准回答的系统性方法。这里的“上下文”通常包括 提示词(Prompt)、示例(Few-Shot Examples)、历史对话记录、…...
逆向入门(8)汇编篇-rol指令的学习
还是那个题,这回又碰到个循环左移,有挺多操作方法之前都没有系统的学,用到的时候再看看感觉还挺好,不耽误事 0x00 基本介绍 ROL(Rotate Left): 循环左移,它有两个操作数: 第一个操作数是目标操作数&#…...
Fisco Bcos学习 - 开发第一个区块链应用
文章目录 一、前言二、业务场景分析:简易资产管理系统三、智能合约设计与实现3.1 存储结构设计3.2 接口设计3.3 完整合约代码 四、合约编译与Java接口生成五、SDK配置与项目搭建5.1 获取Java工程项目5.2 项目目录结构5.3 引入Web3SDK5.4 证书与配置文件 六、业务开发…...
黑马python(十六)
目录: 1.JSON数据格式的转换 2.pyecharts模块简介 3.pyecharts入门使用 4.数据准备 5.生成折线图 1.JSON数据格式的转换 2.pyecharts模块简介 官方网站: 画廊网站:有更多的图标形式 测试是否安装 3.pyecharts入门使用 运行会生成一个html的文件&a…...