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

【python】python编程初探1----python中的基本语法,标识符,关键字,注释,多行书写,代码缩进,语句块,模块等

欢迎来CILMY23的博客喔,本篇为【python】python编程初探1----python中的基本语法,标识符,关键字,注释,多行书写,代码缩进,语句块,模块,感谢观看,支持的可以给个一键三连,点赞关注+收藏。

 前言

在前两篇安装完我们所需环境和解决在pycharm所需要选择的python解释器后,本篇我们将了解在python中的基本语法,标识符,关键字,注释,多行书写,代码缩进,一行书写多条语句和多行书写一条语句,空行,语句块,模块和模块对象的导入

文章目录

一、python中的语法规则

1.1 标识符

1.2 关键字(保留字)

1.3 注释

1.4 代码缩进

1.5 一行书写多条语句和多行书写一条语句

1.5.1 多行书写一条语句

1.5.2  一行书写多条语句

1.6 空行 

1.7 语句块 

​编辑 1.8 模块及模块对象导入

1.导入整个模块

2. 导入模块的单个对象

3.导入模块的多个对象 

4.导入模块的全部对象 


一、python中的语法规则

1.1 标识符

 在 Python 中,标识符是用来给类、对象、方法、变量、接口和自定义数据类型等命名的名称。跟C语言中的内容是差不多的。

Python标识符由数字、字母、汉字下画线_组成。(不推荐用汉字)

有以下命名规则:

  1. 标识符可以包含字母(大小写均可)、数字和下划线。
  2. 标识符必须以字母(a-z, A-Z)或者下划线(_)开头,不能以数字开头。
  3. 标识符区分大小写,例如 "myVar" 和 "myvar" 是不同的标识符。
  4. Python 的关键字不能用作标识符。
  5. 标识符不能使用空格或标点符号(如括号、引号、逗号等)

以下是一些 Python 中的关键字,它们不能被用作标识符:

False, None, True, and, as, assert, async, await, break, class, continue,
def, del, elif, else, except, finally, for, from, global, if, import, in, 
is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield

一些示例合法的标识符包括:

var1、my_variable、SomeClass、this_is_a_very_long_variable_name 等。

一些非法的标识符如下:

#myname,1a,class,if

在C语言中我们有命名约定(【C语言】编译和链接----预处理详解【图文详解】-CSDN博客) 

在Python中同样也有命名规定:

  • 命名约定:
  • Python代码中的变量名使用小写字母,单词之间使用下划线分隔(snake_case);而类名使用大写字母开头的驼峰命名法(CamelCase)。

大驼峰:即每个单词首字母都大写,例如: MyName 。
小驼峰:第二个(含)以后的单词首字母大写,例如: myName 。
下划线:例如: my_name 。

1.2 关键字(保留字)

保留字 也被称为关键字,我们更习惯称关键字。 

什么是关键字?

关键字(Keyword)是编程语言中预先保留用于特定目的的标识符。这些标识符具有特殊的含义和功能,通常用于定义语言结构、控制流程、声明变量类型等。在任何给定的编程语言中,关键字都有其固定的语法和含义,不能作为变量名或函数名等用户定义的标识符。

在Python中,关键字包括if、else、for、while、def等,而在C语言中,关键字包括int、char、if、else、for等这些都是有特定功能的标识符,所以被称为关键字

 在pycharm中我们可以输入以下代码查看关键字(不必在意意思,只需要用就完了,后面会解释)

import keyword
print("Python 中的关键字:\n",keyword.kwlist)

Python 中的关键字:
 ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 

1.3 注释

在 Python 中,注释用于在代码中添加说明和解释,但并不会被解释器执行。Python 支持两种类型的注释:

  1. 单行注释:以井号(#)开头的部分被视为单行注释,可以出现在代码行的开头,也可以出现在代码行的结尾。
  2. 多行注释:用三个单引号(''')或三个双引号(""")包围起来的部分被视为多行注释。通常用于多行的注释说明

例如:

# 这是一个单行注释x = 5  # 这也是一个单行注释'''
这是一个
多行注释
'''"""
这也是一个
多行注释
"""

 尽管Python 支持多行注释,但它们实际上是被视为字符串而不是注释,因此并不会被完全忽略。在实际开发中,一般还是使用单行注释来对代码进行注释说明。

1.4 代码缩进

 在C语言中我们常用{}来表示代码的从属关系,这样会让域的表现清晰可见,而在Python中,它采用严格的缩进方式来体现代码的从属关系,而不使用{}。缩进不仅仅是一种风格,它还是定义代码块和控制流的重要方式。

Python 使用缩进来表示代码块的开始和结束,强制规定了代码的缩进格式,缩进空格数是可变的,但同一个语句块的语句必须包含相同的缩进空格数,否则,要么出现语法错误,要么出现逻辑错误,会导致在检查错误上花费大量的时间。

Python 的缩进规则如下:

  1. 使用空格缩进:Python 推荐使用四个空格作为缩进的标准,虽然可以使用制表符(tab)来进行缩进,但是在实际开发中更常见的是使用空格。
  2. 缩进表示代码块:在 Python 中,使用缩进来表示代码块的开始和结束。比如在条件语句、循环、函数定义等中,缩进的部分表示属于代码块内部的代码,缩进的空格数要保持一致。
  3. 统一缩进风格:Python 代码中的缩进风格应该保持统一,不同的代码块和逻辑结构应该使用一致的缩进风格,这样可以提高代码的可读性和整体风格的一致性。

 例如:

# 代码缩进
score = 88
if score >= 60:print("合格")
else:print("不合格!")

1.5 一行书写多条语句和多行书写一条语句

1.5.1 多行书写一条语句

 在日常编程中,经常会遇到一条语句非常长的情况,所以我们会有多行书写一条语句的情况,我们可以使用反斜杠(\)来表示一行代码的延续。这允许我们在一行的末尾换行继续书写代码,而 Python 解释器会将其视为一行代码。

在后续的学习中,我们如果遇到[],{},或()中的多行语句就不需要使用反斜杠(\),可以直接通过在逗号后回车来延续代码

例如:

a = 5
b = 6
c = a + \b
print(c)

1.5.2  一行书写多条语句

Python 可以在一行中书写多条语句,语句之间使用分号;隔开( 英文的分号)

a = 5;b = 6;c = a + b
print(c)

1.6 空行 

 空行也是程序代码的一部分,通常用来提高代码的阅读性

例如:

a = 5
b = 6
c = a + \b
print(c)
#这里是一个空行
a = 5;b = 6;c = a + b
print(c)

 空行在编程中是一种常见的代码组织和可读性的手段,它们通常被用于对代码进行逻辑分组、提高可读性以及符合编码规范。虽然空行对程序的逻辑执行没有直接影响,但在编写清晰易读的代码时起到了重要的作用。在程序代码中,空行是指不包含任何字符的行,只包含空格、制表符、或者其他空白字符的行,也可以是完全没有任何字符的行。

1.7 语句块 

 缩进相同的一组语句构成一个语句块,又称为语句组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号结束,改行之后的一行或多行代码构成语句块,注意:同一个语句块中的语句缩进必须相同

 1.8 模块及模块对象导入

在 Python 中,模块是一个包含 Python 定义和语句的文件文件名就是模块名加上 .py 后缀。在模块中,可以定义函数、类和变量,并且可以使用这些函数、类和变量。模块允许你将你的代码逻辑组织成一个独立的单元,便于维护和复用。

当 Python 解释器读取一个源文件时,它会执行这个文件中的所有代码,并且创建一个具有相应变量的模块对象。每个模块都有自己的符号表,用来管理模块的变量和函数名。模块对象就是指代这个符号表和相关功能的对象。

在 Python 中,模块对象是可以被引入其他模块中并使用的。使用 import 语句可以导入其他模块,并使用点号.运算符来访问导入模块的属性。在导入模块时,Python 解释器会执行被导入模块中的所有顶层代码,然后在当前模块中创建一个指向所导入模块的引用。

 在上文中,我们要查看关键字

import keyword
# 导入一个keyword(模块),使用其中的对象kwlist
print("Python 中的关键字:\n",keyword.kwlist)

在python中导入模块主要有几种方式:

1.导入整个模块

格式为:import 模块名 [as 别名] 

import nltk
import pandas as pd

其中as就是将pandas 重命名一个名字为pd,二者是一样的只是喊法不同 

2. 导入模块的单个对象

格式:from 模块名 import 对象 [as 别名]

from nltk.stem.porter import PorterStemmer
from nltk.tokenize import sent_tokenize

代码从NLTK的stem模块中导入了一个叫做PorterStemmer的类 

代码从NLTK的tokenize模块中导入了一个叫做sent_tokenize的函数

3.导入模块的多个对象 

格式为: from 模块名 import 对象1,对象2……

 一般很少会用这种形式来导入模块内容,太少用了

from module_name import object1, object2, object3

4.导入模块的全部对象 

 格式为: from 模块名 import*

此方式会将模块中的所有对象导入当前命名空间,包括函数、类、变量等。但是这种方式不被推荐,因为它可能会导致命名空间的污染,引起命名冲突。我们更多还是采用第二种形式导入单个

感谢各位同伴的支持,本期python就讲解到这啦,如果你觉得写的不错的话,可以给个一键三连,点赞关注+收藏,若有不足,欢迎各位在评论区讨论。     

相关文章:

【python】python编程初探1----python中的基本语法,标识符,关键字,注释,多行书写,代码缩进,语句块,模块等

欢迎来CILMY23的博客喔,本篇为【python】python编程初探1----python中的基本语法,标识符,关键字,注释,多行书写,代码缩进,语句块,模块,感谢观看,支持的可以给…...

牛客周赛 Round 38

牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com) A-小红的正整数自增_牛客周赛 Round 38 (nowcoder.com) 取出最后一位判断即可 #include<iostream> #include<algorithm> #include<vector> #include<set> #include…...

漏洞扫描操作系统识别技术原理

漏洞扫描过程中&#xff0c;操作系统识别技术是至关重要的一步&#xff0c;因为它有助于扫描器针对性地选择适用的漏洞检测规则&#xff0c;提高扫描的准确性和效率。以下是漏洞扫描中操作系统识别技术的主要原理&#xff1a; **1. **TCP/IP 协议栈指纹识别** **原理**&#…...

数据结构与算法-分治算法

数据结构与算法 数据结构与算法是计算机科学中的两个核心概念&#xff0c;它们在软件开发和问题解决中起着至关重要的作用。 数据结构 数据结构是计算机中存储、组织和管理数据的方式&#xff0c;它能够帮助我们高效地访问和修改数据。不同的数据结构适用于不同类型的应用场…...

MNN详细介绍、安装和编译

目录 第一章:MNN简介 1.1、MNN概述 1.2、MNN特点 1.3、MNN在移动端的应用优势 第二章:MNN安装与配置 2.1、环境准备 2.2、下载与编译 第三章:MNN使用指南 3.1、模型转换与部署 3.2、推理示例 第四章:MNN高级应用与优化技巧...

uniapp-Form示例(uviewPlus)

示例说明 Vue版本&#xff1a;vue3 组件&#xff1a;uviewPlus&#xff08;Form 表单 | uview-plus 3.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架&#xff09; 说明&#xff1a;表单组建、表单验证、提交验证等&#xff1b; 截图&#xff1a; 示例代码 <templat…...

【Linux】详解进程程序替换

一、替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支)&#xff0c;子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时&#xff0c;该进程的用户空间代码和数据完全被新程序替换&#xff0c;从新程序的启动例程开始执…...

vue中使用jsmind生成脑图

项目部分参数&#xff1a; vue&#xff1a;2.6.10 node:16.20.0 1、使用命令行安装jsmind&#xff1a; npm i jsmind -S 2、在文件中引入jsmind&#xff0c;并编写渲染jsmind的代码&#xff1a;&#xff1a; <template><!-- jsmind容器 --><divid"jsmi…...

yarn按包的时候报错 ../../../package.json: No license field

运行 yarn config list 然后运行 yarn config set strict-ssl false 之后yarn就成功了...

【Python从入门到进阶】51、电影天堂网站多页面下载实战

接上篇《50、当当网Scrapy项目实战&#xff08;三&#xff09;》 上一篇我们讲解了使用Scrapy框架在当当网抓取多页书籍数据的效果&#xff0c;本篇我们来抓取电影天堂网站的数据&#xff0c;同样采用Scrapy框架多页面下载的模式来实现。 一、抓取需求 打开电影天堂网站&…...

苹果CMS影视APP源码,二开版本带视频教程

编译app教程 工具下载&#xff1a;Android Studio 官网地址&#xff1a;https://developer.android.google.cn/studio/ 环境设置&#xff1a; 设置中文&#xff1a;https://blog.csdn.net/qq_37131111/article/details/131492844 汉化包找最新的下载就行了&#xff0c;随便下载…...

Zigbee技术在智能农业领域的应用研究

Zigbee技术在智能农业领域的应用研究 **摘要&#xff1a;**随着现代信息技术的飞速发展&#xff0c;智能农业已成为当今农业发展的新趋势。Zigbee技术作为一种低功耗、低成本的无线通信技术&#xff0c;在智能农业领域具有广泛的应用前景。本文深入分析了Zigbee技术的原理和特…...

Spring Cloud Gateway 中GET请求能正常访问,POST请求出现Unable to handle DataBuffer

报错信息如下&#xff1a; java.lang.IllegalArgumentException: Unable to handle DataBuffer of type class org.springframework.http.server.reactive.UndertowServerHttpRequest$UndertowDataBufferat org.springframework.cloud.gateway.filter.NettyRoutingFilter.getB…...

什么是git? 初步认识git 如何使用git

Git是什么&#xff1f; Git 是分布式版本控制系统&#xff0c;可以有效&#xff0c;高速地处理从很小到非常大地项目版本管理&#xff0c;分布式相比于集中式的最大区别在于开发者可以提交到本地&#xff0c;每个开发者可以通过克隆&#xff0c;在本地机器上拷贝一个完整的Git …...

Douyin视频详情数据API接口(视频详情,评论)

抖音官方并没有直接提供公开的视频详情数据采集API接口给普通用户或第三方开发者。抖音的数据采集通常受到严格的限制&#xff0c;以保护用户隐私和平台安全。 请求示例&#xff0c;API接口接入Anzexi58 如果您需要获取抖音视频详情数据&#xff0c;包括评论、点赞等&#xff…...

MySQL 索引:索引为什么使用 B+树?

Hash 索引不支持顺序和范围查询&#xff1b; 二叉查找树(BST)&#xff1a;解决了排序的问题&#xff0c;极端情况下可能会退化成线性链表&#xff0c;查询效率急剧下降&#xff1b; 平衡二叉树(AVL) &#xff1a;通过旋转解决了平衡的问题&#xff0c;但是旋转操作效率太低&am…...

2024年第四届天府杯全国大学生数学建模竞赛B题思路

B题&#xff1a;新质生产力引领下的企业生产与发展策略优化 问题背景 随着技术的飞速发展&#xff0c;新质生产力如人工智能、大数据分析、物联网等技术被广泛应用于生产和服务过程中&#xff0c;极大地提高了生产效率和产品质量&#xff0c;改变了传统的生产与经营模式。一家…...

c++部分题

const关键字与宏定义的区别是什么&#xff1f; const关键字和宏定义在功能上有相似之处&#xff0c;但在实现和使用上有很大的区别。 作用域和类型安全性&#xff1a; const关键字定义的常量具有作用域和类型安全性。它们的作用域仅限于声明它们的块&#xff0c;并且在编译时会…...

验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给定一个字符串 s&#xff0c;如果它是 回文串 &#xff0c;返回 true &#xff1b;否则&#…...

vue2高德地图选点

<template><el-dialog :title"!dataForm.id ? 新建 : isDetail ? 详情 : 编辑" :close-on-click-modal"false" :visible.sync"show" class"rv-dialog rv-dialog_center" lock-scroll width"74%" :before-close&q…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...

大模型真的像人一样“思考”和“理解”吗?​

Yann LeCun 新研究的核心探讨&#xff1a;大语言模型&#xff08;LLM&#xff09;的“理解”和“思考”方式与人类认知的根本差异。 核心问题&#xff1a;大模型真的像人一样“思考”和“理解”吗&#xff1f; 人类的思考方式&#xff1a; 你的大脑是个超级整理师。面对海量信…...

使用python进行图像处理—图像滤波(5)

图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值&#xff0c;以达到平滑&#xff08;去噪&#xff09;、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算&#xff0c;…...