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

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、注释 共有三种&#xff1a;#、 、””” ””” 2、数据类型 整数、浮点、字符串、布尔、列表、元组、集合、字典 num1 666、num2 3.14、t1 True、t2 False、 列表&#xff1a;list [1,2,3,4] 元组&#xff1a;tuple (11,aaa,ddd,3) 字典&#xff1a;dict {li…...

Visual Studio 2022 LNK2001无法解析的外部符号 _wcscat_s 问题记录

ANSI C程序中&#xff0c;用到了wcsrchr、wcsncpy_s、wcscat_s、wcscpy_s等几个字符串函数&#xff0c;但是编译时提示&#xff1a; 错误 LNK2001 无法解析的外部符号 _wcscat_s 查了挺多帖子&#xff0c;没有解决。 https://bbs.csdn.net/topics/250012844 解决VS编译…...

Java高并发处理机制

高并发处理的思路&#xff1a; 扩容&#xff1a;水平扩容、垂直扩容缓存&#xff1a;将基础的数据放入缓存进行处理使用SpringCloud的注册中心&#xff0c;分服务注册到同一个注册中心&#xff0c;服务器检测使用Spring的熔断操作&#xff0c;检测服务器的心跳那个正常随机跳转…...

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 案例&#xff1a;声明并输出…...

导游职业资格考试真题题库

导游职业资格考试真题题库 80.重庆有"雾都"之称。壁山区的()全年雾日多204天&#xff0c;堪称"世界之最"。 A.枇杷山 B.雾灵山 C.云雾山 D.四姑娘山 答案&#xff1a;C 81.我国最具热带海洋气候特色的地方为&#xff08;&#xff09;。 A.广西壮族…...

【Rust】使用开源项目搭建瓦片地图服务

本文通过获取在线和离线地图数据&#xff0c;使用开源Rust项目搭建瓦片地图服务&#xff0c;并使用DevExpress的MapControl控件使用自建地图服务 获取地图数据 获取地图数据有很多种方式&#xff0c;这里分别用在线和离线地图数据举例说明 在线下载瓦片地图 打开在线瓦片地…...

【面试宝典】mysql常见面试题总结(上)

一、MySQL 中有哪几种锁&#xff1f; MySQL中的锁机制是数据库并发控制的重要组成部分&#xff0c;它用于管理多个用户对数据库资源的访问&#xff0c;确保数据的一致性和完整性。MySQL中的锁可以根据不同的分类标准进行分类&#xff0c;以下是一些常见的分类方式及对应的锁类…...

第1章 初识C语言

第1章 初识C语言 1.1 C语言概述 1.1.1 C语言的发展历史 C语言的原型为ALGOL 60语言&#xff08;也称A语言&#xff09;。 1963年 剑桥大学将ALGOL 60语言发展成为GPL语言。 1967年 剑桥大学的Matin Richards简化GPL&#xff0c;产生了BGPL语言。 1970年 美国贝尔实验室的Ken…...

【考研数学】定积分应用——旋转体体积的计算(一文以蔽之)

目录 一、如何计算旋转体体积&#xff1f;思考一个小例子 二、旋转体体积的二重积分表达式 三、用真题&#xff0c;小试牛刀 定积分的应用中&#xff0c;有一类题是求解旋转体的体积问题。 相较于记忆体积计算公式&#xff0c;有一种通法求解体积更不容易出错&#xff1a;二重…...

PHP移动端商城分销全平台全端同步使用

&#x1f4f1;【掌中购物新纪元&#xff1a;探索移动端购物商城系统的无限魅力】&#x1f6cd;️ &#x1f680; 随时随地&#xff0c;购物自由新体验 在这个快节奏的时代&#xff0c;移动端购物商城系统彻底颠覆了传统购物方式&#xff0c;让消费者享受到了前所未有的便捷与…...

TLE8386-2EL:汽车级DC-DC转换器中文资料书

描述 TLE8386-2EL是一款具有内置保护功能的低端感应升压控制器。该器件的主要功能是将输入电压升高&#xff08;升压&#xff09;到更大的输出电压。开关频率可从100kHz调整至700kHz&#xff0c;并可与外部时钟源同步。 TLE8386-2EL的独特功能可将关断电流消耗降至 <2μA。该…...

EasyRecovery17中文mac苹果电脑版数据恢复软件 永久免费破解版下载

&#x1f389; 数据丢失不再是噩梦&#xff01;EasyRecovery17中文版来拯救你的硬盘啦&#xff01; 各位小伙伴们&#xff0c;有没有遇到过重要文件一不小心就消失无踪的尴尬情况&#xff1f;别担心&#xff0c;今天就给大家种草一款神奇的工具——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使用教程&#xff1a;从入门到精通&#xff0c;掌握Node.js包管理神器 引言 随着Node.js的流行&#xff0c;JavaScript已经成为服务器端开发的主力军。NPM&#xff08;Node Package Manager&#xff09;作为Node.js的官方包管理工具&#xff0c;为开发者提供了一个庞大的代…...

模电实验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年&#xff0c;原名为《世界贸易组织动态与研究》(上海对外贸易学院学报)&#xff0c;随原上海对外贸易学院更名为上海对外经贸大学&#xff0c;自2014年起更为现名&#xff0c;现为综合性社科类双月刊&#xff0c;为中文社会科学引文检索&a…...

数字化营销在公域场景中的无限可能

在如今的商业领域&#xff0c;公域场景为企业提供了广阔的发展空间&#xff0c;而数字化营销则成为了企业在这些场景中脱颖而出的关键利器。 ​ 一、电商平台营销 当企业在淘宝、京东等大型电商平台开设店铺&#xff0c;数字化营销便开始大显身手。 企业不仅能踊跃参与像双十…...

聚观早报 | 一加13配置细节曝光;谷歌首推人工智能手机

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观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中&#xff0c;对于sort函数来说&#xff0c;如果需要根据不同的比较方式实现…...

FastAPI部署大模型Llama 3.1

项目地址&#xff1a;[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) …...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...

OpenGL-什么是软OpenGL/软渲染/软光栅?

‌软OpenGL&#xff08;Software OpenGL&#xff09;‌或者软渲染指完全通过CPU模拟实现的OpenGL渲染方式&#xff08;包括几何处理、光栅化、着色等&#xff09;&#xff0c;不依赖GPU硬件加速。这种模式通常性能较低&#xff0c;但兼容性极强&#xff0c;常用于不支持硬件加速…...

深入理解 C++ 左值右值、std::move 与函数重载中的参数传递

在 C 编程中&#xff0c;左值和右值的概念以及std::move的使用&#xff0c;常常让开发者感到困惑。特别是在函数重载场景下&#xff0c;如何合理利用这些特性来优化代码性能、确保语义正确&#xff0c;更是一个值得深入探讨的话题。 在开始之前&#xff0c;先提出几个问题&…...

组合模式:构建树形结构的艺术

引言:处理复杂对象结构的挑战 在软件开发中,我们常遇到需要处理部分-整体层次结构的场景: 文件系统中的文件与文件夹GUI中的容器与组件组织结构中的部门与员工菜单系统中的子菜单与菜单项组合模式正是为解决这类问题而生的设计模式。它允许我们将对象组合成树形结构来表示&…...

暴雨新专利解决服务器噪音与性能悖论

6月1日&#xff0c;我国首部数据中心绿色化评价方面国家标准《绿色数据中心评价》正式实施&#xff0c;为我国数据中心的绿色低碳建设提供了明确指引。《评价》首次将噪音控制纳入国家级绿色评价体系&#xff0c;要求从设计隔声结构到运维定期监测实现闭环管控&#xff0c;加速…...