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

【编程基础之Python】6、Python基础知识

【编程基础之Python】6、Python基础知识

  • Python基础知识
    • Python的基本要素
      • 模块
      • 语句
      • 表达式
      • 注释
    • Python的代码格式

Python基础知识

Python 是一种高级的、动态的、解释型的编程语言,具有简单易学、开发效率高、可读性强等特点,广泛应用于数据科学、Web 开发、人工智能等领域。

尽管Python是一种面向对象的语言,但Python的代码编写比较自由,并不像Java语言那样需要定义一个main方法作为入口点。Python程序的代码可以像批处理文件一样从上到下按顺序编写,这也是Python适合做运维的原因。

尽管Python语言的代码自由度更大,但这并不等于Python语言的代码可以随便编写,仍然需要一定的结构。学习Python需要了解它的语法特点,比如注释规则、代码缩进、编码规范等。

Python的基本要素

Python程序包括以下一些基本要素。

模块

Python 程序可以分为多个模块,每个模块是一个独立的文件,包含一些可执行的 Python 代码。使用 import 语句可以将一个模块导入到当前程序中。

要进行数学计算,我们需要导入math模块。

import math# 获取圆周率
print(math.pi)
# 开平方
print(math.sqrt(4))
# 计算对数值
print(math.log(9, 3))

image-20230220233347527

要进行数据分析,我们需要导入numpy模块。

import numpy as np# 创建1维数组
ary1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
print(ary1)
# 创建1维数组
ary2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(ary2)
print(ary2.shape)

image-20230220233855399

语句

Python 程序中的语句是一系列指令,用于控制程序的执行流程。Python 中的语句包括赋值语句、条件语句、循环语句、函数定义语句等。

  • 赋值语句

Python 中的赋值语句用于给变量赋值,格式为:

变量名 = 表达式

在上面的案例中:

ary1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

就是将一个1维数据赋值给变量ary1。

  • 条件语句

Python 中的条件语句用于根据条件来选择执行的代码块,格式为:

if 条件语句:代码块1
else:代码块2

比如比较两个数的大小:

# 条件语句
a = 10
b = 20
if a > b:print("a 大于 b")
else:print("a 小于等于 b")

image-20230220234456771

表达式

Python 程序中的表达式是一组由运算符和操作数组成的式子,用于计算某个值。Python 中的表达式包括算术表达式、比较表达式、逻辑表达式等。

  • 算术表达式

根据两个变量的值,计算第三个变量:

# 算术表达式
a = 10
b = 3
c = a + b * 2 / 5

image-20230220234918174

  • 比较表达式
# 比较表达式
a = 10
b = 3
c = a > b
d = a < b
print(c, d)

image-20230220235118623

注释

注释,就是对代码的解释、说明、备注等,通常用于对代码中的复杂逻辑、语句含义及作用等做出说明,方便人们阅读理解代码。

在添加注释时,一定要有意义,要能充分体现代码的作用。

在Python中,通常包括3种类型的注释,分别是单行注释、多行注释和Python 2中常用的中文注释。

  • 单行注释

在Python中,使用“#”作为单行注释发符号。从符号“#”开始直到行尾的所有内容都是注释内容,会被Python编译器忽略。

单行注释可以放在要注释的代码的前一行,也可以放在要注释的代码的行尾。

在前面的案例中,所有注释都是单行注释,并且都是在要注释的代码的前一行,比如:

# 获取圆周率
print(math.pi)
# 开平方
print(math.sqrt(4))
# 计算对数值
print(math.log(9, 3))

当然,也可以将注释放到行尾,比如:

# 获取圆周率
print(math.pi) # 这也是正确的注释,获取圆周率,行尾注释
# 开平方
print(math.sqrt(4)) # 这也是正确的注释,开平方
# 计算对数值
print(math.log(9, 3)) # 这也是正确的注释
  • 多行注释

在Python中,没有一个单独的多行注释标记,而是用一对三引号的内容来表示多行注释。比如:

"""
下面的三行代码的作用分别是:
第1行:获取圆周率
第2行:开平方
第3行:计算对数值
"""
print(math.pi)
print(math.sqrt(4))
print(math.log(9, 3))

或者:

'''
下面的三行代码的作用分别是:
第1行:获取圆周率
第2行:开平方
第3行:计算对数值
'''
print(math.pi)
print(math.sqrt(4))
print(math.log(9, 3))

但是,这其实并不是真正的注释,而是一个匿名的多行字符串。

你会发现,它在Python代码中的语法高亮跟字符串的一样,而不是跟单行注释的一样,而在其他语言,比如Java中,单行注释和多行注释的高亮颜色是一样的。

# 注释的颜色是灰色的
# 你看,字符串的颜色是绿色的a = "楼上说得对,我是绿色的""""
他们说我是多行字符串
但是我的颜色跟注释的颜色不一样
我的颜色跟字符串的颜色一样
我觉得我是个假注释
"""

image-20230221002838741

既然它是字符串,那就是可以赋值的。

"""
他们说我是注释
我觉得我是个假注释
"""
a = """
我真的是注释吗?
不,其实我是一个字符串!
我有自己的类型、我在内存中占用了空间、有内存地址
"""
print(a, type(a), id(a))
print("print 的内容其实可以换行写,我是字符串,没商量,1"
)
print("print 的内容其实可以换行写,我是字符串,没商量,2"# 我确实是注释,虽然我在print里面,但是打印的结果看不到我"""我真的是注释吗?如果我真的是注释,那么现在编译器应该忽略我,print不应该把我打印出来,只会打印我前面的那行。但你看我打印出来了,我楼上的那行注释就没打印出来,所以我真的只是一个匿名的多行字符串。"""
)

执行之后,输出内容如下:

image-20230221003636683

  • 中文注释

在Python 2中需要用到,但在Python 3中并不需要了,用于指定当前脚本中包含中文,需要用utf-8编码。

# coding=utf-8

Python的代码格式

Python的代码格式非常重要,因为它可以影响到代码的可读性和可维护性。在Python社区中,通常会遵循一些通用的代码格式约定,例如PEP 8(Python Enhancement Proposal 8)。

一些Python代码格式的基本要点:

  • 缩进:Python使用缩进来表示代码块,一般使用4个空格作为缩进距离。
  • 行长:每行代码不应超过80个字符,可以使用反斜杠(\)来拆分长行。
  • 空格:在逗号、冒号、分号后应加上空格;在二元运算符两侧应加上空格;函数定义和调用时,函数名和左括号之间不应有空格。
  • 命名规范:变量名、函数名和类名应该使用小写字母,用下划线来分隔单词。常量名应该全部大写,用下划线来分隔单词。私有变量应该以一个下划线开头。类名应该以大写字母开头,采用驼峰命名法。
  • 模块导入:在文件开头应该先导入标准库模块,然后是第三方库模块,最后是本地应用程序模块。每个导入应该单独一行。
  • 函数:函数定义时应该有文档字符串,用于说明函数的用途和参数的含义。函数应该尽量短小,每个函数都应该完成一个特定的任务。函数应该采用动词或动词短语命名,用于描述函数的行为。

相关文章:

【编程基础之Python】6、Python基础知识

【编程基础之Python】6、Python基础知识Python基础知识Python的基本要素模块语句表达式注释Python的代码格式Python基础知识 Python 是一种高级的、动态的、解释型的编程语言&#xff0c;具有简单易学、开发效率高、可读性强等特点&#xff0c;广泛应用于数据科学、Web 开发、…...

selenium基本操作

爬虫与反爬虫之间的斗争爬虫&#xff1a;对某个网站数据或图片感兴趣&#xff0c;开始抓取网站信息&#xff1b;网站&#xff1a;请求次数频繁&#xff0c;并且访问ip固定&#xff0c;user_agent也是python&#xff0c;开始限制访问&#xff1b;爬虫&#xff1a;通过设置user_a…...

思科设备命令讲解(超基础二)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…...

HTML基础(3)

HTML基础单选框、复选框、下拉框文本框< script >标签属性< script >基本使用单选框、复选框、下拉框 文本框 < script >标签属性 type属性定义script元素包含或src引用的脚本语言。属性值是MIME类型&#xff0c;包括text/javascript,text/ecmascript, appl…...

鸿蒙3.0 APP混合开发闪退问题笔记

APP采用cordova混合开发&#xff0c; 鸿蒙2.0以及安卓操作系统正常使用&#xff0c;但是在鸿蒙3.0中出现APP闪退&#xff0c;对APP进行真机调试发现&#xff0c;鸿蒙3.0系统对crosswork插件存在兼容问题&#xff0c;这些问题会导致APP页面加载失败&#xff0c;进而导致App闪退测…...

批量操作文件功能-课后程序(JAVA基础案例教程-黑马程序员编著-第七章-课后作业)

【实验7-1】 批量操作文件功能 任务介绍 1&#xff0e;任务描述 在日常工作中&#xff0c;经常会遇到批量操作系统文件的事情&#xff0c;通常情况下&#xff0c;只能手动重复的完成批量文件的操作&#xff0c;这样很是费时费力。本案例要求编写一个文件管理器&#xff0c;…...

Hadoop3.3.1完全分布式部署

Hadoop目录Hadoop3.3.1完全分布式部署(一)1、HDFS一、安装1、基础安装1.1、配置JDK-181.2、下载并解压hadoop安装包本地运行模式测试 eg:2、完全分布式运行模式1、概要&#xff1a;2、编写集群分发脚本&#xff0c;把1~4步安装的同步到其他服务器&#xff1a;2.1、创建脚本vim …...

SpringMVC中的注解

SpringMVC中的注解 文章目录SpringMVC中的注解RequestMapping注解RequestMapping中的value属性RequestMapping中的method属性派生类PathVariable注解RequestParam注解RequestMapping注解 RequestMapping中的value属性 RequestMapping&#xff1a;既可以标识在方法上也可以标识…...

python+Vue学生作业系统 django课程在线学习网站系统

系统分为学生&#xff0c;教师&#xff0c;管理员三个角色&#xff1a; 学生功能&#xff1a; 1.学生注册登录系统 2.学生查看个人信息&#xff0c;修改个人信息 3.学生查看主页综合评价&#xff0c;查看今日值班信息 4.学生在线申请请假信息&#xff0c;查看请假的审核结果和请…...

CSS 美化网页元素【快速掌握知识点】

目录 一、为什么使用CSS 二、字体样式 三、文本样式 color属性 四、排版文本段落 五、文本修饰和垂直对齐 1、文本装饰 2、垂直对齐方式 六、文本阴影 七、超链接伪类 1、语法 2、示例 3、访问时&#xff0c;蓝色&#xff1b;访问后&#xff0c;紫色&#xff1b; …...

Tableau连接openGauss实践

目录 一、摘要 二、什么是Tableau&#xff1f; 三、安装Tableau 四、安装ODBC驱动 1、openGauss数据库 2、连接前置条件 3、Tableau连接openGauss方式一 4、Tableau连接openGauss方式二 一、摘要 Tableau可以连接到多种数据库&#xff0c;包括关系型数据库&#xff0…...

RabbitMQ 实现延迟队列

业务场景&#xff1a;1.生成订单30分钟未支付&#xff0c;则自动取消&#xff0c;我们该怎么实现呢&#xff1f;2.生成订单60秒后,给用户发短信1 安装rabbitMqwindows安装ubuntu中安装2 添加maven依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spr…...

Spring Bean 生命周期,好像人的一生

简单说说IoC和Bean IoC&#xff0c;控制反转&#xff0c;想必大家都知道&#xff0c;所谓的控制反转&#xff0c;就是把new对象的权利交给容器&#xff0c;所有的对象都被容器控制&#xff0c;这就叫所谓的控制反转。 控制反转 Bean&#xff0c;也不是什么新鲜玩意儿&#xf…...

C++算法基础课 05 —— 数据结构1_单链表/双链表/栈/单调栈/队列/单调队列/KMP

文章目录 1. 单链表(用数组模拟链表)1.1 模板1.1.1 插入操作1.1.2 删除操作1.2 习题1 —— 826.单链表2. 双链表2.1 模板2.1.1 插入操作2.1.2 删除操作2.2 习题1 —— 827.双链表3. 栈(用数组模拟栈)3.1 模板3.2 习题1 —— 828.模拟栈4. 单调栈4.1 模板4.2 习题1 —— 830.单调…...

小型水库大坝安全监测的主要对象

一、监测背景 大坝监测的目的分成两个大的方面&#xff0c;一方面是为了验证设计、指导施工、为科研提供必要的资料&#xff1b;另一方面&#xff0c;也可以说是更重要的方面&#xff0c;就是为了长期监视大坝的安全运行。因此&#xff0c;一个成功的监测设计者不仅要能充分领会…...

常见软件开源(alpha,beta等)版本介绍

一、开发期Alpha&#xff1a;是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。Beta&#xff1a;也是测试版&#xff0c;这个阶段的版本会一直加入新的功能。在Alpha版之后推出。-RC(ReleaseCandidate)&#xff1a;最终测试版本&#xff1b;可能成为最终产品的…...

凌恩生物资讯|抗性宏基因组又一力作|抗性基因+可移动元件研究新成果!

凌恩生物合作客户&#xff1a;合肥工业大学崔康平老师团队利用凌恩生物宏基因组抗性基因研究解决方案&#xff0c;对污水处理厂活性污泥中的钆&#xff08;Gd&#xff08;III&#xff09;&#xff09;和抗生素磺胺甲噁唑&#xff08;SMX&#xff09;的联合污染情况进行了调查&a…...

常见前端基础面试题(HTML,CSS,JS)(二)

ES6 新增哪些东西 箭头函数字符串模板支持模块化&#xff08;import、export&#xff09;类&#xff08;class、constructor、extends&#xff09;let、const 关键字新增一些数组、字符串等内置构造函数方法&#xff0c;例如 Array.from、Array.of 、Math.sign、Math.trunc 等…...

按关键词搜索,商品详情采集,API接口

公共参数 名称类型必须描述keyString是 调用key&#xff08;必须以GET方式拼接在URL中&#xff09; 注册Key和secret测试&#xff1a; https://o0b.cn/anzexi secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_g…...

C++的纯虚函数使用与接口实现

虚函数主要是为了父类指针访问子类同名成员方法而引入的&#xff0c;即通过重写了父类的方法&#xff0c;从而实现多态。 01 为何引入纯虚函数 对于普通虚函数&#xff0c;如果子类没有重写相应的虚函数&#xff0c;那么父类指针就只能调用父类函数实现&#xff0c;然而父类有…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

负载均衡器》》LVS、Nginx、HAproxy 区别

虚拟主机 先4&#xff0c;后7...