【第二节】python编程基础语法

目录

一、运算符介绍

1.1 算术运算符

1.2 比较运算符

1.3 赋值运算符

1.4 位运算符

1.5 逻辑运算符

1.6 成员运算符

1.7 身份运算符

二、python运算符优先级

三、三大流程结构

四、列表

五、元组

六、字典


一、运算符介绍

1.1 算术运算符

1.2 比较运算符

1.3 赋值运算符

1.4 位运算符

下表中变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100b = 0000 1101-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a  = 1100 0011

1.5 逻辑运算符

1.6 成员运算符

        除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

1.7 身份运算符

        身份运算符用于比较两个对象的存储单元

二、python运算符优先级

        以下表格列出了从最高到最低优先级的所有运算符:

三、三大流程结构

        在Python编程中,三大流程结构是控制程序执行流程的基本方式。它们分别是:

1. **顺序结构**:
   - 顺序结构是程序中最基本的执行流程,按照代码书写的顺序依次执行。
   - 例如:

     x = 10y = 20z = x + yprint(z)  # 输出 30

2. **选择结构(条件结构)**:
   - 选择结构用于根据条件判断来决定执行哪一段代码。
   - 主要通过 `if`、`elif` 和 `else` 语句实现。
   - 例如:
 

     age = 18if age >= 18:print("成年人")else:print("未成年人")

if语句运行过程如下动图:

3. **循环结构**:
   - 循环结构用于重复执行某段代码,直到满足某个条件为止。
   - 主要通过 `while` 和 `for` 语句实现。
   - 例如:

 # while 循环count = 0while count < 5:print(count)count += 1# for 循环for i in range(5):print(i)

while循环过程图示:

4. 循环控制语句

        循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

        在Python中,循环控制语句用于控制循环的执行流程。主要有以下几种:

1). **`break` 语句**:
   - `break` 语句用于立即终止当前循环,跳出循环体。
   - 常用于在满足某个条件时提前结束循环。
   - 例如:
 

     for i in range(10):if i == 5:breakprint(i)  # 输出 0 到 4

2). **`continue` 语句**:
   - `continue` 语句用于跳过当前循环的剩余语句,并继续下一次循环。
   - 常用于在满足某个条件时跳过当前迭代。
   - 例如:
 

     for i in range(10):if i % 2 == 0:continueprint(i)  # 输出 1, 3, 5, 7, 9

3). **`pass` 语句**:
   - `pass` 语句是一个空操作语句,用于在语法上需要语句但实际不需要执行任何代码的地方。
   - 常用于占位,表示稍后会添加代码。
   - 例如:
 

     for i in range(10):if i % 2 == 0:passelse:print(i)  # 输出 1, 3, 5, 7, 9

4). **`else` 子句**:
   - `else` 子句可以与 `for` 和 `while` 循环一起使用,当循环正常结束(即没有遇到 `break` 语句)时执行。
   - 常用于在循环结束后执行某些操作。
   - 例如:
 

     for i in range(5):print(i)else:print("循环正常结束")  # 输出 0, 1, 2, 3, 4 和 "循环正常结束"

四、列表

        在Python中,列表(List)是一种非常灵活且强大的数据结构,用于存储一组有序的元素。列表可以包含不同类型的数据,如整数、字符串、浮点数,甚至是其他列表。以下是一些关于列表的基本操作和特性:

### 创建列表
你可以使用方括号 `[]` 来创建一个列表,并用逗号分隔其中的元素:

my_list = [1, 2, 3, 4, 5]
print(my_list)  # 输出: [1, 2, 3, 4, 5]

### 访问元素
你可以通过索引来访问列表中的元素,索引从0开始:

print(my_list[0])  # 输出: 1
print(my_list[3])  # 输出: 4

### 修改元素
你可以通过索引来修改列表中的元素:

my_list[1] = 10
print(my_list)  # 输出: [1, 10, 3, 4, 5]

### 列表切片
你可以使用切片操作来获取列表的子集:

print(my_list[1:4])  # 输出: [10, 3, 4]
print(my_list[:3])   # 输出: [1, 10, 3]
print(my_list[2:])   # 输出: [3, 4, 5]

### 列表方法
Python提供了许多内置方法来操作列表:

- `append(item)`:在列表末尾添加一个元素。

  my_list.append(6)print(my_list)  # 输出: [1, 10, 3, 4, 5, 6]

- `insert(index, item)`:在指定位置插入一个元素。

  my_list.insert(2, 20)print(my_list)  # 输出: [1, 10, 20, 3, 4, 5, 6]

- `remove(item)`:移除列表中第一个匹配的元素。

  my_list.remove(10)print(my_list)  # 输出: [1, 20, 3, 4, 5, 6]

- `pop(index)`:移除并返回指定位置的元素,如果不指定索引,则移除并返回最后一个元素。

  popped_item = my_list.pop(2)print(popped_item)  # 输出: 3print(my_list)      # 输出: [1, 20, 4, 5, 6]

- `index(item)`:返回第一个匹配元素的索引。

  index = my_list.index(4)print(index)  # 输出: 2

- `count(item)`:返回元素在列表中出现的次数。

  count = my_list.count(5)print(count)  # 输出: 1

- `sort()`:对列表进行排序。

  my_list.sort()print(my_list)  # 输出: [1, 4, 5, 6, 20]

- `reverse()`:反转列表中的元素。

  my_list.reverse()print(my_list)  # 输出: [20, 6, 5, 4, 1]

### 列表推导式
列表推导式是一种简洁的创建列表的方式:

squares = [x**2 for x in range(5)]
print(squares)  # 输出: [0, 1, 4, 9, 16]

五、元组

        在Python中,元组(Tuple)是一种有序且不可变的数据类型,用于存储一组元素。元组与列表类似,但元组一旦创建,其内容就不能被修改。以下是一些关于元组的基本操作和特性:

### 创建元组
你可以使用圆括号 `()` 来创建一个元组,并用逗号分隔其中的元素:

my_tuple = (1, 2, 3, 4, 5)
print(my_tuple)  # 输出: (1, 2, 3, 4, 5)

### 访问元素
你可以通过索引来访问元组中的元素,索引从0开始:

print(my_tuple[0])  # 输出: 1
print(my_tuple[3])  # 输出: 4

### 元组切片
你可以使用切片操作来获取元组的子集:

print(my_tuple[1:4])  # 输出: (2, 3, 4)
print(my_tuple[:3])   # 输出: (1, 2, 3)
print(my_tuple[2:])   # 输出: (3, 4, 5)

### 元组的不可变性
元组一旦创建,其内容就不能被修改。这意味着你不能添加、删除或修改元组中的元素:
 

# 尝试修改元组中的元素会引发 TypeError
# my_tuple[1] = 10  # 这行代码会引发 TypeError

### 元组方法
虽然元组是不可变的,但Python提供了一些内置方法来操作元组:

- `count(item)`:返回元素在元组中出现的次数。

  count = my_tuple.count(3)print(count)  # 输出: 1

- `index(item)`:返回第一个匹配元素的索引。

  index = my_tuple.index(4)print(index)  # 输出: 3

### 元组的优点
- **不可变性**:元组的不可变性使得它们在某些情况下比列表更安全,特别是在需要确保数据不被意外修改的场景中。
- **性能**:由于元组是不可变的,它们的访问速度通常比列表更快,占用的内存也更少。

### 元组的使用场景
- 当你需要一个不可变的数据集合时,可以使用元组。
- 元组常用于函数返回多个值的场景。
### 示例

def get_user_info():name = "Alice"age = 30city = "New York"return name, age, city  # 返回一个元组user_info = get_user_info()
print(user_info)  # 输出: ('Alice', 30, 'New York')

六、字典

        在Python中,字典(Dictionary)是一种无序、可变且可嵌套的数据类型,用于存储键值对(key-value pairs)。字典中的每个键(key)必须是唯一的,而值(value)可以是任意类型的数据。以下是一些关于字典的基本操作和特性:

### 创建字典
你可以使用花括号 `{}` 来创建一个字典,并用冒号 `:` 分隔键和值,用逗号分隔键值对:

my_dict = {"name": "Alice", "age": 30, "city": "New York"}
print(my_dict)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}

### 访问元素
你可以通过键来访问字典中的值:

print(my_dict["name"])  # 输出: Alice
print(my_dict["age"])   # 输出: 30

### 修改元素
你可以通过键来修改字典中的值:

my_dict["age"] = 31
print(my_dict)  # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York'}

### 添加元素
你可以通过新的键来添加新的键值对:

my_dict["country"] = "USA"
print(my_dict)  # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York', 'country': 'USA'}

### 删除元素
你可以使用 `del` 语句或 `pop` 方法来删除字典中的键值对:

del my_dict["city"]
print(my_dict)  # 输出: {'name': 'Alice', 'age': 31, 'country': 'USA'}popped_value = my_dict.pop("age")
print(popped_value)  # 输出: 31
print(my_dict)       # 输出: {'name': 'Alice', 'country': 'USA'}

### 字典方法
Python提供了许多内置方法来操作字典:

- `keys()`:返回字典中所有键的视图对象。

  keys = my_dict.keys()print(keys)  # 输出: dict_keys(['name', 'country'])

- `values()`:返回字典中所有值的视图对象。

  values = my_dict.values()print(values)  # 输出: dict_values(['Alice', 'USA'])

- `items()`:返回字典中所有键值对的视图对象。

  items = my_dict.items()print(items)  # 输出: dict_items([('name', 'Alice'), ('country', 'USA')])

- `get(key, default)`:返回指定键的值,如果键不存在,则返回默认值。

  value = my_dict.get("name", "Unknown")print(value)  # 输出: Alicevalue = my_dict.get("age", "Unknown")print(value)  # 输出: Unknown

- `update(other_dict)`:将另一个字典的键值对更新到当前字典中。

  other_dict = {"age": 31, "city": "New York"}my_dict.update(other_dict)print(my_dict)  # 输出: {'name': 'Alice', 'country': 'USA', 'age': 31, 'city': 'New York'}

### 字典推导式
字典推导式是一种简洁的创建字典的方式:
 

squares = {x: x**2 for x in range(5)}
print(squares)  # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

字典的特性:

  • 键的唯一性:字典中的键是唯一的,重复的键会覆盖之前的值。

  • 访问不存在的键:访问不存在的键会引发 KeyError,可以使用 get 方法避免。

  • 键的限制:字典的键必须是不可变的类型,如数字、字符串、元组,不能是列表或其他可变类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/387497.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【传输层协议】UDP和TCP协议

UDP协议 UDP协议全称为User Datagram Protocol&#xff0c;用户数据报协议。UDP协议报文格式如下&#xff1a; 16UDP长度。表示整个数据报的最大长度&#xff0c;即UDP首部UDP数据。这个字段帮助我们确保在网络字节流中获取完整的UDP报文信息。校验和&#xff1a;用于检测数…

巴斯勒相机(Basler) ACE2 dart 系列说明和软件

巴斯勒相机(Basler) ACE2 dart 系列说明和软件

C语言指针·入门用法超详解

目录 1. 什么是指针 2. 指针变量的定义格式 3. 指针的作用 3.1 查询数据 3.2 存储数据&#xff08;修改数据&#xff09; 3.3 操作其他函数中的变量 3.4 函数返回多个值 3.5 函数的结果和计算状态分开 1. 什么是指针 通过内存地址&#xff0c;指向的空间&#…

vue3后台管理系统 vue3+vite+pinia+element-plus+axios上

前言 项目安装与启动 使用vite作为项目脚手架 # pnpm pnpm create vite my-vue-app --template vue安装相应依赖 # sass pnpm i sass # vue-router pnpm i vue-router # element-plus pnpm i element-plus # element-plus/icon pnpm i element-plus/icons-vue安装element-…

C++第一篇 入门基础

目录 1.C的第一个程序 2.c历代版本 3.命名空间 3.1 namespace关键字 namespace的用法&#xff1a; namespace中定义函数 namespace中定义结构体 C中的域&#xff1a; 3.2就近原则 4.命名空间的使用 5.C输入输出 6.缺省参数 全缺省: 半缺省:必须从右往左连续缺省(也…

爆“卷”的AI视频,大厂向左,创企向右

文&#xff5c;白 鸽 编&#xff5c;王一粟 “生成的人物一转身就变成老外&#xff0c;怎么解决呢&#xff1f;” “没有办法&#xff0c;10s中动作大的&#xff0c;人物一致性有问题&#xff0c;只能抽卡&#xff0c;多刷几个&#xff0c;选择一个变化不大的。” 在一个以…

RocketMQ Server Windows安装

RocketMQ阿里开发 开源给apache 官网:RocketMQ 官方网站 | RocketMQ 下载后解压 配置环境变量 注意启动顺序 双击 注意 4.9.0这个版本必须 jdk 8 高了用不了 namesrv是注册中心的作用 broke是核心用于接收生产者消息 存储消息 发送给消费者消息 类似DubboZookeeper…

Java红娘相亲交友平台系统源码小程序

&#x1f495;遇见真爱&#xff0c;从“红娘相亲交友平台系统”开始&#xff01;&#x1f46b; &#x1f339;【精准匹配&#xff0c;缘分不再擦肩而过】 还在为茫茫人海中找不到那个TA而烦恼吗&#xff1f;“红娘相亲交友平台系统”利用先进的大数据分析技术&#xff0c;根据…

匿名内部类

一个类的内部又完整的嵌套了另一个类结构&#xff0c;被嵌套的类称为内部类&#xff0c;嵌套其他的类称为外部类。 类的五大成员&#xff1a;属性、方法、构造器、代码块、内部类 内部类最大的特点的就是直接访问私有属性&#xff0c;并且可以体现类鱼类之间的包含关系。 基本…

北斗三号海上人员落水报警及示位搜救系统升级方案

随着海洋经济的快速发展&#xff0c;海上作业活动日益频繁&#xff0c;人员安全问题也日益凸显。传统的海上救援手段存在诸多不足&#xff0c;如救援响应时间长、定位不准确等。为了提高海上救援的效率和成功率&#xff0c;北斗三号海上人员落水报警及示位搜救系统应运而生。该…

微波传感器 - 从零开始认识各种传感器【第二十期】

微波传感器|从零开始认识各种传感器 1、什么是微波传感器 微波传感器是一种利用微波技术进行探测和测量的传感器。 一般来说&#xff0c;微波是波长为1到1000毫米的电磁波。使用微波传感器&#xff0c;在不接触目标物体的情况下&#xff0c;通过检测和分析微波信号的反射、散…

Matplotlib柱形图大揭秘:让数据‘站’起来,比增高鞋垫还管用!

1. Matplotlib绘制柱形图/柱状图/条形图 柱状图是一种用矩形柱来表示数据分类的图表&#xff0c;柱状图可以垂直绘制&#xff0c;也可以水平绘制&#xff0c;它的高度与其表示的数据成正比关系 # 导包 import numpy as np import pandas as pd import matplotlib.pyplot as p…

机械学习—零基础学习日志(高数16——函数极限性质)

零基础为了学人工智能&#xff0c;真的开始复习高数 这里我们继续学习函数极限的性质。 局部有界性 充分条件与必要条件 极限存在是函数局部有界的充分条件。什么是充分条件&#xff0c;什么是必要条件呢&#xff1f;我这里做了一点小思考&#xff0c;和大家分享&#xff0c…

Windows11下 Visual Studio 2022 + Qt6 的 WebSocket 线程池异步 客户端

Windows11下 Visual Studio 2022 + Qt6 的 WebSocket 线程池异步 客户端 1 开发 WebSocket 客户端1.1 开发环境1.1.1 为Qt 6安装 websockets1.2 .基于Qt6的 QWebSocket 客户端示例1.2.1 实现 WebSocket 客户端1.2.2 创建 QtQWesocketClient1.2.3 创建QWebsocket对象1.2.3.1 添加…

iOS object-C 解答算法:找到所有数组中消失的数字(leetCode-448)

找到所有数组中消失的数字(leetCode-448) 题目如下图:(也可以到leetCode上看完整题目,题号448) 光看题看可能有点难以理解,我们结合示例1来理解一下这道题. 有8个整数的数组 nums [4,3,2,7,8,2,3,1], 求在闭区间[1,8]范围内(即1,2,3,4,5,6,7,8)的数字,哪几个没有出现在数组 …

新装centos7虚拟机如何配置网络,NAT配置固定IP

首先声明&#xff0c;我想使用的是NAT连接模式&#xff0c;并且设置完IP之后&#xff0c;使得这个IP固定住&#xff0c;以后不会再变了。 文章目录 1&#xff0c;打开Vmware软件的【编辑】-【虚拟网络编辑器】2&#xff0c;先选择VMnet8&#xff08;画1处&#xff09;&#xf…

解析capl文件生成XML Test Module对应的xml工具

之前一直用的CAPL Test Module来写代码&#xff0c;所有的控制都是在MainTest()函数来实现的&#xff0c;但是有一次&#xff0c;代码都写完了&#xff0c;突然需要用xml的这种方式来实现&#xff0c;很突然&#xff0c;之前也没研究过&#xff0c;整理这个xml整的一身汗&#…

Hive3:库操作常用语句

1、创建库 create database if not exists myhive;2、选择库 use myhive;3、查看当前选择的库 SELECT current_database();4、查看库详细信息 desc database myhive;可以查看数据文件在hdfs集群中的存储位置 5、创建库时制定hdfs的存储位置 create database myhive2 …

安全防护软件的必要性:从微软蓝屏事件谈起

最近微软遭遇了的大规模蓝屏事件&#xff0c;让全球很多用户措手不及。这次事件告诉我们&#xff0c;保护我们的电脑和数据&#xff0c;安全防护软件是多么重要。 微软蓝屏事件源于网络安全公司CrowdStrike的技术更新错误&#xff0c;导致全球范围内大量Windows用户系统崩溃&a…

什么是五力分析?5分钟带你了解它在企业财务经营中的应用与价值!

如今&#xff0c;随着全球化进程的不断加速&#xff0c;市场环境复杂多变&#xff0c;市场竞争日益激烈&#xff0c;财务经营已经成为了企业应对复杂市场环境、保持自身竞争力的关键。体系化的五力分析平台能够为企业提供一套全面的解决方案&#xff0c;帮助企业在盈利能力、偿…