python相关知识
1、注释
共有三种:#、''' '''、””” ”””
2、数据类型
整数、浮点、字符串、布尔、列表、元组、集合、字典
num1 = 666、num2 = 3.14、t1 = True、t2 = False、
列表:list = [1,2,3,4]
元组:tuple = ('11','aaa','ddd',3)
字典:dict = {'li':'弹琴','l2':'打球'}
集合:set = {1,2,3,4,4,5}
3、基本内建函数
print()、type()、input()等
4、标识符
由数字字母下划线组成,不能是数字开头,不能是35个关键字,区分大小写;
标识符包含:变量名、函数名、类名、对象名等
标识符命名建议:见名知意、大驼峰、小驼峰、下划线(user_name)
我们编写代码过程中,可以用到快捷键,格式化代码快捷键:ctrl+alt + L
5、格式化输出方法
方法一:%s占位、%d占位、%f占位
方法二:print(f"我的名字是{name}")
6、输入方法
输入:input() 内置函数
7、数据类型转换
int()、float()、str()、eval()
8、算术运算符
+、 -、 *、 /、 //(取整数)、 %(取余数)、 **(乘方)
9、字符串运算符
字符串的运算符:+拼接、*复制内容
10、字符串str的操作方法
下标取值、切片、find()、index ()找不到则报错、count ()
11、列表list的常用方法
list1 = [1,2,3,2]
○ 新增:append()、insert()、extend()
○ 切片:【起始:结束:步长】
○ 删除:del、pop()不填默认删最后一个元素、remove()、clear()
○ 查找:in、not in、index()不存在则报错、count()没有则返回0
○ 排序:reverse()、sort()、sort(reverse=True)
12、元组tuple的常用方法
tuple1 = (1,2,3,4,5)
○ 有序序列、元组的元素不能被修改
○ 格式是小括号(),小括号可以省略不写,如tuple1 = 1,2,3,4,5
○ 下标提取值、切片、index()、count()
13、字典dict
dict1 = {'name':'老墨','age':16}
○ 常用方法:切片、通过键提取值、索引、len()
○ 取值:dict1['name']、 dict1.get('name')、 dict1.keys()、 dict1.values()、dict1.items()
○ 增加数据:d = dict(a=1,b=2,c=3)、 update()、setdefault():若存在则不变
○ 删除数据:pop()方法、del关键字、clear()
13、集合set
set1 = {5,2,3,3,4,1}
○ 自动去重、无序
○ 集合set、列表list、元组tuple可以相互转化
○ 修改数据:add()、remove()
14、可变数据类型 和 不可变数据类型
不可变:数字类型、字符串类型、元组tuple
可变:列表list、字典dict、集合set;(数据内容改变,地址也不发生改变)
15、推导式
重点列表推导式:list2 = [x for x in range(8)]
# 这个代码写法1
list_num = []
for i in range(8):num = random.randint(0, 10)list_num.append(num)
print(list_num)# 用列表推导式写法2
list3 = [random.randint(0, 10) for x in range(8)]
print(list3)# in 后面可以放一个可迭代的对象:容器类型的数据(字符串、元组、字典、列表)
list_a = [a for a in 'python']
print(list_a) #['p', 'y', 't', 'h', 'o', 'n']list_b = [a*2 for a in 'python']
print(list_b) #['pp', 'yy', 'tt', 'hh', 'oo', 'nn']# 带if条件的列表推导式
list_c = [x for x in range(10) if x%2==0]
print(list_c)#[0, 2, 4, 6, 8]# 字典推导式
dict_a = {key:value for key in 'python' for value in range(8)}
# 因为一直覆盖,所以取得最后一个值7
print(dict_a)#{'p': 7, 'y': 7, 't': 7, 'h': 7, 'o': 7, 'n': 7}# 集合推导式
set_a = {i for i in '有人云淡风轻,有人负重前行'}
print(set_a)#{'前', '行', ',', '有', '重', '负', '人', '风', '云', '淡', '轻'}
16、浅拷贝和深拷贝
- 浅拷贝:重新分配内存空间,新元素指向原来的位置===》不可变数据
- 浅拷贝:(针对不可变的数据类型,:数字、字符串、元组tuple)
- from copy import copy
- tuple2 = copy(tuple1)
- 深拷贝:重新分配内存空间,新元素独立和原来的数据没有任何关联===》可变数据
- 深拷贝(针对可变数据类型:列表list、字典dict、集合set等数据类型)
- from copy import deepcopy
- list2 = deepcopy(list1)
17、三大执行体系:顺序、分支、循环
1)分支 - if
# 分支 - if
age = 18
if age>10:print("可以吃")
elif age>5:print("可以申请吃")
else:print("不准吃")
python3.10之后分支语句出现了新的写法match
match = name:case "理性":print("111")case "感性":print("222")
判断分支条件True和False:
- True:非0的数字、小数、整数、负数、非空字符串、非空容器类型数据(set、list、tuple、dict);
- False:为0的数据、为空的字符串、为空的容器类型数据;
- 比较运算符:>、<、==、>=、<=、!= ====》运算结果都是布尔值
- 逻辑运算符:and、or、not
- 在 python3.10 之后,可以使用match 、case:
- if,实现三目运算符:print(a if a > b else b) # 如果条件成立返回结果a,否则返回b
2)循环 - while、for
i = 0;
while i<100:i=i+1;
print(f"循环次数{i}")
for i in range(100):print(f"循环次数{i}") # 从0到99
3)break 和 continue
break:结束终止整个循环体
continue:跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
# while 中使用 break
n = 0
while n < 5:n += 1if n == 3:breakprint(n)
print('循环结束!')# while 中使用 continue
n = 0
while n < 5:n += 1if n == 3:continueprint(n)
print('循环结束!')
18、函数
- 参数:是否指定参数类型、默认参数值、不定长参数*args元组 和 **kwargs字典;
- 返回值:是否有返回值
- 函数调用:定义关键字参数
- 函数嵌套
'''函数add1:不指定参数类型,无返回值'''
def add1(x,y):#关键字占位# passprint(x+y)#3
'''函数add2:指定参数类型,有返回值'''
def add2(x:int,y:int) -> str:z=x+yprint(z)#6return str(z)
定义关键字参数(调用的时候):add2 ( x=1, y=3 )
默认参数值(函数定义的时候):def add ( a, b, c=4):
不定长参数:让函数接受长度不确定的参数:可以是0个、1个、100个或者N个参数
*args:让函数接受任何的数量的位置参数,存储方式是元组;
**kwargs:让函数接受任何数量的关键字参数,存储方式是字典;
'''函数的默认参数值,函数的指定参数传值'''
def add1(a=1, b=int, c=int) -> list:sum = a+b+c;
list1 = [a,b,c];
return list1;
print(add1(a=3,b=2,c=3)) #[3, 2, 3]
'''*args :让函数接受任何的数量的位置参数,存储方式是元组'''
def add2(*args):print(args)
add2(1,2,3,'333','我',(1,2,3),[1,2,3],{1,2,3},{'a':1,'b':6})
'''**kwargs :让函数接受任何数量的关键字参数,存储方式是字典'''
def add3(**kwargs):print(kwargs)
add3(a='豆豆',b='饼饼')
函数嵌套:
def add(*args, **kwargs):def count(a, b):return a + b;
return countf1 = add()
c = f1(3,9)
print(c) #12
19、全局变量和局部变量、global标识符
局部变量:
是在函数内部声明的变量,其作用域仅限于声明它的函数内部。
在函数被调用时创建,并且在函数执行完毕后销毁。
其他函数无法访问局部变量。
在函数内部声明局部变量时,可以使用var_name = value的形式进行声明和赋值
全局变量:
在函数外部声明的变量,其作用域延伸到整个程序的范围。
可以在任何函数内部访问和修改。
在函数内部声明全局变量时,需要使用global关键字进行声明。
全局变量的命名最好避免与局部变量重名,以免发生混淆。
# 声明全局变量
a = 20def my_function():global global_var# 访问全局变量print("全局变量 a 的值为:", a)# 函数内部修改全局变量a=9999my_function() # 调用函数
print("修改后的全部变量为", a)
20、文件操作
文件的打开和关闭 : open 和 close
- file1.read() # 读取文件全部内容
- file1.readline() #读取文件一行内容
- file1.readlines() #读取文件所有行内容,返回一个列表,数据内容是字符串的数据类型
文件的读写模式:r、w、a、wb、rb、ab、r+、w+、a+、rb+、wb+、ab+
文件操作:
import os
os.rename("abc.txt",'111.txt')# 修改文件名字
print(os.getcwd())# 货物当前文件(文件夹)的绝对路径
os.rmdir("123")# 删除空的文件夹
os.mkdir("456")# 创建空的文件夹
print(os.listdir("456"))# 获取文件夹目录
21、时间处理
import time# 获取当前本地时间
print(time.localtime())
#获取时间戳
print(time.time())
# 结构化时间:时间 -> 时间
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
print(time.strftime("%Y-%m-%d %H:%M:%S"))# 字符串 -> 时间
print(time.strptime("2023-03-05 21:59:27","%Y-%m-%d %H:%M:%S"))# 等待时间3秒
time.sleep(3)
相关文章:
python相关知识
1、注释 共有三种:#、 、””” ””” 2、数据类型 整数、浮点、字符串、布尔、列表、元组、集合、字典 num1 666、num2 3.14、t1 True、t2 False、 列表:list [1,2,3,4] 元组:tuple (11,aaa,ddd,3) 字典:dict {li…...
Visual Studio 2022 LNK2001无法解析的外部符号 _wcscat_s 问题记录
ANSI C程序中,用到了wcsrchr、wcsncpy_s、wcscat_s、wcscpy_s等几个字符串函数,但是编译时提示: 错误 LNK2001 无法解析的外部符号 _wcscat_s 查了挺多帖子,没有解决。 https://bbs.csdn.net/topics/250012844 解决VS编译…...
Java高并发处理机制
高并发处理的思路: 扩容:水平扩容、垂直扩容缓存:将基础的数据放入缓存进行处理使用SpringCloud的注册中心,分服务注册到同一个注册中心,服务器检测使用Spring的熔断操作,检测服务器的心跳那个正常随机跳转…...
7 数据存储单位,整型、浮点型、字符型、布尔型数据类型,sizeof 运算符
目录 1 数据类型的分类 2 数据存储单位 2.1 位 2.2 字节 2.3 其余单位 3 整数类型 3.1 基本介绍 3.2 整型的类型 3.2.1 整数类型多样性的原因 3.2.2 整型类型之间的相对大小关系 3.3 整型注意事项 3.4 字面量后缀 3.5 格式占位符 3.6 案例:声明并输出…...
导游职业资格考试真题题库
导游职业资格考试真题题库 80.重庆有"雾都"之称。壁山区的()全年雾日多204天,堪称"世界之最"。 A.枇杷山 B.雾灵山 C.云雾山 D.四姑娘山 答案:C 81.我国最具热带海洋气候特色的地方为()。 A.广西壮族…...
【Rust】使用开源项目搭建瓦片地图服务
本文通过获取在线和离线地图数据,使用开源Rust项目搭建瓦片地图服务,并使用DevExpress的MapControl控件使用自建地图服务 获取地图数据 获取地图数据有很多种方式,这里分别用在线和离线地图数据举例说明 在线下载瓦片地图 打开在线瓦片地…...
【面试宝典】mysql常见面试题总结(上)
一、MySQL 中有哪几种锁? MySQL中的锁机制是数据库并发控制的重要组成部分,它用于管理多个用户对数据库资源的访问,确保数据的一致性和完整性。MySQL中的锁可以根据不同的分类标准进行分类,以下是一些常见的分类方式及对应的锁类…...
第1章 初识C语言
第1章 初识C语言 1.1 C语言概述 1.1.1 C语言的发展历史 C语言的原型为ALGOL 60语言(也称A语言)。 1963年 剑桥大学将ALGOL 60语言发展成为GPL语言。 1967年 剑桥大学的Matin Richards简化GPL,产生了BGPL语言。 1970年 美国贝尔实验室的Ken…...
【考研数学】定积分应用——旋转体体积的计算(一文以蔽之)
目录 一、如何计算旋转体体积?思考一个小例子 二、旋转体体积的二重积分表达式 三、用真题,小试牛刀 定积分的应用中,有一类题是求解旋转体的体积问题。 相较于记忆体积计算公式,有一种通法求解体积更不容易出错:二重…...
PHP移动端商城分销全平台全端同步使用
📱【掌中购物新纪元:探索移动端购物商城系统的无限魅力】🛍️ 🚀 随时随地,购物自由新体验 在这个快节奏的时代,移动端购物商城系统彻底颠覆了传统购物方式,让消费者享受到了前所未有的便捷与…...
TLE8386-2EL:汽车级DC-DC转换器中文资料书
描述 TLE8386-2EL是一款具有内置保护功能的低端感应升压控制器。该器件的主要功能是将输入电压升高(升压)到更大的输出电压。开关频率可从100kHz调整至700kHz,并可与外部时钟源同步。 TLE8386-2EL的独特功能可将关断电流消耗降至 <2μA。该…...
EasyRecovery17中文mac苹果电脑版数据恢复软件 永久免费破解版下载
🎉 数据丢失不再是噩梦!EasyRecovery17中文版来拯救你的硬盘啦! 各位小伙伴们,有没有遇到过重要文件一不小心就消失无踪的尴尬情况?别担心,今天就给大家种草一款神奇的工具——EasyRecovery17中文版&#x…...
Ubuntu 22.04 安装 VirtualBox7
Ubuntu默认库为VirtualBox-6版本 # 安装 VirtualBox-6 sudo apt update sudo apt install virtualbox# 卸载 VirtualBox-6 sudo apt remove --purge --auto-remove virtualbox virtualbox-6.1 1. 安装 VirtualBox-7 # 导入软件包密钥 curl https://www.virtualbox.org/downl…...
NPM使用教程:从入门到精通
NPM使用教程:从入门到精通,掌握Node.js包管理神器 引言 随着Node.js的流行,JavaScript已经成为服务器端开发的主力军。NPM(Node Package Manager)作为Node.js的官方包管理工具,为开发者提供了一个庞大的代…...
模电实验3 - 单电源集成运放交流耦合放大器
实验目标 学习集成运放的单电源使用。掌握交流耦合单电源集成运放放大器的测试方法。了解交流耦合单电源集成运放放大器的特点。 实验器材 ADALM2000 1kΩ 电阻 (1/4 W) x 1 10 kΩ 电阻 (1/4 W) x 1 100kΩ 电阻 (1/4 W) x 3 0.1μF电容 x 1 1μF电容 …...
海对外经贸大学学报
《上海对外经贸大学学报》创刊于1994年,原名为《世界贸易组织动态与研究》(上海对外贸易学院学报),随原上海对外贸易学院更名为上海对外经贸大学,自2014年起更为现名,现为综合性社科类双月刊,为中文社会科学引文检索&a…...
数字化营销在公域场景中的无限可能
在如今的商业领域,公域场景为企业提供了广阔的发展空间,而数字化营销则成为了企业在这些场景中脱颖而出的关键利器。 一、电商平台营销 当企业在淘宝、京东等大型电商平台开设店铺,数字化营销便开始大显身手。 企业不仅能踊跃参与像双十…...
聚观早报 | 一加13配置细节曝光;谷歌首推人工智能手机
聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 8月15日消息 一加13配置细节曝光 谷歌首推人工智能手机 MONA M03汽车即将上市 iPhone SE 4将升级8GB运行内存 R…...
C++ 11相关新特性(lambda表达式与function包装器)
目录 lambda表达式 引入 lambda表达式介绍 lambda表达式捕捉列表的传递形式 lambda表达式的原理 包装器 包装器的基本使用 包装器与重载函数 包装器的使用 绑定 C 11 新特性 lambda表达式 引入 在C 98中,对于sort函数来说,如果需要根据不同的比较方式实现…...
FastAPI部署大模型Llama 3.1
项目地址:[self-llm/models/Llama3_1/01-Llama3_1-8B-Instruct FastApi 部署调用.md at master datawhalechina/self-llm (github.com)](https://github.com/datawhalechina/self-llm/blob/master/models/Llama3_1/01-Llama3_1-8B-Instruct FastApi 部署调用.md) …...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
