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

【python】入门第一课:了解基本语法(数据类型)

目录

 一、介绍

1、什么是python?

2、python的几个特点

二、实例

1、注释

2、数据类型

2.1、字符串 str

2.2、整数 int

2.3、浮点数 float

2.4、布尔 bool

2.5、列表 list

2.6、元组 tuple

2.7、集合 set

2.8、字典 dict


 一、介绍

1、什么是python?

Python是一种通用的高级编程语言,由Guido van Rossum于1991年创建。它被设计为易读、易学以及具有清晰和简洁的语法结构。Python支持多种编程范式,包括面向对象、函数式和过程式编程。它拥有广泛的第三方库和模块,可以用于各种领域的应用开发,如网站开发、科学计算、人工智能等。这种语言被广泛应用于各个领域,并且在数据科学和机器学习领域非常受欢迎。

2、python的几个特点

  1. 简单易学:Python的语法简洁明了,具有很高的可读性,使得初学者能够快速上手编程。
  2. 面向对象:Python支持面向对象编程,可以使用类和对象来组织和管理代码,提供了封装、继承和多态等特性。
  3. 开发效率高:Python具有丰富的内置库和第三方库,大大加速了开发过程。同时,Python还有像文档化和调试工具等用于提高开发效率的功能。
  4. 跨平台性:Python是一种跨平台的编程语言,可以运行在几乎所有的操作系统上,如Windows、Mac和Linux等。
  5. 强大的生态系统:Python拥有庞大、活跃的社区,提供了各种各样的库和工具,如NumPy、Pandas、Scikit-learn和Django等,用于数据分析、机器学习、Web开发等不同领域的应用。

Python是一种简单、易学、功能强大的编程语言,适用于各种应用开发,并且在开发效率和生态系统方面拥有显著优势。

二、实例

1、注释

注释分为三种注释:

  1. #
  2. '''     '''
  3. """     """
# 注释1''' 注释2 '''
"""
注释3
"""

2、数据类型

Python是一门动态的(dynamic)且强类型(strong)语言。

动态/静态 在静态类型语言(statically typed languages)中,类型检查发生在编译阶段(compile time) 在动态类型语言(dynamically typed languages)中,类型检查发生在运行阶段(run time)。

  1. 静态类型(static): 所有的变量类型必须被显示地声明,因为这些信息在编译阶段就被需要。
  2. 动态(Dynamic): 显示声明不被要求,因为类型赋值发生在运行阶段。

强类型/弱类型 在强类型中,不管在编译时还是运行时,一旦某个类型赋值给某个变量,它会持有这个类型,并且 不能同其他类型在计算某个表达式时混合计算。 在弱类型中,它是很容易与其他类型混合计算的。

2.1、字符串 str

Python中,用引号括起的都是字符串,其中的引号可以是单引号, 也可以是双引号

name= 'hello world'
name = "hello world"

可以通过 + 来拼接字符串

print("hello" + " world")

也可以使用制表符 \t 和换行符 \n

2.2、整数 int

在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。

count = 9
print(count + 1)
print(count - 1)
print(count * 2)
print(count / 2)

Python使用两个乘号表示乘方运算。

print(count ** 2) #81

2.3、浮点数 float

Python将带小数点的数字都称为浮点数。

a = 0.1
b = 0.2

但需要注意的是,结果包含的小数位数可能是不确定的。 计算机转换问题,这个跟你的电脑相关

print(a + b)

2.4、布尔 bool

  • True
  • False

>= <= == and or

# 短路  and  or
print(1 and 2 and 3 and 4)
print(1 and 2 and 0 and 4)

2.5、列表 list

在Python中,用方括号 [ ] 来表示列表,并用逗号来分隔其中的元素。

l1 = [1, 3, 4, 2, 5]

读取方式与其他语言一致:因为是有序的,可以通过索引来取值。 索引从0开始,但是不同的是可以为负数。

# 读取内容
print(l1[0])
# 下标可以是倒序的
print(l1[-1])
# 改变值
l1[-1] = 6
# 遍历
print(l1)

添加内容 stack栈: push放 pop拿

  • pop:拿元素(删除元素)
  • extend:追加
  • copy:复制新的引用
  • append:追加
  • l1.sort():排序
  • l1.sort(reverse=True):倒序
  • remove:删除某个元素
  • insert:插入
  • clear:清空

Python也支持了一些方法可以对其进行操作。

  • 在列表末尾添加元素 append
l1.append("blue_bear")
  • 在列表中插入元素 insert
l1.insert(0, "blue_bear")

从列表中删除元素

  • pop 出栈|根据索引删除
l1.pop()
l1.pop(0)
  • remove 根据元素删除
bicycles.remove('cannonade')

方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要 使用 循环来判断是否删除了所有这样的值。

  • 对列表进行永久性排序 sort
bicycles.sort()

还可以按与字母顺序相反的顺序排列列表元素,为此,只需向方法传递参数 reverse=True 。

  • 对列表进行临时性排序 sorted
sorted(bicycles)
  • 反转列表元素的排列顺序 reverse
  • 确定列表的长度 len
len(bicycles)

python还为列表等类型提供了 切片 功能

切片格式 变量名[start:stop:step] start: 起始下标 stop: 停止下标 step: 步长

  • startstop的正值代表列表下标,负值代表列表从左往右数起,倒数第几个数据。
  • 方向由step确定,step为正时,从左往右切片,step为负时,从右往左切片。
  • start和stop的空值分别代表列表的头尾的最后一个数据,至于start和stop空值的时候代表的是列 表的头还是尾,由step的正负值决定,即由step确定列表切片的方向后决定。

2.6、元组 tuple

元组与列表相似,但使用圆括号而不是方括号来标识,同时内部元素与大小不可改变。 元组元素快速赋值。

nums = (0, 1, 2)
a, b, c = nums

2.7、集合 set

是一个无序的不重复元素序列,可以使用 set() 方法和 { } 来创建。

cities = set()cities = {'hunan', 'shanghai', 'beijing'}
  • 添加元素 add
  • 删除元素 remove 报错 , discard 不报错 , pop , clear
  • 判断元素是否存在 a in b

集合运算

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a - b)
print(a | b)
print(a & b)
print(a ^ b)

2.8、字典 dict

在Python中,字典用放在花括号{}中的一系列键—值对表示。与json类似

字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联 的值可以是数字、字符串、列表乃至字典。

alien = {'color': 'green', 'points': 5}

要获取与键相关联的值,可依次指定字典名和放在方括号内的键

alien['color']

字典是一种动态结构,可随时在其中添加键—值对。要添加键—值对,可依次指定字典名、用 方括号括 起的键和相关联的值。

alien['name'] = 'jack'

对于字典中不再需要的信息,可使用del语句将相应的键—值对彻底删除。使用del语句时, 必须指定字 典名和要删除的键。

del alien['name']

相关文章:

【python】入门第一课:了解基本语法(数据类型)

目录 一、介绍 1、什么是python&#xff1f; 2、python的几个特点 二、实例 1、注释 2、数据类型 2.1、字符串 str 2.2、整数 int 2.3、浮点数 float 2.4、布尔 bool 2.5、列表 list 2.6、元组 tuple 2.7、集合 set 2.8、字典 dict 一、介绍 1、什么是python&…...

csa从初阶到大牛(练习题2-查询)

新建2个文件d1.txt d2.txt ,使用vim打开d1.txt 输入“Hello World”字符串,将b1.txt 硬链接到b2.txt &#xff0c;查看2个文件的硬连接数 # 新建文件d1.txt和d2.txt touch d1.txt d2.txt# 使用vim编辑d1.txt并输入文本"Hello World" vim d1.txt# 创建硬链接b2.…...

【视觉SLAM入门】8. 回环检测,词袋模型,字典,感知,召回,机器学习

"见人细过 掩匿盖覆” 1. 意义2. 做法2.1 词袋模型和字典2.1.2 感知偏差和感知变异2.1.2 词袋2.1.3 字典 2.2 匹配(相似度)计算 3. 提升 前言&#xff1a; 前端提取数据&#xff0c;后端优化数据&#xff0c;但误差会累计&#xff0c;需要回环检测构建全局一致的地图&…...

SpringBean的生命周期

SpringBean的生命周期 SperingBean的生命周期是从Bean实例化之后&#xff0c;即通过反射创建出对象之后&#xff0c;到Bean成为一个完整对象&#xff0c;最终存储到单例池中&#xff0c;这个过程被称为Spring Bean的生命周期。Spring Bean的生命周期大体上分为三个阶段 Bean的…...

uni-app 之 picker选择器

uni-app 之 picker选择器 同步滚动&#xff1a;开 uni-app 之 picker选择器 一、普通选择器 二、多列选择器 三、时间选择器 四、日期选择器 一、普通选择器 <template><view><picker change"bindPickerChange" :value"index" :range&q…...

整合车辆出险报告Api接口,轻松管理车险理赔!

随着车辆保有量的不断增加&#xff0c;车辆出险的情况也越来越普遍。对于车主来说&#xff0c;如何高效地管理车险理赔&#xff0c;处理保险事故是非常重要的。这时候我们就可以借助整合车辆出险报告API接口&#xff0c;实现快速定位理赔信息&#xff0c;轻松管理车险理赔。 一…...

eNSP基础网络学习-v02

一、eNSP 1.什么是eNSP eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台&#xff0c;主要对企业网络路由器、交换机进行软件仿真&#xff0c;完美呈现真实设备实景&#xff0c;支持大型网络模拟&#xff0c;让…...

mac环境安装多个node版本(可切换)

出现问题 mac m1pro版&#xff08;前段时间刚换的&#xff09;,环境安装的都是最新的。node 18.17.1 前端跑的是react 18 的项目&#xff08;antD&#xff09;, 又跑了一个相对环境配置比较低的项目&#xff0c;然后启动不起来了&#xff1b; 分析控制台报错&#xff0c;推断是…...

Linux 操作技巧

目录 一、shell-命令解释器 二、Linux中的特殊符号 三、命令历史--history 一、shell-命令解释器 shell——壳&#xff0c;命令解释器&#xff0c;负责解析用户输入的命令 ——内置命令&#xff08;shell内置&#xff09; ——外置命令&#xff0c;在文件系统的某个目录下&…...

一个电子信息工程学生的历程和内心感想

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、我对大学三年专业课程的理解二、我为什么本科选择研究嵌入式这个方向&#xff1f;1.可以把理论变为实际应用——兴趣是最好的老师。2.嵌入式方向可以打的比赛非…...

【zookeeper】zk集群安装与启动踩坑点

zk安装我也踩了一些坑。特别是第一点&#xff0c;zk官网好像都没什么说明&#xff0c;导致直接下错了&#xff0c;搞了好几个小时。 踩坑点如下&#xff1a; 1&#xff0c;在zk官网下载包时&#xff0c;注意3.5以后的版本&#xff0c;要下载带-bin的&#xff0c;3.5之后&…...

【计算机网络】 拥塞控制

文章目录 背景TCP的四种拥塞控制算法慢开始与拥塞避免&#xff1a;快重传&#xff1a;快恢复&#xff1a; 流量控制和拥塞控制本质上的 区别 背景 网络中的链路容量和交换节点中的缓存和处理机都有着工作的极限&#xff0c;当网络的需求超过他们的工作极限时&#xff0c;就出现…...

【react】慎用useLayoutEffect转而使用useEffect

由于useLayoutEffect钩子是在dom获得后、渲染组件前。因此&#xff0c;如果在useLayoutEffect中设置一些长耗时的&#xff0c;或者死循环之类的任务&#xff0c;会导致内存堆栈溢出。这时候需要转用useEffect。 // 适配全局宽度拉动变化时&#xff0c;legend显示数量React.use…...

基于微信小程序的美食推荐系统设计与实现(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…...

laravel框架 - 消息队列如何使用

业务场景&#xff1a;项目里边有很多视频资源需要上传到抖音资源库&#xff0c;通过队列一条一条上传。 参考实例&#xff1a;发送邮件&#xff0c;仅供参考 (1)创建任务【生成任务类】 在你的应用程序中&#xff0c;队列的任务类都默认放在 app/Jobs 目录下。如果这个目录不存…...

Dependency ‘org.redisson:redisson:‘ not found解决方法 三种刷新Maven项目的方法

报错情况 在pom中导入redisson包 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId> </dependency> 爆红&#xff0c;还显示Dependency org.redisson:redisson: not found。 由于报错已经解决&#xff0c;…...

Mysql高级——索引优化和查询优化(1)

索引优化 1. 数据准备 学员表插50万条&#xff0c; 班级表插1万条。 建表 CREATE TABLE class (id INT ( 11 ) NOT NULL AUTO_INCREMENT,className VARCHAR ( 30 ) DEFAULT NULL,address VARCHAR ( 40 ) DEFAULT NULL,monitor INT NULL,PRIMARY KEY ( id ) ) ENGINE INNO…...

Oracle for Windows安装和配置——Oracle for Windows数据库创建及测试

2.2. Oracle for Windows数据库创建及测试 2.2.1. 创建数据库 1&#xff09;启动数据库创建助手&#xff08;DBCA&#xff09; 进入%ORACLE_HOME%\bin\目录并找到“dbca”批处理程序&#xff0c;双击该程序。具体如图2.1.3-1所示。 图2.1.3-1 双击“%ORACLE_HOME%\bin\dbca”…...

【1993. 树上的操作】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一棵 n 个节点的树&#xff0c;编号从 0 到 n - 1 &#xff0c;以父节点数组 parent 的形式给出&#xff0c;其中 parent[i] 是第 i 个节点的父节点。树的根节点为 0 号节点&#xff0c;所以 par…...

LeetCode【1. 两数之和】

穷通有命无须卜&#xff0c;富贵何时乃济贫&#xff1b;角逐名场今已久&#xff0c;依然一幅旧儒巾。 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...