目录
1.常量和表达式
2. 变量和类型
2.1 变量是什么
2.2 变量的语法
2.3 变量的类型
2.4 动态类型特性
1.常量和表达式
我们可以把Python当成一个计算器,来进行一些算式运算,如
print(1 + 2 - 1)
print(1 + 2 * 2)
print(1 + 2 / 2)
注:在上述代码中,
可以使用 + - * / ( ) 等运算符进行算术运算. 先算乘除, 后算加减
运算符和数字之间, 可以没有空格, 也可以有多个空格. 但是一般习惯上写一个空格(比较美观)
形如 1 + 2 - 3 这样是算式, 在编程语言中称为 表达式, 算式的运算结果, 称为 表达式的返回值
其中 1 , 2 , 3 这种称为 字面值常量, + - * / 这种称为 运算符 或者 操作符
2. 变量和类型
2.1 变量是什么
有的时候 , 我们需要进行的计算可能更复杂一些 , 需要把一些计算的中间结果保存起来 . 这个时候就需要用到 变量
例如:
给定四个数,
30.2 + 12.3 + 23.4 + 9.3, 编写代码, 求这四个数的方差.
ps: 方差的计算过程: 取每一项, 减去平均值, 计算平方, 再求和, 最后除以 (项数 - 1)
在这个代码中, 就需要先计算这四个数字的平均值, 然后再计算方差. 这就需要把计算的平均值使用 变量保存起来
avg = (30.2 + 12.3 + 23.4 + 9.3) / 4
total = (30.2 - avg) ** 2 + (12.3 - avg) ** 2 + (23.4 - avg) ** 2 + (9.3 - avg) ** 2
result = total / 3
print(result)
注:
avg, total, result 均为变量.
** 在 Python 中表示乘方运算. ** 2 即为求平方
2.2 变量的语法
1)定义变量
a = 10
创建变量的语句非常简单 , 其中
a 为变量名。 当我们创建很多个变量的时候 , 就可以用名字来进行区分。
= 为赋值运算符 , 表示把 = 右侧的数据放到 = 左侧的空间中
注意: 变量的名字要遵守一定规则 。
变量名有数字字母下划线构成
数字不能开头
变量名不能和“关键字”重复
变量名大小写敏感。num 和 Num 是两个不同的变量名
软性规则(建议遵守)
变量名使用有描述性的单词来表示 , 尽量表达出变量的作用。
一个变量名可以由多个单词构成 , 长一点没关系 , 但是含义要清晰
当变量名包含多个单词的时候 , 建议使用 " 驼峰命名法 ". 形如 totalCount , personInfo 这种 , 除
了首个单词外 , 剩余单词首字母大写
2)使用变量
a = 10
print(a)
修改变量的值
# 定义变量
a = 10
# 修改变量值
a = 20
print(a)
注意: 在 Python 中, 修改变量也是使用 = 运算, 看起来和定义变量没有明显区别。
对于同一个变量,刚开始就是定义变量,后面的都是修改变量
用一个变量的值赋给另外一个变量
a = 10
b = 20
# 将 b = 的值赋予 a
a = b
print(a)
print(b)
2.3 变量的类型
变量里面存储的不仅仅是数字 , 还可以存储其它种类的数据 . 为了区分不同种类的数据 , 我们引入了 " 类型" 这样的概念。Python 变量的类型不需要显式指定 , 而是在赋值的时候确定的
1)整数
a = 10
print(type(a))
PS: type 和 print 类似, 也是 python 内置的函数。可以使用 type 来查看一个变量的类型。
Python 的 int 类型变量 , 表示的数据范围是没有上限的 . 只要内存足够大, 理论上就可以表示无限大小的数据。
2)浮点数(小数)
a = 0.1
print(type(a))
Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上 Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数
3)字符串
a = 'hello'
print(type(a))
使用 ' ' 或者 " " 引起来的, 称为 字符串. 可以用来表示文本。
注意 : 在 Python 中 , 单引号构成的字符串和双引号构成的字符串 , 没有区别。 'hello' 和 "hello" 是
完全等价的。
可以使用 len 函数来获取字符串的长度
a = 'hello'
print(len(a))
对于两个字符串,可以使用 + 进行拼接
a = 'hello'
b = 'world'
print(a + b)
4)布尔
布尔类型是一个特殊的类型 , 取值只有两种 , True ( 真 ) 和 False ( 假 )。通常用于逻辑判断
a = True
b = False
print(type(a))
print(type(b))
(5) 其他
除了上述类型之外, Python 中还有 list, tuple, dict, 自定义类型 等等
2.4 动态类型特性
在 Python 中 , 一个变量是什么类型 , 是可以在 " 程序运行 " 过程中发生变化的 . 这个特性称为 " 动态类型 " 。
a = 10
print(type(a))
b = 'hello'
print(type(b))
在程序执行过程中, a 的类型刚开始是 int, 后面变成了 str。
动态类型特性是一把双刃剑 .
对于中小型程序 , 可以大大的解约代码量 ( 比如写一段代码就可以同时支持多种类型 )。
对于大型程序 , 则提高了模块之间的交互成本。 ( 程序猿 A 提供的代码难以被 B 理解 )。