【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的几个特点
- 简单易学:Python的语法简洁明了,具有很高的可读性,使得初学者能够快速上手编程。
- 面向对象:Python支持面向对象编程,可以使用类和对象来组织和管理代码,提供了封装、继承和多态等特性。
- 开发效率高:Python具有丰富的内置库和第三方库,大大加速了开发过程。同时,Python还有像文档化和调试工具等用于提高开发效率的功能。
- 跨平台性:Python是一种跨平台的编程语言,可以运行在几乎所有的操作系统上,如Windows、Mac和Linux等。
- 强大的生态系统:Python拥有庞大、活跃的社区,提供了各种各样的库和工具,如NumPy、Pandas、Scikit-learn和Django等,用于数据分析、机器学习、Web开发等不同领域的应用。
Python是一种简单、易学、功能强大的编程语言,适用于各种应用开发,并且在开发效率和生态系统方面拥有显著优势。
二、实例
1、注释
注释分为三种注释:
- #
- ''' '''
- """ """
# 注释1''' 注释2 ''' """ 注释3 """
2、数据类型
Python是一门动态的(dynamic)且强类型(strong)语言。
动态/静态 在静态类型语言(statically typed languages)中,类型检查发生在编译阶段(compile time) 在动态类型语言(dynamically typed languages)中,类型检查发生在运行阶段(run time)。
- 静态类型(static): 所有的变量类型必须被显示地声明,因为这些信息在编译阶段就被需要。
- 动态(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: 步长
- start和stop的正值代表列表下标,负值代表列表从左往右数起,倒数第几个数据。
- 方向由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? 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 ,查看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. 提升 前言: 前端提取数据,后端优化数据,但误差会累计,需要回环检测构建全局一致的地图&…...

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

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

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

eNSP基础网络学习-v02
一、eNSP 1.什么是eNSP eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台,主要对企业网络路由器、交换机进行软件仿真,完美呈现真实设备实景,支持大型网络模拟,让…...
mac环境安装多个node版本(可切换)
出现问题 mac m1pro版(前段时间刚换的),环境安装的都是最新的。node 18.17.1 前端跑的是react 18 的项目(antD), 又跑了一个相对环境配置比较低的项目,然后启动不起来了; 分析控制台报错,推断是…...

Linux 操作技巧
目录 一、shell-命令解释器 二、Linux中的特殊符号 三、命令历史--history 一、shell-命令解释器 shell——壳,命令解释器,负责解析用户输入的命令 ——内置命令(shell内置) ——外置命令,在文件系统的某个目录下&…...
一个电子信息工程学生的历程和内心感想
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、我对大学三年专业课程的理解二、我为什么本科选择研究嵌入式这个方向?1.可以把理论变为实际应用——兴趣是最好的老师。2.嵌入式方向可以打的比赛非…...
【zookeeper】zk集群安装与启动踩坑点
zk安装我也踩了一些坑。特别是第一点,zk官网好像都没什么说明,导致直接下错了,搞了好几个小时。 踩坑点如下: 1,在zk官网下载包时,注意3.5以后的版本,要下载带-bin的,3.5之后&…...

【计算机网络】 拥塞控制
文章目录 背景TCP的四种拥塞控制算法慢开始与拥塞避免:快重传:快恢复: 流量控制和拥塞控制本质上的 区别 背景 网络中的链路容量和交换节点中的缓存和处理机都有着工作的极限,当网络的需求超过他们的工作极限时,就出现…...
【react】慎用useLayoutEffect转而使用useEffect
由于useLayoutEffect钩子是在dom获得后、渲染组件前。因此,如果在useLayoutEffect中设置一些长耗时的,或者死循环之类的任务,会导致内存堆栈溢出。这时候需要转用useEffect。 // 适配全局宽度拉动变化时,legend显示数量React.use…...

基于微信小程序的美食推荐系统设计与实现(源码+lw+部署文档+讲解等)
前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻…...

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

Dependency ‘org.redisson:redisson:‘ not found解决方法 三种刷新Maven项目的方法
报错情况 在pom中导入redisson包 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId> </dependency> 爆红,还显示Dependency org.redisson:redisson: not found。 由于报错已经解决,…...

Mysql高级——索引优化和查询优化(1)
索引优化 1. 数据准备 学员表插50万条, 班级表插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)启动数据库创建助手(DBCA) 进入%ORACLE_HOME%\bin\目录并找到“dbca”批处理程序,双击该程序。具体如图2.1.3-1所示。 图2.1.3-1 双击“%ORACLE_HOME%\bin\dbca”…...

【1993. 树上的操作】
来源:力扣(LeetCode) 描述: 给你一棵 n 个节点的树,编号从 0 到 n - 1 ,以父节点数组 parent 的形式给出,其中 parent[i] 是第 i 个节点的父节点。树的根节点为 0 号节点,所以 par…...

LeetCode【1. 两数之和】
穷通有命无须卜,富贵何时乃济贫;角逐名场今已久,依然一幅旧儒巾。 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...