【Python】基础语法介绍
创始人
2024-09-25 01:19:48
0

目录

一、标识符和关键字

二、注释

三、缩进

四、输入和输出

五、字符串操作

六、基本数据类型

七、复合数据类型

7.1 列表

7.2 元组

7.3 字典

7.4 集合

八、数据类型转换

九、运算符

8.1 算术运算符

8.2 比较运算符

8.3 赋值运算符

8.4 位运算符

8.5 逻辑运算符

8.6 成员运算符

8.7 身份运算符

十、分支和循环

10.1 if语句

10.2 for循环

10.3 while循环

十一、函数

十二、文件操作


提示:本文适合已经有编程基础的读者阅读,仅罗列Python中的语法,不对基础概念作讲解

一、标识符和关键字

标识符,即变量、方法、对象等的名字,由用户自己定义

  • Python中标识符不能以数字开头,由大小写字母、数字、下划线组成
  • 标识符对大小写敏感,A和a是两个不同的变量名
  • 在Python 3中,可以用中文作为变量名,同时允许非ASCII的标识符
  • 标识符不能和关键字相同

关键字,又称为保留字,是一个计算机语言中的预定义保留标识符

Python中一共有35个关键字,它们分别是:

Falseclassfromor
Nonecontinueglobalpass
Truedefifraise
anddelimportreturn
aselifintry
assertelseiswhile
asyncexceptlambdawith
awaitfinallynonlocalyield
breakfornot


二、注释

单行注释:以#开头,例如

# 这是单行注释

多行注释:以上下分别三个单引号或双引号包裹,例如

''' 这是多行注释 ''' """ 这也是多行注释 """


三、缩进

Python不同于C++等语言,不需要用大括号括起来表示一个代码块

只要一段连续多行的代码有着相同的缩进空格数即为一个代码块,例如

如果在C++中的话,这三个print隶属于if语句下需要执行的代码,所以要用大括号括起来

但Python只需要保证这三条语句的缩进空格是一样的即可


四、输入和输出

Python中的 print 函数用于输出我们指定的内容

与C语言的 printf 和C++的 cin 不同,Python的 print 默认在内容的最后会自带换行,例如:

如果想要取消默认换行,则需要在最后加上 end="" ,例如

Python中的 input 函数用于读取我们键盘输入的内容,其用法如下:

在 input 中可以输入我们预先想要打印出来的内容,当然也可以什么都不输入

然后会读取我们键盘输入的内容给等号左侧的变量

需要注意,input接受输入的时候得到的结果实际上是字符串


五、字符串操作

前面提到,字符串是由字符组成的序列,用单引号或双引号括起来都行

一个字符串中的每个字符都有一个索引(下标),第一个字符对应的索引为0,往后逐渐递增

我们可以通过方括号+索引的形式来单独取出字符串中的单词,例如:

还有一种操作叫切片,即通过指定一个起始索引和一个结束索引来提取指定区间的子字符串,例如

可以看到,索引从1到2的子字符串就被“切”出来了。同时可以观察到,子字符串中不包含我们指定的结束索引,所以子字符串的区间范围是左闭右开

关于字符串的拼接操作也很简单,使用加号就可以将两个字符串拼成一个字符串,例如:

除了两个字符串相加,还可以通过将一个字符串乘以一个正数的方式重复某个字符串,例如:


六、基本数据类型

Python中一共有这些数据类型: 

a = 1  # 整型变量 b = 1.1  # 浮点型变量 c = True  # bool型变量 d = "hello"  # 字符串 e = [1, 2, 3]  # 列表 f = (1, 2, 3)  # 元组 g = {1, 2, 3}  # 集合 h = {1: 1, 2: 2, 3: 3}  # 字典

Python中不论是单个字符还是一串字符,其类型都是字符串

 

其中下面的复合数据类型列表、元组、集合和字典在后面会细讲,这里先见个面

Python中的变量不需要声明类型,这也是和C++等语言不同之处

相对的,每个变量在声明的同时必须赋值。在Python中,变量就是变量,没有类型,只是它内部存储的对象有类型

当然,还有一些不太常见的类型,例如复数:


七、复合数据类型

7.1 列表

Python中的列表类似于C/C++中的数组,最大的区别在于其内部可以混杂不同类型的元素,例如:

可以看到,列表中混杂了整型、浮点型、bool型、字符串和列表,不仅如此,还可以加入元组等

列表的特征是方括号,其内部每个元素都有一个索引,第一个元素的索引为0,往后递增

我们也可以通过方括号和索引来修改其内部元素,例如:

列表也支持切片操作,例如:

列表也支持拼接操作,例如:

列表也支持乘以一个数,这里不演示了 

7.2 元组

元组与列表类似,区别在于元组内部的元素不可被修改,例如:

但是元组内部的列表可以被修改,像这样:

元组的特征是小括号

元组也支持切片操作,例如:

元组也支持拼接操作,例如:

 

元组也支持乘以一个数,这里不演示了  

7.3 字典

字典是一个key/value模型的容器,其内部也一样可以存储不同类型的键值对,例如:

字典没有下标,不过我们可以通过key来访问或修改其对应的value值,像这样:

字典中不能出现两个相同的key,但是可以出现相同的value

字典不支持切片、拼接和乘法 

7.4 集合

把字典去掉value值就变为了集合

集合的特点是去重,即其内部不会有两个相同的元素,例如我们打印上面的这个集合

可以看到True不见了,这是因为True等价于1,那么1就出现了两次,所以会去掉一个

集合不支持切片、拼接和乘法


八、数据类型转换

在C++中,如果我们要显式的将一个类型转换为另一个类型,可以像这样:

float a = 1.1; int b = (int)a;

在变量的前面加上类型即可

Python中的类型转换也是这样,不过括号括住的不是类型而是变量,例如:

a = 1.1 b = int(a)

前面提到,input接受输入的时候得到的结果实际上是字符串,所以如果我们想实现读入两个数字并相加,则需要配合类型转换来实现,例如:

另外,在C++中字符也是整型家族的一员,其值为这个字符的ASCII码

但是Python中,如果我们把一个整型和一个字符相加则会导致错误,因为Python中只有字符串没有字符类型

但是我们可以通过显式的类型转换把数字串转化为整型,例如:


九、运算符

Python中的运算符大部分和C/C++差不多,不过有一部分还是有区别的

8.1 算术运算符

运算符描述
+加 - 两个对象相加
-减 - 得到负数或是一个数减去另一个数
*乘 - 两个数相乘或是返回一个被重复若干次的字符串
/除 - x除以y(非整除)
%取模 - 返回除法的余数
**幂 - 返回x的y次幂
//取整除 - 返回商的整数部分(向下取整

8.2 比较运算符

运算符描述
==等于 - 比较对象是否相等
!=不等于 - 比较两个对象是否不相等
<>不等于 - 比较两个对象是否不相等(python3 已废弃)
>大于 - 返回x是否大于y
<小于 - 返回x是否小于y
>=大于等于 - 返回x是否大于等于y
<=小于等于 - 返回x是否小于等于y

8.3 赋值运算符

运算符描述
=简单的赋值运算符
+=加法赋值运算符
-=减法赋值运算符
*=乘法赋值运算符
/=除法赋值运算符
%=取模赋值运算符
**=幂赋值运算符
//=取整除赋值运算符

8.4 位运算符

运算符描述
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^按位异或运算符:当两对应的二进位相异时,结果为1
~按位取反运算符:将二进制表示中的每一位取反,0变为1,1变为0
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

8.5 逻辑运算符

运算符逻辑表达式描述
andx and yx和y都为真,整个表达式结果才为真,否则为假
orx or yx和y都为假,整个表达式结果才为假,否则为真
notnot xx为真,整个表达式结果为假;x为假,整个表达式结果为真

例如:

8.6 成员运算符

运算符描述
in如果在指定的序列中找到值返回 True,否则返回 False
not in

如果在指定的序列中没有找到值返回 True,否则返回 False

例如:

8.7 身份运算符

运算符描述
is判断两个变量引用对象是否为同一个(同一块内存空间)
is not判断两个变量引用对象是否为不同一个(同一块内存空间)


十、分支和循环

10.1 if语句

Python中的if语句和C/C++不同之处在于,if后的表达式不需要用括号括住,表达式后面需要带冒号

例如:

另外,C/C++中的else if在Python中也变为了elif,例如:

10.2 for循环

相比C/C++中的for循环,Python中的for循环只需要声明变量和循环的范围即可,例如:

range起到的作用就是创建一个序列,区间依旧是左闭右开

如果range省略第一个数则默认区间从0开始

我们也可以将range换为列表等

 

 for循环的语法为:

for in :

         

也就是说,只要中,就执行下列中的语句 

10.3 while循环

Python中的while循环和C/C++中的也类似,同样还是去掉括号并加上冒号


十一、函数

def 函数名(参数):

        函数体

        return ...

要定义一个函数,首先得以def关键字为开头,后接函数名和圆括号,括号内为需要的参数

例如写一个判断奇数的函数:


十二、文件操作

在Python中要想对一个文件进行操作,首先得打开这个文件

open函数用于打开一个文件,并返回一个file对象,其常用形式是接收两个参数:文件路径和模式

文件路径即我们需要打开的文件路径,模式则有很多个:

模式描述
r以只读方式打开文件。这是默认模式
r+打开一个文件用于读写
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写

打开文件成功后会返回一个file对象,我们可以对这个file对象做一系列的操作,例如:

  • file.readline():读取一整行
  • file.readlines([size]) :返回包含size行的列表, size未指定则返回全部行
  • file.read([size]):从文件读取指定的字节数
  • file.write(str):将字符串写入文件(需要对应打开模式)
  • f.close():关闭文件,一个文件被打开后最终也要被关闭

例如我们有一个在同目录下名为text.txt的文件,里面写了一句hello。我们以只读方式打开它

还有一种打开文件的方法可以省略手动关闭文件的操作,像这样:

如果文件有多行,我们可以用readlines返回一个包含了多行字符串的列表,然后用for循环遍历列表即可一次读取多行文件内容

关于Python的语法介绍就写到这,基本已经包含了大部分的基础语法内容了

如有错误欢迎在评论区指出

相关内容

热门资讯

安卓系统为什么不封闭,揭秘安卓... 你有没有想过,为什么安卓系统那么开放,却不像苹果iOS那样封闭呢?这背后可是有着不少有趣的故事和原因...
安卓系统更新包多大,解析不同版... 你有没有发现,每次安卓系统更新,手机里都会多出那么几个G的文件?这可真是让人好奇,安卓系统更新包究竟...
安卓手机安装双系统吗,安卓手机... 你有没有想过,你的安卓手机是不是也能像电脑一样,装上两个系统,一个用来工作,一个用来娱乐?没错,这就...
oppo会升级安卓系统,畅享最... 你知道吗?最近有个大消息在手机圈里炸开了锅,那就是OPPO要升级安卓系统啦!这可不是什么小打小闹的更...
安卓系统上安装windows,... 你有没有想过,在安卓手机上安装Windows系统?听起来是不是有点不可思议?但你知道吗,这竟然是可能...
安卓系统怎么进运行框,安卓系统... 你有没有想过,你的安卓手机里有一个超级实用的功能,那就是运行框!它就像是一个小助手,帮你快速找到正在...
安卓系统电视无图像设置,安卓电... 你家的安卓系统电视突然没图像了?别急,让我来给你支个招,让你轻松解决这个问题!一、检查电源和连接线首...
安卓机建议升级系统吗,提升性能 你有没有发现,你的安卓手机最近有点儿慢吞吞的?是不是在犹豫要不要升级系统呢?别急,让我来给你好好分析...
升级不了安卓系统升级,探寻升级... 你有没有遇到过这种情况?手机里的安卓系统突然告诉你,它需要升级,但你左等右等,就是升不上去。这可真是...
备用安卓系统手机推荐,盘点热门... 你有没有想过,如果你的手机突然罢工了,你会怎么办?别担心,今天我就要给你安利几款备用安卓系统手机,让...
旧安卓系统ipad无法更新系统... 你有没有遇到过这种情况?你的旧安卓系统iPad突然告诉你,它无法更新系统了!是不是瞬间感觉心里有点小...
运行安卓6系统命令大全,全面掌... 你有没有想过,你的安卓手机里隐藏着无数强大的功能,只等着你去发现和探索呢?今天,就让我带你走进安卓6...
安卓系统简笔画教程下载,轻松绘... 你有没有想过,用简单的线条就能把复杂的安卓系统画出来?没错,就是那种一看就懂,一画就上手的感觉!今天...
华为如何鸿蒙转安卓系统,轻松实... 你知道吗?最近华为的大动作可是让整个科技圈都沸腾了!他们竟然把鸿蒙系统转到了安卓系统上,这可真是让人...
安卓10系统的问题,安卓10系... 你有没有发现,自从你的手机升级到安卓10系统后,好像有点不对劲呢?别急,让我来给你细细道来,看看安卓...
安卓系统苹果搞笑视频,苹果搞笑... 你知道吗?在互联网的世界里,搞笑视频可是个永恒的热门话题。尤其是那些结合了安卓系统和苹果手机的搞笑片...
卡片机改造安卓系统,探索改造之... 你有没有想过,那些曾经陪伴我们记录美好时光的卡片机,现在竟然也能焕发第二春呢?没错,就是那些小巧便携...
装安卓系统倒车出不来,智能科技... 你有没有遇到过这样的事情:手机装了个安卓系统,结果倒车的时候出不来啦?这可不是闹着玩的,简直让人抓狂...
定制安卓系统哪家好点儿,哪家服... 你有没有想过,手机系统就像是个人的衣服,每个人都需要找到最适合自己的那一款?今天,咱们就来聊聊定制安...
台电用回安卓系统吗,开启智能新... 最近有个话题在科技圈里炒得挺热的,那就是台电是不是要用回安卓系统了?你有没有想过,这个小小的决定背后...