Python基础(一) | Python的基本语法

简介: ⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,机器学习及深度学习的代码能力打下坚实的基础。

Python基础(一)| Python的基本语法

image-20220829104924361

Part1 数据类型

1.1 基本类型:数字、字符串、布尔

1.1.1 数字类型

  • int 整型   整数
2
  • float 浮点型   带小数的数
2.0
  • complex 复数   a+bj
3+4j

1.1.2 字符串类型

  • str 字符串   视作文本
  • 组成: 由数字、字母、空格、其他字符等组合而成
  • 表达: 用" " 或' '
"timerring 2 @#$^&)"

1.1.3 布尔类型

  • bool 布尔类型
  • 主要用于逻辑运算
y = 2 < 1
y

Output:

False

上述类型均可定义单个数据,如果有一组数据,该如何表示?

1.2 组合类型:列表、元组、字典、集合

1.2.1 列表

  • list 列表    序列类型:  数据有位置顺序
  • 表示方式:  [data1,data2....]
a = [1, 2, 3, 4, 5]
a[4]

Output:

5

1.2.2 元组

  • tuple 元组    序列类型
  • 表示方式: (data1,data2...)
  • 元素不支持修改——“不可变的列表”
b = (1, 2, 3, 4, 5)
b[0]

Output:

1


1.2.3 字典

  • dict 字典  映射类型: 通过“键”-“值”的映射实现数据存储和查找
  • 表示方式: {key1:value1 , key2:value2 , ...}
  • 其内部是无序的。
student = {201901: "小明", 201902: "小红", 201903: "小强"}
student[201902]

Output:

'小红'


1.2.4 集合

  • set 集合  一系列互不相等元素的集合,无序的
  • 表示方式: {data1,data2...}
s = {"小明", "小红", "小强", "小明"}
s

Output:

{'小强', '小明', '小红'}

在程序中,如何来引用这些数据?

  • 非常通俗的处理办法:赋值给一个变量

Part2 变量

2.1 变量的概念

  • “量”   实实在在的对象:如数据、抽象
  • “变”   可变性:增、删、查、改等
  • 变量定义二要素:  变量名、赋值
x = 1

2.2 变量的命名

image-20220829174853368

2.2.1 哪些可以用来做变量名?

  • 大写字母、小写字母、数字、下划线、汉字及其组合。
  • 严格区分大小写
Python_is_第1名 = True
python_is_第1名 = False

2.2.2 哪些情况不被允许?

  • 首字符不允许为数字
1_fruit = "apple"

Output:

  File "<ipython-input-59-e3b1d93d01a0>", line 1
    1_fruit = "apple"
     ^
SyntaxError: invalid token
  • 变量名中间不能有空格
my fruit = "apple"

Output:

  File "<ipython-input-60-36327c3a601f>", line 1
    my fruit = "apple"
           ^
SyntaxError: invalid syntax
  • 不能与33个Pyhton保留字相同
    image-20220829175006026
None = True

Output:

  File "C:\Users\24163\AppData\Local\Temp/ipykernel_14004/670613282.py", line 1
    None = True
    ^
SyntaxError: cannot assign to None

2.2.3 变量名定义技巧

  • 变量名尽可能有实际意义,表征数据的某种特性
a = [17, 18, 19]
age_of_students = [17, 18, 19]
  • 下划线(推荐:变量和函数名)
    变量名由多个单词组成:用_连接多个单词
age_of_students = [17, 18, 19]
  • 驼峰体(推荐:类名) 变量名由多个单词组成:单词首字母大写
AgeOfStudents = [17, 18, 19]
  • 尽量避免用中文和拼音做变量名
  • 特殊的变量:常量(不变的量,如$\pi$、e)   变量名所有字母均为大写
MAX_ITERATION = 1000

2.3 变量的赋值

2.3.1 一般赋值

  • 通过等号自右向左进行赋值
x = 1+2
x

Output:

3

2.3.2 增量赋值

x = 10
x += 10
x

Output:

20

2.3.3 打包赋值

x, y = 1, 2 # 通过","隔开
print(x, y)
x, y = y, x
print(x, y)

Output:

1 2
2 1

Part3 控制流程

3.1 顺序流程

  • 自上向下依次执行

【例子】实现1到5的整数求和

# res = 1+2+3+4+5 
res = 0    # 赋初值
res += 1
res += 2
res += 3
res += 4
res += 5
res     # 显示结果

Output:

15

3.2 循环流程——遍历循环(for)

主要形式:

  • for 元素 in 可迭代对象

      执行语句

    注意有":"

执行过程:

  • 从可迭代对象中,依次取出每一个元素,并进行相应的操作

【例子】实现1到5的整数求和

res = 0
for i in [1,2,3,4,5]:    # 每次迭代,取出一个i
    res += i               # 对每次迭代取出的i 进行相应操作   
res                      # 遍历结束后,执行后续语句

Output:

15

3.3 循环流程——无限循环(while)

主要形式:

  • while 判断条件:
  •   条件为真,执行语句
  • 条件为假,while 循环结束

【例子】实现1到5的整数求和

i = 1
res = 0
while i <= 5:   # 若i不大于5,则循环继续
    res += i
    i += 1
res           # 若循环条件不成立,循环停止,执行后续语句

Output:

15

3.4 分支流程(if)

最简单的形式:

  • if 判断条件:
  •   条件为真,执行语句
  • else:
  •   条件为假,执行语句

Part4 输入输出

4.1 数据的输入

1. 外部文件导入

  • 从本地硬盘、网络端读入等
  • 该部分内容放在 第八章《文件、异常和模块》进行讲解

2. 程序中定义

age = 18
name = "Tom"

3. 动态交互输入 input

  • 在程序运行的过程中进行输入
x = input("请输入一个数字:")
x
请输入一个数字:58

Output:

'58'



y = input("请输入一个数字:")
y
请输入一个数字:2.3

Output:

'2.3'

x + y 

Output:

'582.3'

type(x)

Output:

str

可以看到,这里是字符串的拼接,input后类型也是str,因此输出的形式是'582.3'。为了转换为数字,可以采用以下方法:

4.1.1 eval() 去掉引号

Input:

x = eval(input("请输入一个数字:"))
x
请输入一个数字:58

Output:

58

Input:

y = eval(input("请输入一个数字:"))
y
请输入一个数字:2.3

Output:

2.3

Input:

x + y

Output:

60.3


4.2 数据的输出

4.2.1 存储到本地硬盘或网络端

  • 该部分后面单独讲解

4.2.2 打印输出 print

  • 直接打印数据

Input:

print("timerring")

Output:

timerring

Input:

print(520)

Output:

520

  • 打印变量

Input:

x = 1024
print(x)

Output:

1024

  • print 默认换行

Input:

print(1)
print(2)

Output:

1
2

  • 如果不想换行怎么办?
  • 换行控制 end=
print(123,end=" ")#也可以自定义end的内容
print(456)

Output:

123 456

  • 有时候,我们需要一些复杂的输出:比如几个变量一起组合输出
    下面这种方式也有缺点,无法格式化输出

Input:

PI = 3.1415926
E = 2.71828
print("PI = ", PI, "E = ", E)
PI =  3.1415926 E =  2.71828

4.2.3 格式化输出方法 format

  • 基本格式:"字符{ 0 }字符{ 1 }字符".format(v0,v1)
  • 注意,这里是对应的关系

Input:

print("PI = {0},E = {1}".format(PI, E))
PI = 3.1415926,E = 2.71828

Input:

print("PI = {0},E = {0}".format(PI, E))
PI = 3.1415926,E = 3.1415926

Input:

print("PI = {1},E = {0}".format(PI, E))
PI = 2.71828,E = 3.1415926

  • 默认情况下是严格地按照顺序来执行的

Input:

print("PI = {},E = {}".format(PI, E))
PI = 3.1415926,E = 2.71828

Input:

print("PI = {},E = {}".format(E, PI))
PI = 2.71828,E = 3.1415926

4.2.4 修饰性输出

4.2.4.1填充输出

Input:

# ____3.1415926_____  进行填充
print("{0:_^20}".format(PI))#这里的0也是后面PI变量 :表示修饰输出 _表示修饰字符 ^表示居中 20表示输出的宽度
_____3.1415926______

Input:

print("{0:*<30}".format(PI))# <代表左对齐
3.1415926*********************

4.2.4.2 数字千分位分隔符

  • 显示1,000,000
print("{0:,}".format(10000000))
10,000,000

  • 填充必须放在前面,最后才能是 , 分隔符
print("{0:&>20,}".format(10000000))
&&&&&&&&&&10,000,000


print("{0:,&>20}".format(10000000))
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-35-9f30412a92d9> in <module>
----> 1 print("{0:,&>20}".format(10000000))
ValueError: Invalid format specifier

4.2.4.3 浮点数简化输出

  • 留2位小数
print("{0:.2f}".format(PI))
3.14

  • 按百分数输出
print("{0:.1%}".format(0.818727))
81.9%

  • 科学计数法输出
print("{0:.2e}".format(0.818727))
8.19e-01

4.2.4.4 整数的进制转换输出

  • 十进制整数转二进制、unicode码、十进制、八进制、十六进制输出
"二进制{0:b},Unicode码{0:c},十进制{0:d},八进制{0:o},十六进制{0:x}".format(450)
'二进制111000010,Unicode码ǂ,十进制450,八进制702,十六进制1c2'


总结

  • 格式化输出:"字符{0:修饰}字符{1:修饰}字符".format(v0 ,v1 )
  • 修饰输出方法:必须严格按照顺序来。

image-20220829175908182

Part5 程序格式

5.1 行最大长度

所有行限制的最大字符数为79

5.2 缩进

  • 用缩进来表示语句间的逻辑
  • 在 for while if def class等 :之后下一行开始进行缩进,表明后续代码与前句之间的从属关系
  • 缩进量:4字符
for i in [1, 2, 3]:
    print(i)
print("打印结束")

5.3 使用空格

  • 视觉上更加一目了然
  • 二元运算符两边加一个空格
x = 2       # 赋值
x + = 4     # 增量
6 > 2       # 比较
  • 使用不同优先级的运算符,考虑在最低优先级的运算符周围添加空格
x = x*2 - 1
z = x*x + y*y
c = (a+b) * (a-b)
  • 在逗号后使用空格
x, y = 1, 2
ls = [1, 2, 3]
  • 不要使用一个以上的空格
x     = 2        # 空格一个就够了,不应过多

5.4 避免使用空格

  • 在制定关键字参数或者默认参数值的时候,不要在=附近加上空格
def fun(n=1, m=2):
    print(n, m)

小结

1、以上属于PEP8格式指南的部分内容,养成良好的编码规范利人利己

2、格式约定的目的:

  • 使大量Python代码风格一致
  • 提升代码可读性

3、尽信书不如无书,不应死板教条的执行格式规范

  • 项目规范优先

5.5 注释

  • 单行注释
  • 格式:# 注释内容
a=1  # 单行注释
  • 多行注释
  • 格式:"""注释内容,可分行"""
"""
欢迎
关注
timerring
的
专栏
"""

Output:

'\n欢迎\n关注\ntimerring\n的\n专栏\n'
目录
相关文章
|
11月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
304 4
|
10月前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
232 7
|
XML 前端开发 数据格式
三分钟搞定 Python XPath 语法
XPath(XML Path Language)是一种用于在 XML 文档中查找信息的语言。它基于树状结构的 XML 文档,可以通过路径表达式来选取节点或节点集。也常常用来解析 HTML。 如果你是一个前端,对用路径获取元素可能陌生又熟悉。陌生是很多的路径,熟悉的路径上又有熟悉的属性和方法。下面我们就来探究一下 XPath 的魅力。
|
6月前
|
Python
课时19:Python的基本语法
今天给大家带来分享的是 Python 的基本语法,分为以下六个部分。 1.在 Python 中严格区分大小写 2.Python 中的每一行就是一条语句,每条语句以换行结束 3.Python 中每一行语句不要过长 4.条语句可以分多行编写,语句后边以\结尾 5.Python 是缩进严格的语言,不要随便写缩进 6.在 Python 中使用#来表示注释
113 2
|
10月前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
407 61
|
8月前
|
存储 开发者 Python
python基本语法
Python的基本语法简洁而强大,支持多种编程范式,包括面向对象编程和函数式编程。通过掌握变量和数据类型、操作符、控制结构、函数、类和模块等基本概念,可以有效地编写高效、可读的Python代码。无论是初学者还是经验丰富的开发者,Python都提供了丰富的工具和库来满足各种编程需求。
266 13
|
10月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
200 1
|
10月前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
11月前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
3142 1
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
10月前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
121 2

推荐镜像

更多