变量和基本数据类型
变量是什么?
变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
Python 中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号 = 用来给变量赋值。
等号 = 运算符左边是一个变量名,等号 = 运算符右边是存储在变量中的值。
多个变量赋值
Python允许你同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
您也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "john"
以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 “john” 分配给变量 c。
基本数据类型
数字类型
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
整型(int)、浮点型(float)、复数(complex)
如果使用的是低版本 Python2
,那么还包含长整型(long)。
基本运算
运算 | 描述 |
---|---|
x + y | x 和 y 的和 |
x - y | x 和 y 的差 |
x * y | x 和 y 的乘积 |
x / y | x 和 y 的商 |
x // y | x 除以 y,取整除 |
x % y | x 除以 y,取模 |
-x | x 取反 |
+x | x 不变 |
abs(x) | x 的绝对值 |
int(x) | 将 x 转换为整数 |
float(x) | 将 x 转换为浮点数 |
complex(x, y) | 一个带有实部 x 和虚部 y 的复数,y 默认为 0。 |
divmod(x, y) | (x // y, x % y) |
pow(x, y) | x 的 y 次幂 |
x ** y | x 的 y 次幂 |
数学函数
借助数学模块 math
来实现更多的运算
import math
math.sqrt(1024)
math
模块中除了求平方根函数,还有很多可以使用的函数。如下表所示:
函数 | 描述 |
---|---|
abs(x) | 返回 x 的绝对值 |
ceil(x) | 返回 x 的上入整数,如:math.ceil(1.1) 返回 2 |
floor(x) | 返回 x 的下舍整数,如:math.floor(1.1) 返回 1 |
exp(x) | 返回 e 的 x 次幂 |
log(x) | 返回以 e 为底 x 的对数 |
log10(x) | 返回以 10 为底 x 的对数 |
pow(x, y) | 返回 x 的 y 次幂 |
sqrt(x) | 返回 x 的平方根 |
factorial(x) | 返回 x 的阶乘 |
随机函数
random
模块对随机数的生成提供了支持
import random
# random(x)
#随机生成一个0到1的实数
random.random()
#uniform(x,y)
#随机生成一个x到y范围内的实数
random.uniform(1,10)
字符串
字符串是python中的一种数据类型,可以通过单引号 '
、双引号 "
、三引号 '''
或 """
来定义
基本操作
访问
s = "python"
# 访问第一个字符
print(s[0])
# 访问范围内字符
# yt
print(s[1:3])
#pyt
print(s[:3])
#hon
print(s[3:])
单个字符编码
python()使用了 ord()
函数返回单个字符的编码,chr()
函数把编码转成相应字符
s = "A"
print(ord(s)) # 65
print(chr(65)) # A
转义符
之前我们说过可以通过反斜杠 \
将一行语句分多行显示,其实就是 \
来转义字符
一些常见的转义字符如下表所示:
转义字符 | 描述 |
---|---|
\ | 在行尾使用时,用作续行符 |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
运算符
运算符 | 描述 |
---|---|
+ | 连接符 |
* | 重复输出 |
[] | 通过索引获取字符串中字符 |
[ : ] | 获取字符串中的一部分 |
in | 字符串中是否包含指定字符 |
not in | 字符串中是否不包含指定字符 |
r/R | 字符串原样输出 |
s1 = "hello"
s2 = "python"
print("s1 + s2", s1 + s2) # hellopython
print("s1 * 2", s1 * 2) # hellohello
print(s1[0]) # h
print("h in s1", "h" in s1) True
格式化
当我们需要输出的内容中含有变量时,比如:Hello xxx
,xxx
为变量,此时便需要一种格式化字符串的方式,Python 使用 %
格式化字符串,常用占位符如下表所示:
占位符 | 描述 |
---|---|
%s | 格式化字符串 |
%d | 格式化整数 |
%f | 格式化浮点数 |
我们也可以使用字符串的 format()
方法进行格式化
print("{0} {1}".format("hello", "python"))
这种方式是用传入的参数依次替换字符串内的占位符{0},{1}