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

Python语法(全)

前言:

下面是Python基本的语法,大家耐心观看!


1.基础语法

1.1字面量

字面量:在代码中,被写下来的的固定的值,称之为字面

1.2字符串

字符串(string),又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串

字符串的引号嵌套

单引号定义法,可以内含双引号

双引号定义法,可以内含单引号

可以使用转移字符(\)来将引号解除效用,变成普通字符串

字符串拼接

注意:拼接仅限于拼接字符串

字符串格式化

"%s\%d\%f" % (表达式、表达式、表达式)

字符串格式化(快速)

f”{变量}  {变量}”的方式进行快速格式化

此方法精度和类型自动识别

格式化的精度控制

表达式格式化

字符串大小比较

ASCII码表

字符串是按位比较,也就是一位位进行对比,只要有一位大,那么整体就大

1.3注释

1.4变量

1.5数据类型

type语句

1.6数据类型转换

数据类型转换,将会是我们以后经常使用的功能。

如:

从文件中读取的数字,默认是字符串,我们需要转换成数字类型

后续学习的input()语句,默认结果是字符串,若需要数字也需要转换

将数字转换成字符串用以写出到外部系统 等等

注意:

1. 任何类型,都可以通过str(),转换成字符串

2. 字符串内必须真的是数字,才可以将字符串转换为数字

3.浮点数转整数会丢失小数部分

1.7标识符

标识符:用户编写代码时,对变量、类、方法等编写的名字,叫做标识符

Python中,

标识符命名的规则主要有:

内容限定

大小写敏感

不可使用关键字

不推荐使用中文

不可以数字开头

下面是常用关键字

1.8运算符

算数(数学)运算符

赋值运算符

1.9数据输入(input)

注意:无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型

1.10空格缩进

Python中默认4个空格为一个归属

在嵌套中尤为注意

2.判断语句

2.1布尔类型

2.2比较运算符

2.3 if语句

应用:

2.4 if else语句

应用:

2.5 if elif else语句

应用:

简写:

2.6判断语句的嵌套

应用:

3.循环语句

3.1 while循环的基础语法

应用:

注意:

条件需提供布尔类型结果,True继续,False停止

空格缩进不能忘

请规划好循环终止条件,否则将无限循环

3.2 while循环的嵌套应用

应用:

注意:

同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进,基于空格缩进来决定层次关系

注意条件的设置,避免出现无限循环(除非真的需要无限循环)

3.3 for循环的基础语法

应用:

3.4 for循环的嵌套应用

应用:

3.5 range语句

应用:

3.6变量作用域

3.6 whlie循环和for循环相互嵌套

3.7 continue和break关键字

语句 print("小美,我喜欢你") 不会执行

遇到break 循环直接结束  则不会运行语句  j += 1

4.函数

4.1函数的定义

函数:是组织好的,可重复使用的,用来实现特定功能的代码段

4.2函数的参数

注意:

传入参数的数量是不受限制的

可以不使用参数 也可以仅使用任意N个参数

4.3函数的返回值

返回值的定义

应用:

None类型

None可以主动使用return返回,效果等同于不写return语句

应用:

4.4函数的声明文档

在PyCharm编写代码时,可以通过鼠标悬停,查看调用函数的说明文档

4.5函数的嵌套调用

执行结果:

4.6变量的作用域

局部变量

全局变量

global关键字

作用:在函数等内部修改全局变量

使用前:

使用后:

4.7函数多返回值

当函数进行到第一个return 时,函数会直接结束并返回第一个return,不会返回第二个return

如果想要返回多个值,只需要按照返回值的顺序,写对应顺序的多个变量接收即可

注意:支持不同类型的数据return

4.8函数多种传参方式

位置参数

作用:调用函数时根据函数定义的参数位置来传递参数

注意:传递的参数和定义的参数的顺序及个数必须一致

关键字参数

作用:函数调用时通过“键=值”形式传递参数

注意:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序

缺省参数(默认函数)

作用:缺省参数用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用

当调用函数时没有传递参数, 就会使用默认是用缺省参数对应的值

注意: 函数调用时,如果向缺省参数传值则修改默认参数值, 否则使用这个默认值

位置传递

传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型

关键字传递

参数是“键=值”形式的形式的情况下, 所有的“键=值”都会被kwargs接受, 同时会根据“键=值”组成字典

4.9匿名函数

函数作为参数传递

在test_func函数内部,传入compute函数,完成了对数字的计算操作

注意:计算逻辑的传递,而非数据的传递(先进行test_func再进行compute)

lambda匿名函数

函数的定义中

def 关键字,可以定义带有名称的函数

lambda 关键字,可以定义匿名函数(无名称)

有名称的函数,可以基于名称重复使用

无名称的匿名函数,只可临时使用一次

应用:

注意:只能写一行,无法写多行代码,且是临时的只能使用一次

5.数据容器

数据容器:一种可以存储多个元素的Python数据类型

Python中数据容器有:list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)

5.1 list列表

列表的定义

列表内的每一个数据,称之为元素

以 [ ]  作为标识

列表内每一个元素之间用, 逗号隔开

应用:

列表支持嵌套:

列表的下标索引

列表中的每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增

应用:

列表的反向下标索引

应用:

嵌套列表的下标索引

应用:

列表的常用操作

列表提供了一系列功能: 插入元素 删除元素 清空列表 修改元素 统计元素个数

列表的特点

5.2 tuple元组

元组的定义

元组最大特点:元组一旦定义完成,就不可修改

元组支持嵌套

注意:

元组只有一个数据,这个数据后面要添加逗号

元组的常用操作

应用:

注意:如果强行修改元组内容,会报错

元组的特点:

可以容纳多个数据

可以容纳不同类型的数据(混装)

数据是有序存储的(下标索引)

允许重复数据存在 不可以修改(增加或删除元素等)

支持for循环

5.3 str字符串

字符串的定义

字符串可以完成一些与列表、元组相同的操作

字符串的常用操作

字符串的特点

只可以存储字符串

长度任意(取决于内存大小)

支持下标索引

允许重复字符串存在

不可以修改(增加或删除元素等)

支持for循环

5.4序列

序列的定义

序列是指:内容连续、有序,可使用下标索引的一类数据容器 列表、元组、字符串,均可以可以视为序列

语法:

序列的常用操作:切片

切片:从一个序列中,取出一个子序列

操作:

注意:

此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)

应用:

5.6 set集合

集合的定义

语法:

集合的常用操作

集合的特点

可以容纳多个数据

可以容纳不同类型的数据(混装)

数据是无序存储的(不支持下标索引)

不允许重复数据存在

可以修改(增加或删除元素等)

支持for循环

5.7 dict(字典、映射)

字典的定义

语法:

使用{}存储原始,每一个元素是一个键值对

每一个键值对包含Key和Value(用冒号分隔)

键值对之间使用逗号分隔

Key和Value可以是任意类型的数据(key不可为字典)

Key不可重复,重复会对原有数据覆盖

应用:

字典的嵌套

字典内容的获取

字典的常用操作

字典的特点

可以容纳多个数据

可以容纳不同类型的数据

每一份数据是KeyValue键值对

可以通过Key获取到Value,Key不可重复(重复会覆盖)

不支持下标索引

可以修改(增加或删除更新元素等)

支持for循环,不支持while循环

5.8 数据容器的对比

基于各类数据容器的特点,它们的应用场景如下:

列表:一批数据,可修改、可重复的存储场景

元组:一批数据,不可修改、可重复的存储场景

字符串:一串字符串的存储场景

集合:一批数据,去重存储场景

字典:一批数据,可用Key检索Value的存储场景

5.9容器通用功能

6.文件操作

6.1文件的编码

编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容

计算机中有许多可用编码:

UTF-8

GBK

Big5 等

不同的编码,将内容翻译成二进制也是不同的

UTF-8是目前全球通用的编码格式 除非有特殊需求,

否则,一律以UTF-8格式进行文件编码即可

6.2文件的读取

open()打开函数

使用open函数,可以打开一个已经存在的文件,或者创建一个新文件

语法:

mode常用的三种基础访问模式

文件的常用操作

6.3文件的写入

操作案例

注意:

1.直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区

2.当调用flush的时候,内容会真正写入文件 这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)

3.文件如果不存在,使用”w”模式,会创建新文件

4.文件如果存在,使用”w”模式,会将原有内容清空

6.4文件的追加

操作案例

注意:

a模式,文件不存在会创建文件

a模式,文件存在会在最后,追加写入文件

7.总结

以上就是 Python基础语法的全部内容,Pyhton作为一个脚本语言,有着很大很多很方便的功能,希望大家认真学习!

作者留言:一部分内容资源为网络资源,如有侵权,及时沟通

创作时间:2024.5.25

相关文章:

  • 南京观海微电子----升压和降压模块电路解析
  • web及网络基础图文详解
  • 内网渗透(不出网上线CS)
  • HCIP-Datacom-ARST自选题库__BGP/MPLS IP VPN单选【21道题】
  • 【教程】Linux部署Android安卓模拟器
  • 蓝桥杯练习系统(算法训练)ALGO-934 序列
  • 文件批量重命名利器:一键轻松替换文本间内容,高效管理文件不再是难题!
  • 【LLM多模态】综述Visual Instruction Tuning towards General-Purpose Multimodal Model
  • MSSM手动段空间管理(Manual Segment Space Management)解析
  • 语雀——云知识库/笔记
  • 贪心算法4(c++)
  • SpringMVC相关知识集锦----1
  • Oracle数据库中的Freelist解析
  • R实验 非参数性检验(二)
  • Nginx - 健康检查终极指南:探索Upstream Check模块
  • Android 架构优化~MVP 架构改造
  • AWS实战 - 利用IAM对S3做访问控制
  • ES6简单总结(搭配简单的讲解和小案例)
  • ES6之路之模块详解
  • javascript数组去重/查找/插入/删除
  • Java基本数据类型之Number
  • Map集合、散列表、红黑树介绍
  • Mysql数据库的条件查询语句
  • Octave 入门
  • October CMS - 快速入门 9 Images And Galleries
  • Redux系列x:源码分析
  • spring boot下thymeleaf全局静态变量配置
  • 编写符合Python风格的对象
  • 分享一份非常强势的Android面试题
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 面试遇到的一些题
  • 前端学习笔记之观察者模式
  • 如何用vue打造一个移动端音乐播放器
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • Python 之网络式编程
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #565. 查找之大编号
  • #define
  • #define、const、typedef的差别
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (web自动化测试+python)1
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二)测试工具
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十六)Flask之蓝图
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .gitignore不生效的解决方案
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .Net Core中Quartz的使用方法
  • .NET/C# 的字符串暂存池