2.Python基础知识:注释、变量以及数据类型、标识符和关键字、输入函数、输出函数、运算符、程序类型转换
1. 注释
注释是用来解释代码,增强代码可读性的部分。在 Python 中,注释分为单行注释和多行注释。
-
单行注释:以
#开头,后面的内容都被视为注释。# 这是一个单行注释 print("Hello, World!") # 输出 "Hello, World!" -
多行注释:使用三引号
'''或"""将多行文本括起来。""" 这是一个多行注释, 可以用于解释较长的代码逻辑。 """ print("Hello, Python!")
2. 变量和数据类型
-
变量:在 Python 中,变量不需要事先声明类型,赋值时自动推断类型。
x = 10 # 整型变量 name = "Alice" # 字符串变量 -
数据类型:Python 支持多种内置数据类型,常见的有:
- 整型(int):表示整数值。
x = 10 - 浮点型(float):表示带小数点的数值。
y = 3.14 - 字符串(str):表示文本数据。
name = "Alice" - 布尔型(bool):只有两个值
True和False。is_active = True - 列表(list):有序集合,可以包含不同类型的元素。
numbers = [1, 2, 3, 4] - 元组(tuple):有序的不可变集合。
coords = (10, 20) - 字典(dict):键值对集合。
person = {"name": "Alice", "age": 25} - 集合(set):无序、不重复的元素集合。
unique_numbers = {1, 2, 3, 4}
- 整型(int):表示整数值。
3. 标识符和关键字
-
标识符:标识符是变量、函数、类、模块等的名称。标识符的命名规则:
- 只能包含字母、数字和下划线(
_)。 - 不能以数字开头。
- 区分大小写(例如
myVar和myvar是不同的标识符)。
合法的标识符示例:
var1 = 10 _my_var = "Python" MyVar = 20 - 只能包含字母、数字和下划线(
-
关键字:Python 中有一些保留的关键字,不能作为标识符使用。可以通过
import keyword来查看所有的关键字。import keyword print(keyword.kwlist)常见的关键字包括:
if,else,for,while,try,except,class,def,return等。
4. 输入函数
Python 提供了 input() 函数用于从用户获取输入。
-
input()函数:默认返回字符串类型,若想输入其他类型的数据,需要手动转换。name = input("请输入你的名字:") # 获取用户输入 print(f"你好, {name}")如果要获取数字输入,可以将输入转换为相应的数字类型:
age = int(input("请输入你的年龄:")) print(f"你今年 {age} 岁。")
5. 输出函数
Python 使用 print() 函数来输出内容。
-
print()函数:可以打印文本、变量、计算结果等。print("Hello, World!") name = "Alice" print(f"你好, {name}") # 使用 f-string 格式化输出你还可以使用逗号分隔不同的值,这样它们会被打印在同一行,且自动加上空格:
x = 10 y = 20 print("x 的值是", x, "y 的值是", y)
6. 运算符
Python 支持常见的算术运算符、比较运算符、逻辑运算符等。
-
算术运算符:
+加法-减法*乘法/除法//整除%取余**幂运算
示例:
a = 10 b = 5 print(a + b) # 15 print(a - b) # 5 print(a * b) # 50 print(a / b) # 2.0 print(a // b) # 2 print(a % b) # 0 print(a ** b) # 100000 -
比较运算符:
==等于!=不等于>大于<小于>=大于等于<=小于等于
示例:
a = 10 b = 5 print(a == b) # False print(a != b) # True print(a > b) # True -
逻辑运算符:
and逻辑与or逻辑或not逻辑非
示例:
a = True b = False print(a and b) # False print(a or b) # True print(not a) # False
7. 程序类型转换
Python 提供了内置的类型转换函数,允许在不同的数据类型之间转换。
-
int():将其他类型转换为整数。x = "10" y = int(x) # 转换为整数 print(y) # 10 -
float():将其他类型转换为浮点数。x = "3.14" y = float(x) # 转换为浮点数 print(y) # 3.14 -
str():将其他类型转换为字符串。x = 10 y = str(x) # 转换为字符串 print(y) # "10" -
list():将其他可迭代对象转换为列表。x = (1, 2, 3) y = list(x) # 转换为列表 print(y) # [1, 2, 3] -
tuple():将其他可迭代对象转换为元组。x = [1, 2, 3] y = tuple(x) # 转换为元组 print(y) # (1, 2, 3)
总结
以上内容涵盖了 Python编程中的一些基础知识,包括注释、变量和数据类型、标识符与关键字、输入输出函数、常用运算符以及数据类型的转换。这些基础知识是学习 Python编程的基石,掌握它们将为后续的学习打下坚实的基础。
相关文章:
2.Python基础知识:注释、变量以及数据类型、标识符和关键字、输入函数、输出函数、运算符、程序类型转换
1. 注释 注释是用来解释代码,增强代码可读性的部分。在 Python 中,注释分为单行注释和多行注释。 单行注释:以 # 开头,后面的内容都被视为注释。 # 这是一个单行注释 print("Hello, World!") # 输出 "Hello, Wor…...
3NF讲解
3NF讲解 3NF(第三范式)是数据库设计中的一种规范化方法,目的是消除数据冗余和避免数据异常。它帮助数据库保持高效,灵活和一致性。理解3NF的关键点在于它依赖于前两个范式(1NF和2NF)的基础。 1. 第一范式…...
Spring Boot框架下的单元测试
1. 什么是单元测试 1.1 基本定义 单元测试(Unit Test) 是对软件开发中最小可测单位(例如一个方法或者一个类)进行验证的一种测试方式。在 Java 后端的 Spring Boot 项目中,单元测试通常会借助 JUnit、Mockito 等框架对代码中核心逻辑进行快…...
AI测试工程师成长指南:以DeepSeek模型训练为例
目录 引言:AI测试工程师的使命与挑战成长日记:从测试小白到AI测试专家核心能力:AI测试工程师的必备素养知识体系:技术栈与技能图谱AI测试工具全景:以DeepSeek为核心的工具链实战训练模式:以DeepSeek模型迭…...
【数据结构】_队列的结构与实现
目录 1. 队列的概念和结构 2. 队列的应用 3. 队列的实现 3.1 队列实现的底层结构选择 3.2 结构体设计 3.2.1 仅为链表结点设计结构体 3.2.2 为链表再设计一个结构体 3.3 Queue.h 3.4 Queue.c 3.5 Test_Queue.c 注:部分方法实现细节 1. 队列的概念和结构 …...
机器学习--2.多元线性回归
多元线性回归 1、基本概念 1.1、连续值 1.2、离散值 1.3、简单线性回归 1.4、最优解 1.5、多元线性回归 2、正规方程 2.1、最小二乘法 2.2、多元一次方程举例 2.3、矩阵转置公式与求导公式 2.4、推导正规方程0的解 2.5、凸函数判定 成年人最大的自律就是:…...
MySQL时间类型相关总结(DATETIME, TIMESTAMP, DATE, TIME, YEAR)
MySQL时间类型相关总结(DATETIME, TIMESTAMP, DATE, TIME, YEAR) MySQL官方文档: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-types.html 一. 对比: 在 MySQL 中,处理时间相关的数据类型主要有以下几种:DATE、TIME、…...
朴素贝叶斯原理
在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KNN,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么…...
k8s中,一.pod污点,二.pod容器污点容忍策略,三.pod优先级(PriorityClass类)
一.pod污点:污点是让节点与pod产生排斥的一类规则污点标签的命令1.查看污点标签kubectl describe nodes 节点名2.设置污点标签kubectl taint node 节点名 key值value值:污点标签种类3.删除污点标签kubectl taint node 节点名 key值value值:污点标签种类-4.污点标签种类驱逐:NoE…...
【重生之学习C语言----水仙花篇】
目录 编辑 ----------------------------------------begin-------------------------------------- 一、什么是水仙花数? 二、问题分析 确定数字的位数:计算输入数字的位数 n。 分离每一位数字:例如将 153 分离为 1、5、3。 计算各…...
两步构建 AI 总结助手,实现智能文档摘要
在信息极度丰富的当下,如何从海量且复杂的文件资料中筛选出关键内容,成为了不少企业和个人急需解决的问题。本次解决方案将向您介绍,如何通过函数计算 FC 阿里云百炼平台搭建智能 AI 总结助手,实现高效的文本自动总结和信息提取。…...
承压金字塔(蓝桥杯17C)
文件读取,与写入:C 文件和流 | 菜鸟教程 #include <iostream> #include <fstream> #include <string> using namespace std; double sum[30][30]; int main() {ifstream infile("C:\\Users\\xutianci\\OneDrive\\Desktop\\TMOCC\…...
day33-数据同步rsync
一、Rsync本地模式和远程模式 纯通过rsync的命令,来实现,数据目录A 拷贝到数据目录B 也就是模拟cp的用法 很简单 1.安装 yum install rsync -y 2.命令语法,分几个模式 - 本地模式 rsync 参数 源路径 目标路径 rsync -xxxxx /var…...
Android 实现首页Tab切换并且支持懒加载功能详解
目录 1. 添加依赖2. 布局文件3. 创建 Fragment4. 创建适配器5. 在 MainActivity 中设置 TabLayout 和 ViewPager2 1. 添加依赖 在 build.gradle 文件中添加以下依赖: implementation androidx.viewpager2:viewpager2:1.1.0-beta01 implementation com.google.andr…...
[Android] 360行车记录仪谷歌版
[Android] 360行车记录仪谷歌版 链接:https://pan.xunlei.com/s/VOIQYq-jmW8Jpb8y3EIA3YdtA1?pwd3abw# 新买的360行车记录仪,配套软件让安装360智慧生活软件,二百多兆,各种功能齐全、忒齐全,好多用不到,…...
基于Redis分布式锁
1. 获取锁的过程 使用SETNX命令:SETNX(SET if Not eXists)是一个原子操作,它会在指定的key不存在时,将key的值设置为给定的value,并返回1;如果key已经存在,则不做任何操作࿰…...
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
在 Spring Boot 项目中,有时候我们希望根据配置文件中的某个属性值来决定是否启用某个功能或加载某个组件。此时,ConditionalOnProperty 注解就可以发挥作用。它通过配置文件的属性值控制 Bean 或配置类的加载,使得我们的程序更具灵活性。 本…...
canny边缘检测
Canny边缘检测算法是一种广泛使用的边缘检测方法,由John F.Canny在1986年提出。它被认为是边缘检测的“黄金标准”,因为它在检测边缘的同时能够很好地抑制噪声,并且能够精确地定位边缘。Canny算法通过一系列步骤来实现鲁棒的边缘检测…...
团建 蓝桥杯省a 15
问题描述 小蓝正在和朋友们团建,有一个游戏项目需要两人合作,两个人分别拿到一棵大小为 nn 和 mm 的树,树上的每个结点上有一个正整数权值。 两个人需要从各自树的根结点 1 出发走向某个叶结点,从根到这个叶结点的路径上经过的所…...
【逻辑学导论】1.6 有效性和真实性
当一个演绎论证成功地将结论和前提必然地联系起来,它是有效的。有效性是针对论证的各命题之间的关系而言的。一个论证是有效的,当且仅当它不可能有真前提和假结论,当且仅当其结论是从其前提逻辑必然地推导出来的。因此,有效性永远…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
