序言:
在之前,我们已经对【python】的开发环境进行了相应的安装,紧接着本期我就讲给大家介绍它的相关语法。对于学过【C/C++】或者其他语言的小伙伴来说,语法内容学习起来就会掌握的很快了。
目录
前言
(一)常量和表达式
(二)变量和类型
1、变量是什么
2、变量的语法
1️⃣数字类型
2️⃣字符串类型
3️⃣bool类型
4️⃣列表类型
3、为什么要有这么多类型?
4、动态类型特性
(三)注释
1、注释是什么
2、注释的语法
3、注释的规范
(四)输入输出
1、和用户交互
2、通过控制台输出
3、通过控制台输入
(五)运算符
1、算术运算符
2、关系运算符
3、逻辑运算符
4、赋值运算符
其他...
总结
Python 语言与C 和 Java 等语言有许多相似之处。但是,也存在一些差异。
在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。
Python 没有内置的常量类型。通常,Python 程序员会使用全大写的变量名来表示常量,以标识这些变量的值不应该被修改。
PI = 3.141592653589793
GRAVITY = 9.8
我们可以把 Python 当成一个计算器, 来进行一些算术运算
print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)
【分析】
【注意】
示例
给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的平均数.
有的时候, 我们需要进行的计算可能更复杂一些, 需要把一些计算的中间结果保存起来. 这个时候就需要用到 变量.
示例
给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的方差.
PS: 方差的计算过程: 取每一项, 减去平均值, 计算平方, 再求和, 最后除以 (项数 - 1)
在这个代码中, 就需要先计算这四个数字的平均值, 然后再计算方差. 这就需要把计算的平均值使用 变量 保存起来.
注意
就像计算器中的 M 键功能类似, 通过变量就可以保存计算过程中的中间结果.
变量可以视为是一块能够容纳数据的空间,这个空间往往对应到 "内存" 这样的硬件设备上.
【注意】
Python 变量和类型是 Python 语言中最基本的概念之一。变量是用于存储数据值的标识符,而类型则定义了这些数据值的性质和操作。
在 Python 中,所有的变量都是“对象”,并且每个对象都具有“类型”。与其他编程语言不同,Python 是一种动态类型的语言,因此变量的类型可以在运行时自由更改。
注意: 和 C++ / Java 等语言不同, Python 变量的类型不需要显式指定, 而是在赋值的时候确定的
下面是 Python 中的一些常见数据类型和变量:
Python 中的数字类型包括整数、浮点数和复数;
通常,Python 根据值的大小来确定数字类型,例如 42
和 1000000
都是整数,而 3.14
和 1e-10
是浮点数。如果要创建一个复数,可以使用 【complex(real, imag)
】函数。
输出如下:
【注意】
和 C++ / Java 等语言不同, Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够 大, 理论上就可以表示无限大小的数据.
【分析】
【注意】
PS: 关于单精度浮点数和双精度浮点数的问题, 我们此处不做过多讨论. 大家只要知道, 相比于单精 度浮点数, 双精度浮点数占用的内存空间更多, 同时表示的数据精度更高即可(大概精确到小数点后 15 位).
Python 中的字符串类型用于存储文本数据。可以使用单引号、双引号或三引号来表示字符串;
例如 "Hello, World!"
和 'I\'m a Python developer.'
都是有效的字符串。
在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. 'hello' 和 "hello" 是 完全等价的.
此处是两个字符串相加. 不能拿字符串和整数/浮点数相加.
其次还可以使用 len 函数来获取字符串的长度.
字符串作为开发中最常用到的数据类型, 支持的操作方式也是非常丰富的. 此处暂时不详细展开.
在Python中,bool是一种基本数据类型,用于表示逻辑真和逻辑假。一个bool型变量只能取True或False两个值。
在Python中,可以通过关键字True和False来分别表示逻辑真和逻辑假。例如:
在条件判断和循环语句中,bool类型的变量通常用来表示条件是否成立。如果条件成立,bool型变量的取值为True;否则为False。例如:
输出结果将根据变量x的取值来决定;
列表是一种可变序列,可以包含任意类型的数据。可以使用方括号 [] 来创建列表,并使用索引(从 0 开始)来访问和修改元素。例如 [1, 2, 3]
和 ['apple', 'banana', 'cherry']
都是有效的列表。
arr = [1, 2, 3, 4, 5]
# 访问元素
print(arr[0]) # 输出第一个元素
print(arr[-1]) # 输出最后一个元素
输出如下:
# 修改元素
arr[0] = 0
print(arr)
输出如下:
【分析】
除了上述类型之外, Python 中还有 tuple, dict, 自定义类型 等等. 我们后续再介绍.
(1) 类型决定了数据在内存中占据多大空间.
例如 float 类型在内存中占据 8 个字节.
PS: 计算机里面使用二进制来表示数据. 也就是每个位只能表示 0 或者 1.
1 个二进制位, 就称为是一个 "比特", 8 个二进制位, 就称为一个 "字节" (Byte)
一个 float 变量在内存中占据 8 个字节空间, 也就是 64 个二进制位.
假设我的电脑有 16GB 的内存空间, 也就是一共有 1024 * 1024 * 1024 * 8 这么多的二进制位.
(2) 类型其实约定了能对这个变量做什么样的操作.
【总结】
在 Python 中, 一个变量是什么类型, 是可以在 "程序运行" 过程中发生变化的. 这个特性称为 "动态类型" .
C++/Java 这样的语言则不允许这样的操作. 一个变量定义后类型就是固定的了. 这种特性则称为 "静态类型".
Python是一种动态类型语言,具有以下动态类型特性:
不需要提前声明变量的数据类型:在Python中,不需要显式地声明变量的数据类型,可以直接赋值。Python会根据变量的值来确定变量的数据类型。
变量的类型可以在运行时改变:在Python中,变量的类型是可以在程序运行时动态改变的,即一个变量在某个时刻可以是整数,而在另一个时刻可以是字符串。
对变量和对象的引用不限制类型:在Python中,变量名只是一个符号,对于任何一个变量,可以使用同一个变量名来引用不同类型的对象。
内置函数type()可以用来获取变量的类型:在Python中,可以使用内置函数type()来获取变量的数据类型。
由于Python具有动态类型的特性,因此它更加灵活和易于使用,但也需要程序员在编写代码时更加注意变量类型的变化,以确保程序能够正确运行。
注释是一种特殊的代码, 它不会影响到程序的执行, 但是能够起到解释说明的作用, 能够帮助程序猿理解程 序代码的执行逻辑.
PS: 写代码是一件比较烧脑的事情, 读代码同样也非常烧脑. 相比于一板一眼的代码, 一些口语化的 描述能更好的帮助程序猿理解程序.
# 计算 4 个数字 67.5, 89.0, 12.9, 32.2 的方差
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg)
** 2
result = total / 3
print(result)
PS: 代码的第一目标是容易理解, 第二目标才是执行正确. 写注释不光是为了方便别人来理解, 也是方便几个月之后的自己理解.
一个反例: 早些年医生的手写处方
Python 中有两种风格的注释.
(1) 注释行
使用 # 开头的行都是注释.
# 这是一行注释.
(2) 文档字符串
使用三引号引起来的称为 "文档字符串", 也可以视为是一种注释.
"""
这是文档字符串
这是文档字符串
"""
1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
4. 积极向上: 注释中不要包含负能量(例如 领导 SB 等).
程序需要和用户进行交互.
输入输出的最基本的方法就是控制台. 用户通过控制台输入一些字符串, 程序再通过控制台打印出一些字 符串.
PyCharm 运行程序, 下方弹出的窗口就可以视为是控制台.
windows 自带的 cmd 程序, 也可以视为是控制台.
输入输出的最常见方法是图形化界面. 如我们平时用到的 QQ, 浏览器, steam 等, 都不需要用户输入命令, 而只是通过鼠标点击窗口点击按钮的方式来操作.
Python 当然也可以用来开发图形化界面的程序. 但是图形化程序开发本身是一个大话题. 咱们现在暂时不做介绍.
Python 使用 print 函数输出到控制台.
print('hello')
不仅能输出一个字符串, 还可以输出一个其他类型的变量
a = 10
print(a)
b = True
print(b)
输出如下:
更多的时候, 我们希望能够输出的内容是混合了字符串和变量的.
示例: 输出 num = 10
num = 10
print(f'num = {num}')
输出如下:
【注意】
PS: Python 中还支持其他的格式化字符串的方法, 咱们此处只了解这个最简单的即可. 其他的暂时 不做介绍.
python 使用 input 函数, 从控制台读取用户的输入.
【 注意】
代码示例: 输入 4 个小数, 求 4 个小数的平均值.
此处为了输入 4 个数字, 执行了四次 input. 如果是读取任意多个数字怎么办呢? 这个时候就需要用 到循环了(后面再介绍)。
在 Python 中,表达式是由运算符和操作数组成的代码片段。Python 支持许多不同类型的运算符,包括算术、比较、逻辑和位运算符。下面是一些常用的运算符和示例:
像 + - * / % ** // 这种进行算术运算的运算符, 称为 算术运算符
注意1: / 中不能用 0 作为除数. 否则会 抛出异常
print(10 / 0)
注意2: 整数 / 整数 结果可能是小数. 而不会截断
注意3: % 不是 "百分数", 而是求余数.
注意4: ** 是求乘方. 不光能算整数次方, 还能算小数次方.
注意5: // 是取整除法(也叫地板除). 整数除以整数, 结果还是整数(舍弃小数部分, 并向下取整. 不是四舍五入)
【小结】
像 < >= == != 这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系.
其中
(1) 如果关系符合, 则表达式返回 True. 如果关系不符合, 则表达式返回 False
(2) 关系运算符不光针对整数/浮点数进行比较, 还能针对字符串进行比较.
【注意】
关于字典序:
想象一个英文词典, 上面的单词都是按照字母顺序排列. 如果首个字母相同, 就比较第二个字母. (就 比如著名单词 abandon).
我们认为一个单词在词典上越靠前, 就越小. 越靠后, 就越大.
(3) 对于浮点数来说, 不要使用 == 判定相等.
注意: 浮点数在计算机中的表示并不是精确的! 在计算过程中, 就容易出现非常小的误差.
不止是 Python 如此, 主流编程语言都是如此. 这个是 IEEE754 标准规定的浮点数格式所引入的问题. 此处我们不做过多讨论.
正确的比较方式: 不再严格比较相等了, 而是判定差值小于允许的误差范围.
a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b)< 0.000001)
【小结】
像 【and or not 】这一系列的运算符称为 逻辑运算符.
此处说的 "并且" 和 "或者", 就是我们日常生活中使用的 "并且" 和 "或者".
想象一下未来丈母娘问你要彩礼, 什么叫做 "有房并且有车", 什么叫做 "有房或者有车".
一种特殊写法
关于短路求值
和其他编程语言类似, Python 也存在短路求值的规则.
【小结】
(1) = 的使用
链式赋值
a = b = 10
多元赋值
a, b = 10, 20
代码实例: 交换两个变量
a = 10
b = 20
tmp = a
a = b
b = tmp
a = 10
b = 20
a, b = b, a
输出如下:
(2) 复合赋值运算符
Python 还有一些 复合赋值运算符.
例如 += -= *= /= %= 其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理.
【 注意】
除了上述之外, Python 中还有一些运算符, 比如 身份运算符 (is, is not), 成员运算符 (in, not in), 位运算符 ( & | ~ ^ >) 等.
此处咱们暂时不介绍.
以上便是本文的全部内容了。感谢大家的观看与支持!!!