【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系统和安卓系统的客观,全... 你有没有想过,为什么你的手机里装的是iOS还是安卓系统呢?这两种系统就像两个性格迥异的好友,各有各的...
谷歌怎么下安卓系统,谷歌安卓系... 亲爱的读者们,你们有没有想过,我们每天离不开的安卓系统,其实背后有着谷歌这只“大灰狼”在操控呢?没错...
安卓系统 手持云台,便携智能手... 你有没有想过,用手机拍视频的时候,画面总是摇摇晃晃的,就像小船在海上飘荡一样?别急,今天就来给你安利...
谷歌安卓系统流畅吗,安卓系统流... 你有没有发现,手机用久了,有时候就像老牛拉车一样,慢吞吞的,让人心里直发慌?这不,最近我在研究各种手...
给苹果装安卓系统,苹果设备安装... 你有没有想过,在你的苹果设备上也能玩转安卓系统呢?没错,就是那个让你在手机上畅游的安卓世界,现在也能...
安卓主板系统密码破解,多重方法... 你有没有遇到过这种情况?手机、平板或者智能设备突然间就变成了“黑屏”,屏幕上只显示着一个熟悉的安卓小...
统帅电视安卓版系统,畅享智能生... 你家的电视是不是也跟我的似的,时不时地来点小脾气,比如系统卡顿啦,应用安装困难啦?别急,今天就来给你...
安卓系统禁用了adb,解决方案... 亲爱的安卓用户们,你们有没有遇到过这样的情况:想用ADB工具给手机来个“大变身”,结果却发现,哎呀呀...
安卓系统墙纸怎么设置,安卓系统... 手机墙纸,你的个性小天地亲爱的手机控们,你是否厌倦了千篇一律的桌面背景?想要给手机换上独一无二的墙纸...
密码解锁推荐安卓系统,安全与便... 手机锁屏密码又忘了?别急,我来给你支招! 在这个信息爆炸的时代,手机已经成了我们生活中不可或缺的好伙...
2012安卓定制系统吗,创新与... 你有没有想过,手机里的安卓系统其实就像是个大厨,每个品牌都给它加上了自己的秘制调料,让这个原本平淡无...
改安卓车机系统,智能驾驶体验新... 你有没有发现,你的车机系统有点儿“老态龙钟”了?别急,今天就来给你支个招儿,让你的安卓车机系统焕然一...
迁移系统和安卓拍照,深入解析安... 你的安卓拍照,新手机也能轻松“搬家”!想象你手中握着一部充满回忆的安卓手机,里面存满了珍贵的照片和视...
蒙鸿系统安卓套装,开启全场景智... 你有没有听说最近华为的新花样?没错,就是那个让所有人都眼前一亮的蒙鸿系统安卓套装!想象你的手机、平板...
安卓系统打印有重影,安卓系统打... 你有没有遇到过这种情况:手机上的照片打印出来,竟然出现了重影?别急,今天就来给你揭秘安卓系统打印重影...
删除安卓系统无用文件,识别与删... 手机里的文件越来越多,是不是感觉像是在跟你的手机谈恋爱,它总是给你带来“惊喜”?不过,别高兴得太早,...
原生安卓双系统安装,PC实现W... 哇塞,你有没有想过,你的电脑不仅能装Windows,还能装个安卓系统?没错,就是那个让你手机里各种A...
安卓系统音量限制,功能、设置与... 手机音量总是不够大?是不是觉得在嘈杂的环境里,手机那点声音简直就像蚊子嗡嗡?别急,今天就来和你聊聊安...
安卓系统吃鸡最低,轻松畅玩绝地... 你有没有想过,在安卓手机上玩《绝地求生》这种大型游戏,到底需要多强大的配置呢?别急,今天就来给你揭秘...