当前位置: 首页 > 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;然而父类有…...

Exception has occurred: ModuleNotFoundErrorNo module named ‘urllib3‘【已解决】

问题描述 实际上只是想要测试一下torch是否安装成功&#xff0c;输出相应版本。谁知道就报错了。 Exception has occurred: ModuleNotFoundError No module named urllib3 解决方案 &#xff08;1&#xff09;使用pip或者conda卸载urllib3 pip uninstall urllib3conda unin…...

CSS 盒子模型【快速掌握知识点】

目录 一、什么是盒子模型 二、边框border-color 三、边框粗细border-width 四、边框样式border-style 五、外边距margin 六、内边距padding 七、圆角边框 八、圆形 九、盒子阴影 一、什么是盒子模型 css盒子模型又称为框模型&#xff0c;盒子的最内部是元素的实际内容…...

公网远程连接Oracle数据库【内网穿透】

文章目录1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程OracleOracle&#xff0c;是甲骨文公司的一款关系数据库管理系…...

国内售价仅10元的鸭子滑梯玩具TK卖到20美元,相关视频获400万+播放!

在TikTok上玩具一直是增速极快的一个类目&#xff0c;不同于很多其他品类在疫情期间取得了巨大增长但在疫情后销售大幅下降的现象不同&#xff0c;全球玩具市场继续表现并保持稳定的较高的销售水平。美国市场研究机构NPD的统计&#xff0c;2021年&#xff0c;全球玩具市场的销售…...

直播平台的视频美颜sdk是什么?

直播平台的视频美颜sdk是什么&#xff0c;可以做什么&#xff1f;简而言之&#xff0c;直播美颜sdk是将直播平台的视频美颜效果做成一个sdk&#xff0c;给用户提供美颜效果选择&#xff0c;同时提供不同的视频分辨率&#xff0c;可以让用户在观看直播时有更好的体验。那么具体有…...

实现Vue组件库

实现Vue组件库 如何实现一个Vue组件库 Vue组件库是一种常见的前端工具&#xff0c;可以提供可复用的UI组件来简化应用程序的开发和维护。本文将介绍如何实现一个基本的Vue组件库。 步骤一&#xff1a;创建Vue项目 首先&#xff0c;我们需要使用Vue CLI创建一个Vue项目。打开…...

面试 | 移位妙解递归乘法【细节决定成败】

不用[ * ]如何使两数相乘❓一、题目明细二、思路罗列 & 代码解析1、野蛮A * B【不符合题意】2、sizeof【可借鉴】解析3、简易递归【推荐】① 解析&#xff08;递归展开图&#xff09;② 时间复杂度分析4、移位<<运算【有挑战性&#x1f4aa;】① 思路顺理② 算法图解…...

项目缓存问题处理

1、public/index.html文件头部配置 <meta http-equiv"pragram" content"no-cache"> <meta http-equiv"cache-control" content"no-cache,no-store,must-revalidate"> <meta http-equiv"expires" content&…...

DS期末复习卷(八)

一、选择题(30分) 1.字符串的长度是指&#xff08; C &#xff09;。 (A) 串中不同字符的个数 (B) 串中不同字母的个数 (C ) 串中所含字符的个数 (D) 串中不同数字的个数 2.建立一个长度为n的有序单链表的时间复杂度为&#xff08; C &#xff09; (A) O(n) (B) O(1) © …...

第50讲:SQL优化之LIMIT分页查询的优化

文章目录 1.LIMIT分页查询的优化概念2.LIMIT分页查询优化前后的效果2.1.LIMIT分页查询优化前2.2.LIMIT分页查询优化后1.LIMIT分页查询的优化概念 当表中数据量小时,分页查询基本上没有什么压力,查询速度也会很快,但是一般当表的数据量很庞大时,上千万条数据,此时分页查询…...