Python语言基本语法元素

简介: Python语言采用严格的缩进来表示程序逻辑。也就是我们所说的Python程序间的包含与层次关系。一般代码不要求缩进,顶行编写且不留空白。在if、while、for、def、class等保留字所在完整语句后通过英文的“:”结尾并在之后行进行缩进,表明后续代码与紧邻无缩进语句的所属关系。

Python语言基本语法元素

一、程序的格式框架

  程序的格式框架,即段落格式,是Python语法的一部分,可以提高代码的可读性和可维护性。

1.缩进

  Python语言采用严格的缩进来表示程序逻辑。也就是我们所说的Python程序间的包含与层次关系。一般代码不要求缩进,顶行编写且不留空白。在if、while、for、def、class等保留字所在完整语句后通过英文的“:”结尾并在之后行进行缩进,表明后续代码与紧邻无缩进语句的所属关系。

  缩进可以用Tab键实现,也可以用多个空格实现(一般是4个空格),但两者不能混用。建议采用4个空格方式书写代码。

for i in range(1, 10):
    for j in range(1, i+1):
        print(i, '*', j, '=', i*j, end='\t')
    print()

  当程序执行时,产生了“unexpected indent”错误,说明代码中出现了缩进不匹配的问题。
在这里插入图片描述

2.注释

  注释是代码中的辅助性文字,会被编译器或解释器略去,不被计算机执行,一般用于程序员对代码的说明。Python语言中使用“#”表示一行注释的开始。注释可以在一行中任意位置通过“#”开始,其后面的本行内容被当作注释,而之前的内容依然是Python执行程序的一部分。

注释的作用:

  • 注释一般用于在代码中标明作者和版权信息
  • 解释代码原理和用途
  • 通过注释单行代码辅助程序调试。
# -*- coding: utf-8 -*-
# @File  : demo.py
# @author: Flyme awei 
# @email : 1071505897@qq.com
# @Time  : 2022/8/2 13:40

# 单行注释

'''多行注释'''

"""多行注释"""

3.续行符

  Python程序是逐行编写的,每行代码长度并无限制,但从程序员角度,单行代码太长并不利于阅读。这个时候就可以使用续行符将单行代码分割为多行表达。

  Python中的续行符为“\”。续行符之后不允许再存在空格,即续行符后直接换行。

print("云南的城市有{}\n{}\n{}\n{}".format('昆明',\
                        '曲靖',\
                        '大理',\
                        '丽江'))

二、语法元素的名称

  Python语言的基本单位是单词,少部分单词是Python语言规定的,被称为保留字。大部分单词是用户自己定义的,通过命名过程形成了变量或函数,用来代表数据或代码,称为标识符。

1.变量

  变量是保存和表示数据值的一种语法元素,变量的值是可以改变的,通过赋值运算符“=”方式被修改。Python语言中,变量可以随时命名、随时赋值、随时使用。

由三部分组成:

"""
标识:     id
类型:     type
值:       value  
"""

多次赋值后将指向新的空间

name = 'hello'  # 第一次赋值
print(id(name))  # 标识
print(type(name))  # 类型
name = 'world'  # 第二次赋值
print(name)

在这里插入图片描述

2.保留字

  保留字也称keyword关键字,被编程语言内部定义并保留使用的,每种程序设计语言都有一套保留字,保留字一般用来构成程序的整体框架,Python3.x中一共有35个保留字。

import keyword  # 导入关键字模块

print(keyword.kwlist)  # 调用keyword模块的kwlist方法

Python3.x中的35个保留字

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

  Python二级考试涉及到的保留字一共有22个。选学5个:None、finally、lambda、pass、with。
Python中的保留字也是大小写敏感的。举例:True为保留字,而true则不是保留字。

3.标识符

  标识符可以简单的理解为一个名字,主要用来标识变量、函数、类、模块和其他对象的名称。

标识符的命名规则

  • 字母、数字、下划线
  • 不能以数字开头
  • 不能是Python中的保留字
  • 只允许使用ISO-Latin(ISO-8859-1)字符集中的A-Za-z
  • 允许使用中文,但不建议
  • 注意:标识符对大小写敏感,nameName是两个不同的名字。

三、数据类型

1.二进制与字符编码

  二进制是一套计数方法,每个位置上的数有 2 种可能(0 - 1);二进制是计算机的执行语言,但是早在计算机出现前就存在这套计数方法,最早可追溯到古埃及。在日常生活中,我们使用的是十进制,每个位置上的数有 10 种可能(0 - 9)。
在这里插入图片描述
  早期的程序员爸爸为了让计算机能够认识我,将我能够认识的符号和数字对应好,然后做成一张表叫ASCII表,告诉计算机某种符号你应该使用哪个整数表示,A使用了8个位(置)才能装得下我,在计算机中他们叫一个字节。
在这里插入图片描述

  ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:

  0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

  32~126(共95个)是字符(32sp是空格),其中48~57为0到9十个阿拉伯数字;
   65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。<br>

  同时还要注意,在标准ASCII中,其 最高位(b7) 用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中 1 的个数必须是奇数,若非奇数,则在最高位 b7 添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位 b7 添1。

  后128个称为扩展ASCII码,目前许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展 ASCII 码允许将每个字符的第 8 位用于确定附加的 128 个特殊符号字符、外来语字母和图形符号。

ASCII码表

ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0 NUT 32 (space) 64 @ 96
1 SOH 33 65 A 97 a
2 STX 34 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 , 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 / 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 ~
31 US 63 ? 95 127 DEL

ASCII码表字符解释

NUL 空 VT 垂直制表 SYN 空转同步
SOH 标题开始 FF 换页键 ETB 信息组传送结束
STX 正文开始 CR 回车 CAN 作废
ETX 正文结束 SO 移位输出 EM 纸尽
EOY 传输结束 SI 移位输入 SUB 代替
ENQ 请求 DLE 空格 ESC 换码
ACK 收到通知 DC1 设备控制1 FS 文字分隔符
BEL 报警 DC2 设备控制2 GS 组分隔符
BS 退一格 DC3 设备控制3 RS 记录分隔符
HT 水平制表符 DC4 设备控制4 US 单元分隔符
LF 换行 NAK 拒绝 DEL 删除

2.数值类型

Python提供的3种数值类型:
整数类型:与数学中的整数一致,包含正、负、0。一个整数有二进制、八进制、十进制、十六进制4种表示方式。

进制 基本数 逢几进一 表示形式
十进制 0,1,2,3,4,5,6,7,8,9 10 520
二进制 0,1 2 0b11010
八进制 0,1,2,3,4,5,6,7 8 0o520
十六进制 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 16 0xAF12546

浮点数类型:与数学中的小数一致,没有取值范围限制,可正、可负。有两种表示形式,一种是小数点的形式,另外一种是科学计数法。浮点数只有十进制形式。

复数:与数学中的复数一致,采用a+bj的形式表示,存在实部和虚部。

3.字符串类型

  计算机经常处理文本信息,文本信息在程序中使用字符串类型表示。在Python中使用单引号或双引号括起来的一个或多个字符来表示。单引号和双引号的作用相同。

# 字符串类型   被称为不可变的字符序列
print('我用python')
print("我用python")
print('''我用python''')

print(type('我用python'))
print(type("我用python"))
print(type('''我用python'''))

字符序列有两种序号体系:
正向递增序号: 有效范围为[0,N-1],其中N为字符串中字符的个数。最左侧的字符序号为0,依次向右递增,最右侧字符序号为N-1。

反向递减序号:有效范围为[-1,-N],其中N为字符串中字符的个数。最右侧的字符序与为-1,依次向左递减,最左侧的字符序号为-N。
在这里插入图片描述
两种索引可以同时使用,以下代码为对单个字符进行的索引。

s = 'hello word'
print(s[0])  # h
print(s[-10])  # h

还可以采用[N:M]格式获取字符串的子串,这种操作被称为切片操作。[N:M]获取字符串中从NM(但不包含M)的连续的子字符串。NM都表示的是索引序号,可以混合使用正向递增序号和反向递减序号。

s = 'hello word'
print(s[0:5])  # hello
print(s[0:-5])  # hello

通过Python默认提供的len()函数获取字符串的长度,一个中文字符和一个英文字符的长度都记为1。

print(len(s))  # 10

四、程序的语句元素

1.表达式

产生或计算新数据值的代码片段称为表达式。类似于数学中的公式,一般由数据和操作符构成。
在这里插入图片描述

2.赋值语句

对变量进行赋值的一行代码被称为赋值语句。在Python中使用一个“=”表示“赋值”,即将等号右侧表达式计算后的结果值赋给左侧的变量。
基本赋值语句语法
变量 = 表达式

在这里插入图片描述
同步赋值语句就是同时给多个变量进行赋值。
同步赋值语句语法:

变量1,变量2,......变量N=表达式1,表达式2,......,表达式N
在这里插入图片描述
同步赋值语句应用最多的就是互换变量的值。即交换两个变量的值。

3.引用

Python程序会经常使用到当前程序之外已有的功能代码,这个过程叫引用。

Python语言中使用import这个保留字引用当前程序以外的功能库。
import <功能库名称>
引用功能库之后使用 功能库.函数名()的方式调用基本功能,这种方式简称为“A.B()”方式。

4.其他语句

除了赋值语句之外,Python还有分支语句和循环语句。先简单介绍一下使用,后面后详细讲解。

分支语句:根据判断条件选择程序执行路径。一般包含单分支结构、双分支结构和多分支结构。
单分支语法结构

if   条件:
   语句块

任何能够产生True或False的语句都可以作为条件,当条件为True时,则执行语句块中的内容。

双分支语法结构

if   条件:
     语句块1
 else:
     语句块2

当条件为True时,执行语句块1,当条件为False时,执行语句块2。其中if...else 都是保留字。

循环结构与分支结构一样都是程序控制语句,它的作用是根据判断条件确定一个程序是否再执行一次或者多次。

条件循环的语法结构

while  条件:
     语句块1
语句块2

当条件为True时,执行语句块1,然后再次判断条件,当条件为False时,退出循环,执行语句块2。


五、基本输入输出函数

1.input( )函数

  input()函数是从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回。input()函数可以包含一些提示性文字,用来提示用户。

input语法格式:
变量=input('提示性文字')
  无论用户输入的是数字还是字符,input()函数统一按照字符串类型输出,为了后续能够操作用户输入的信息,需要将输入指定一个变量进行存储。

  input()函数的提示性文字不是必须的,可写可不写。

2.eval( )函数

  eval(s)函数将去掉字符串s最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容。

eavl语法格式:
变量 = eval(字符串)

变量用来保存对字符串内存进行Python运算的结果。

  eval()函数去掉了字符串’1.2’最外侧的引号,结果赋值给a,所以a的类型为float类型。eval()函数去掉了字符串’1.2+3.4’最外侧的引号,对其内容当作Python语句进行运算,运算的结果为4.6,保存到变量a中,所以a的类型是float类型。
在这里插入图片描述

  当eval()函数处理字符串’python’时,字符串去掉了两边的引号,Python语句将其解释为一个变量,由于这个变量在之前别有定义,因此解释器报错。如果定义变量python并赋值为123,再运行这个语句时就没有问题,如果输出为123
在这里插入图片描述

eval()函数经常和input()函数一起使用,用来获取用户输入的数字。

eval()input()函数一起使用的语法:
变量=eval(input(提示性文字))q

  用户输入的数字、包括小数和负数,input()解析为字符串,再由eval()去掉字符串引号,将被直接解析为数字保存到变量中。
在这里插入图片描述

3.print()函数

print()函数用于输出运算结果。

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
    """
    pass

sep=' '分隔符,默认为一个空格
end='\n'结束符,默认以换行结束

print()函数的三种用法:

1.仅用于输出字符串或单个变量
print(待输出字符串或变量)

对于字符串,print()函数输出后将出掉两侧引号,对于其它类型,则会直接输出。
在这里插入图片描述

当`print()`输出字符串表示时,字符串统一使用单引号表达。在`[]`中的字符串都使用了双引号,但是在被`print()`函数打印输出时,输出结果都采用了单引号。
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/3d8c123e9d7c46c9bbe40043635c8fb1.png)

2.用于输出一个或多个变量 ,输出后的各变量之间用一个空格分隔。
print(变量1,变量2,......,变量N)
在这里插入图片描述

3.用于混合输出字符串与变量的值,其中输出字符串模板中使用{}表示一个槽位,每个槽位对应.format()中的一个变量。
print(输出字符串模板.format(变量1,变量2,......,变量N))
在这里插入图片描述

print()函数输出的输出内容

'''可以输出数字   int   '''
print(2)  # 2

'''可以输出字符串   str   '''
print('hello')  # hello

'''输出含有运算符的表达式  '''
print(2+3)  # 5

print()函数输出的目的地

'''将内容输出到显示器'''
print('hello,world')  # hello,world

'''将内容输出到文件'''
# 注意:所指定的盘符存在;使用file = fp;
fp = open('E:\\text.txt', 'a')
print('hello,world!', file=fp)
fp.close()

‘整数{}和整数{}的差是:{}’是输出字符串模板,也就是混合字符串输出的样式,大括号{}表示一个槽位,括号中的内容由后面紧跟着的format()方法中的参数按顺序填充。

六、转义字符与原字符

1.转义字符

就是反斜杠+想要实现的转义功能首字母。

为什么需要转义字符?
当字符串中包含反斜杠、单引号和双引号等有特殊用途的字符时,必须使用反斜杠对这些字符进行转义(转换一个含义)。

  • 反斜杠 :\\
  • 单引号:\'
  • 双引号: \“
print('\\')  # \
print('\'')  # '
print('\"')  # "

当字符串中包含换行、回车,水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符当字符串中包含换行、回车,水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符。

  • 换行:\n
  • 回车:\r
  • 水平制表符 : \t
  • 退格 :\b
# 回车\r
print('hello\rhelloworld')   # 将hello覆盖

# 换行\n
print('hello\nworld')

# 退格\b
print('helloo\bworld')

# 水平制表\t
print('hello\tworld\t你好\t好')

2.原字符

原字符:不希望字符串中的转义字符起作用,就使用原字符,就是在字符创之前加上

注意事项,最后一个字符不能是反斜线

# 原字符:不希望字符串中的转义字符起作用,就使用原字符,就是在字符创之前加上 r 或 R
# 注意事项,最后一个字符不能是反斜线
print(r'hello \n word')  # hello \n word
相关文章
|
1月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
56 4
|
13天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
23天前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
20 2
|
29天前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
1月前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
44 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
1月前
|
存储 数据可视化 数据处理
【Python篇】快速理解Python语法:全面指南
【Python篇】快速理解Python语法:全面指南
48 1
|
2月前
|
Java Linux C++
30天拿下Python之基础语法
30天拿下Python之基础语法
30 4
|
2月前
|
Python
Python 选出列表中特定的元素
Python 选出列表中特定的元素
|
2月前
|
数据处理 索引 Python
Python列表与元素修改的操作技巧
Python列表提供了丰富的方法和技巧来进行高效的数据操作。熟练运用上述技巧,可以大大提高数据处理的效率和代码的可读性。实践中,根据具体需求灵活选择合适的方法,可以在保证代码效率的同时,也使代码更加简洁明了。
70 2
|
1月前
|
算法 安全 Go
Python与Go语言中的哈希算法实现及对比分析
Python与Go语言中的哈希算法实现及对比分析
41 0
下一篇
无影云桌面