文章目录
常量和表达式
print(1 + 2 * 3)
- print是Python内置的一个函数,作用为输入打印到控制台
- 形如
1 + 2 * 3
这样的算式为表达式,该算式的结果为表达式的返回值,1
2
3
这种成为字面常量
,+ - * /
称为运算符
示例:给四个数求平均值
print((80 + 90 + 75 + 85) / 4)
变量和类型
当我们的算数比较复杂时,往往需要把中间计算的结果保存起来,这时候就需要用到变量
,我们可以把变量认为是一块能容纳数据的空间
变量的定义
a = 10
上述的代码中,a为变量名,=为赋值运算符,相当于把右边的值存到左边变量的空间中
变量名的规则:
- 由字母数字下划线组成
- 数字不能开头
- 不能和关键字重复
- 大小写敏感,A和a是两个不同的变量
变量的使用
读取变量值:直接使用print函数将a的值输出到控制台
a = 10
print(a)
修改变量值:将变量的值从10修改为20
a = 10
print(a)
a = 20
print(20)
变量的类型
变量可以存储多种类型的数据,而类型决定了数据在内存中占据多大空间
注意: python中不需要显示指定变量类型而是在赋值时自动确定的,使用type函数
可以获取变量的类型
int
a = 10
print(type(a))
注意:在python中,int类型的变量表示的数据范围没有上限,只要内存够,就可以存“无上限”的值,它默认为4字节,但会随着数据的大小动态扩容
float
b = 2.5
print(type(b))
注意:在python中,小数只有float
一种类型,它其实表示的也是双精度浮点数,它为8字节
str
c = 'hello'
print(type(c))
注意:在python中只有字符串类型,没有字符类型,字符串可以用单引号或者双引号
可以使用len
函数获取字符串的长度:
d = "hello world"
print(len(d))
可以使用+
对字符串进行拼接:
e = "hello"
f = "python"
print(e + f)
注意: 在python中,字符串类型不能和整数或者浮点数拼接
m = "hello"
print(m + 2)
bool
flag = True
print(type(flag))
bool类型为1个字节
除上述的类型之外,python中还具有list,tuple,dict,自定义类型等,后续再介绍
类型转换
类型转换的语法为:int(a),bool(a),str(a),float(a)
说明:任何类型都可以使用str()转换为字符串
#类型转换
a = 10
print(type(a))
a = str(a)
# a = float(a)
# a = bool(a)
print(type(a))
浮点数转整数时会丢失(精度)小数
pai = 3.14
pai = int(pai)
print(pai)
动态类型
在python中,一个变量的类型是可以在程序运行中发生变化的,这个特征为动态类型
n = 10
print(type(n))
n = "hello"
print(type(n))
n = True
print(type(n))
n = 2.6
print(type(n))
注释
注释不会影响程序的运行,仅仅起到了对代码解释说明的作用
python中的单行注释:
# 注释
# 求两个数的和
a = 5
b = 10
print(a + b)
文档注释:使用三引号引起来的内容为注释,三引号可以为
''' '''
,""" """
''' 求两个数的和 '''
a = 5
b = 10
print(a + b)
字符串扩展
字符串定义
可以使用’ ‘’ ‘’'三种方式定义字符串
str1 = 'hello1'
str2 = "hello2"
str3 = '''hello3'''
对于三引号定义,如果没有变量来接收的话那就是注释
可以使用\
来对引号进行转义,表示引号不再具有引号的作用,只是当作一个普通的字符
字符串拼接
使用+
进行字符串的拼接应该注意数值类型不能与字符串使用+进行拼接
字符串格式化
方式一:使用占位的方式进行格式化
age = 10
print("张三%s岁了" % age)
# 多个占位符,%后使用括号+逗号的方式隔开
name = '李四'
print('%s%s岁了' % (name, age))
占位符:
- %s:字符串
- %d:整数
- %f:浮点数
数字精度控制:例:%5.2f 5代表宽度,2代表小数位数,小数与小数点都占宽度,小数会四舍五入
方式二:字符串格式化的快速写法,通过f"字符串{变量}"快速进行格式化
week = 3
print(f"今天是第{week}天")
格式化是可以对表达式进行格式化的
print(f"5*5={5*5}")
输入和输出
程序需要和用户进行交互,用户把信息传递给程序称为输入,程序把结果展示给用户称为输出,输入输出的最基本方式就是通过控制台来进行输入和输出
输出
使用print函数进行输出
print("你好啊! python")
print函数也可以一次输出多个值,用逗号隔开,遇到逗号会输出空格
:
print("hello", "word")
age = 10
# print输出可用空格隔开,遇到逗号会输出空格
print("我今年", age, "岁了")
格式化输出
- 使用
f
作为前缀的字符串为f-string - 里面可以使用
{}
其他的变量或表达式
a = 10
print(f"a的值为:{a}")
输入
使用input()
函数来读取控制台的输入
num = input("请输入一个数:")
print(f"输入的数为:{num}")
注意:input的返回值为字符串类型
类型之间可以通过int(),float(),bool(),str()
进行转换,但前提必须是可以相互转化
字符串转整数:
a = "10"
print(type(a))
a = int(a)
print(type(a))
运算符
算数运算符
+:
求和
print(1 + 2)
-:
减法
print(3 - 1)
*:
乘法
print(4 * 3)
/:
除法
print(10 / 3)
注意:如果结果是小数,结果不会截断,而且浮点数使用IEEE754标准表示,小数部分会存在误差
%:
取余
print(10 % 3)
**:
乘方,还可以开方
print(2 ** 3)
print(9 ** 0.5)
//:
向下取整数,这里的下指的是小,也就是舍弃小数部分,数往小的一方取整
print(7 // 3)
print(-7 // 3)
关系运算符
< ,>, <=, >=, ==, !=
print(2 < 3)
print(3.0 > 2.0)
print(6 == 6)
字符串也可以比较:
print("abc" > "ced")
print("bcd" < "ght")
python中,字符串可以使用==比较字符串内容是否相等,比较规则按照字典序比较:
a = "hello"
b = "hello"
c = "world"
print(a == b)
print(a == c)
对于浮点数,不要使用==比较相等,因为浮点数有误差:
print(0.1 + 0.2 == 0.3)
浮点数正确的比较方式:判定差值在误差范围之内
a = 0.3
b = 0.1 + 0.2
print(-0.00001 < (a - b) < 0.00001)
逻辑运算符
and(并且) or(或) not(取反)
,对应Java中的&& || !
- and:各项都为True,结果才为True,否则为False
- or:有一项为True,结果就为True,所有项都为False,结果才为False
- not:项为True,结果为False,项为False,结果为True
特殊写法:a < b < c 等同于 a < b and b < c
短路求值:
- 对于and,如果左侧为False,则右边的表达式执行不到
- 对于or,如果左侧为True,则右边的表达式执行不到
print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)
执行上述代码,程序也不会抛异常
赋值运算符
=
赋值:
a = 10
b = "hello"
c = True
链式赋值:
a = b = 20
多元赋值:
a, b = 10, 20
使用多元赋值交换两个数的值:
a = 10
b = 20;
a, b = b, a
print(a)
print(b)
复合赋值运算符:+=, -=, *=, /=, %=,a += 1 等价于a = a+1
python中不支持
++ --
这样的自增自减运算符
其他
除了上述这些基本的运算符,还有身份运算符(is , is not),成员运算符(in, not in),位运算符(^,&,|,~,>>,<<)等,此处先不做介绍