文章目录
- 一.变量和类型
- 二.动态类型特性
- 三.注释
-
- [3.1 Python的注释语法](#3.1 Python的注释语法)
- 四.输入和输出
-
- [4.1 通过控制台输出](#4.1 通过控制台输出)
- [4.2 通过控制台输入](#4.2 通过控制台输入)
- 五.运算符
- 六.顺序语句
- 七.条件语句
- 八.缩进和代码块
- 九.空语句pass
- 十.循环语句
-
- [10.1 while循环](#10.1 while循环)
- [10.2 for循环](#10.2 for循环)
- [10.3 continue](#10.3 continue)
- [10.4 break](#10.4 break)
一.变量和类型
1.1 变量的定义
变量可以视为是一块能够容纳数据的空间,这个空间往往可以对应到"内存"这样的硬件设备上。
可以把内存想象成是一个宿舍楼,这个宿舍楼上有很多的房间,每个房间都可以存放数据
1.2 变量的语法
1.定义变量:
python
a = 10
- a为变量名,当我们创建很多个变量的时候,就可以用名字来进行区分
- =为赋值运算符,表示把等号右边的数据放到等号的左边的空间中
注意:变量的名字一定要遵守规则
硬性规则(必须遵守):
变量名由数字,字母和下划线构成
数字不能开头
变量名不能和关键字重复
变量名大小写敏感,num和Num是两个不同的变量名
软性规则(建议遵守):
变量名使用有描述性的单词来表示,尽量表达出变量的作用
一个变量名可以由多个单词组成,长一点没关系,但含义要清晰
当变量名包含多个单词的时候,建议使用驼峰命名法,除了首个单词外,剩下的单词首字母都大写
1.3使用变量
- 读取变量的值
python
a = 10
print(a)
- 修改变量的值
python
a = 10
b = 20
# 此时 a 的值被修改为20了
a = b
print(a)
1.4变量的类型
Python变量的类型不需要显示指定,而是在赋值的时候确定
- 整数
python
a = 10
print(type(a))
type和print类似,都是Python内置的函数,可以使用type来查看一个变量的类型
- 浮点数
python
b = 0.5
print(type(b))
- 字符串
python
c = 'hello'
b = 'lqn'
print(type(c))
print(len(c))
# 此处是两个字符串相加,不能拿字符串和整数/浮点数相加
print(c + b)
在Python中,单引号''和双引号""构成的字符串,没有区别.'hello'和"hello"是完全等价的,还可以使用len函数来获取字符串的长度,和使用+针对两个字符串进行拼接
- 布尔
布尔类型是一个特殊的类型,取值只有两种,True(真)和False(假)
python
a = True
b = False
print(type(a))
print(type(b))
二.动态类型特性
在Python中,一个变量是什么类型,是可以在"程序运行"过程中发生变化的,这个特性称为"动态类型"
python
a = 10
#这里a是整型
print(type(a))
# 这里a是字符串类型
a = "hello"
print(type(a))
动态类型是把"双刃剑",对于中小型程序,可以大大节约代码量,对于大型程序,提高了模块之间的交互成本
三.注释
注释是一种特殊的代码,能够起到解释说明的作用,帮助程序员理解代码的执行逻辑
3.1 Python的注释语法
- 注释行
python
# 这是一行注释
- 文档字符串
使用三引号引起来的称为"文档字符串",也可以视为一种注释,可以包含多行内容,一般放在文件/函数/类的开头,"""或'''均等价
python
"""
这是文档字符串
这是注释
"""
四.输入和输出
程序员需要和用户进行交互
- 用户把信息传递给程序的过程,称为:输入
- 程序把结果展示给用户的过程,称为:输出
输入输出的最基本的方法就是控制台,用户通过控制台输入一些字符串,程序再同各国控制台打印一些字符串
4.1 通过控制台输出
Python使用print函数输出到控制台
python
print("hello")

不仅能输出一个字符串,还可以输出一个其他类型的变量
python
a = 10
print(a)
b = True
print(b)
更多的时候,前面希望能够输出的内容是混合了字符串和变量的
比如:输出:num =10
python
num = 10
print(f'num = {num}')

注意:使用f作为前缀的字符串,称为f-string
里面可以使用{ }来嵌套一个其他的变量/表达式
4.2 通过控制台输入
Python使用input函数,从控制台读取用户的输入
python
num = input()
print(f'你输入的整数是{num}')
print(type(num))

input的参数相当于一个"提示信息",也可以没有
input的返回值就是用户输入的内容,是字符串类型
例如:这里是进行字符串拼接,而不是算术运算
python
num1 = input("请输入第一个整数:")
num2 = input("请输入第二个整数:")
print(f'num1+num2 = {num1+num2}')

如果想要得到算数运算的结果,那么需要先转换类型,把字符串类型转换成整型或浮点型
python
num1 = input("请输入第一个数:")
num2 = input("请输入第二个数:")
num1 = int(num1)
num2 = float(num2)
print(f'num1+num2 = {num1+num2}')

五.运算符
5.1算术运算符
像+ - * / % ** // 这种称为算数运算符
- 1./中不能用0作为除数,否则会抛异常
python
print(10/0)

- 2.整数/整数 结果可能是小数,而不会截断
python
print(1/2)
- 3.%是求余
python
print(7 % 2)

- 4.**是求乘方,不光能算整数次方,还能算小数次方
python
print(4 ** 2)
print(4 ** 0.5)

- 5.// 是取整除法(也叫地板除),整数除以整数,结果还是整数(舍弃小数部分),并向下取整,不是四舍五入
python
print(7 // 2)
print(-7 // 2)

5.2关系运算符
像 < <= > >= == !=这一系列的运算符称为关系运算符,它们是在比较操作数之间的关系
- 1.如果关系符合,则表达式返回True,如果关系不符合,则表达式返回False
python
a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

- 2.关系运算符不光针对整数/浮点数进行比较,还能针对字符串进行比较
python
a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

直接使用==或者!=即可对字符串内容判定相等
字符串比较大小规则是"字典序"
- 3.对于浮点数来说不要使用 == 判定相等
python
print(0.1+0.2 == 0.3)

浮点数在计算机中的表示不是精确的,在计算过程中容易产生非常小的误差
例如:
python
print(0.1)
print(0.2)
print(0.3)
print(0.1+0.2)

正确的比较方式:不再严格的比较相等了,而是判定差值小于允许的误差范围
python
a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a-b) < 0.000001)

5.3逻辑运算符
像 and or not 这一系列的运算符称为逻辑运算符
- and并且,两侧操作数均为True,最终结果为True,否则为False
- or 或者,两侧操作数均为False,最终结果为False,否则为True
- not 逻辑取反,操作数本身为True,则返回False,本身为False,则返回True
python
a = 10
b = 20
c = 30
print(a < b and a < c)
print(a < b and b > c)
print(a > b or b > c)
print(a < b or b > c)
print(not a < b)
print(not a > b)

和其他编程语言意义,Python也存在短路求值的规则
对于and,如果左侧是False,那整体一定为False,右侧的表达式就不再执行
对于or,如果左侧是True,那整体一定为True,右侧的表达式就不再执行
python
print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)

5.4赋值运算符
1.= 的使用
-
= 表示赋值,这个上面已经用过很多次了,注意和==区分
-
=除了基本的用法外,还可以同时针对多个变量进行赋值
例如:
链式赋值
python
a = b = 10
多元赋值
python
a, b = 10, 20
2.复合赋值运算符
Python还有一些复合赋值运算符,例如:+= -= *= /= %=
其中 a+=1等价于 a = a+1,其他复合赋值运算符也是同理
python
a = 10
a = a + 1
print(f'a = {a}')
b = 10
b += 1
print(f'b = {b}')

六.顺序语句
默认情况下,Python的代码执行顺序是按照从上到下的顺序,依次执行的
python
print("1")
print("2")
print("3")

执行结果一定为123,而不会出现"321"或"132",这种按照顺序执行的代码称为顺序语句
七.条件语句
条件语句能够表达"如果...否则..."这样的语义,这构成了计算机中的基础的逻辑判定
条件也叫分支语句.
7.1语法格式
Python中使用if else关键字表示条件语句
-
- if
python
if expression:
do_something1
do_something2
next_something
如果expression值为True,则执行do_something1, do_something2,next_something
如果expression值为False,则只执行next_something,不执行do_something1, do_something2
-
- if-else
python
if expression:
do_something1
else:
do_something2
如果expression值为True,则执行do_something1
如果expression值为False,则执行do_something2
- 3.if - elif -else
python
if expression:
do_something1
elif expression2:
do_something2
else:
do_something3
如果expression的值为True,则执行do_something1
如果expression的值为False,且expression2为True,则执行do_something2
如果expression的值为False,且expression2为False,则执行do_something3
注意:
if后面的条件表达式,没有(),使用:结尾
if/else命中条件后要执行的"语句块",使用缩进(通常是4个空格或者1个tab)来表示,而不是{}
例如:输入1表示今天锻炼,输入2表示今天休息
python
choice = input("输入1表示今天锻炼,输入2表示今天休息: ")
if choice == "1":
print("今天我去跑步")
elif choice == "2":
print("今天我不跑步")
else:
print("你的输入有误")

八.缩进和代码块
代码块是指一组放在一起执行的代码块
在Python中使用缩进来表示代码块,不同级别的缩进,执行效果是不一样的
例如:
python
a = input("请输入一个整数:")
if a == "1":
print("hello")
print(a)

python
b = input("请输入一个整数:")
if b == "1":
print("hello")
print(b)

在第一个代码中,print(a)有一级缩进,这个语句属于if内的代码块,意味着条件成立才执行,否则不执行
在第二个代码中,print(b)没有缩进,这个语句是if外部的代码,不属于if内部代码块,意味着条件是否成立,都会执行
九.空语句pass
代码示例:输入一个数字,如果数字为1,则打印hello
python
a = input("请输入一个整数:")
a = int(a)
if a == 1:
print("hello")
上面这段代码也可以等价为
python
a = input("请输入一个整数:")
a = int(a)
if a != 1:
pass
else:
print("hello")
其中pass表示空语句,并不会对程序的执行有任何影响,只是占个位置,保持Python语法格式要符合要求
十.循环语句
10.1 while循环
基本语法格式:
python
while 条件:
循环体
- 条件为真,则执行循环体代码
- 条件为假,则循环结束
示例1:打印1-10的整数
python
num = 1
while num <= 10:
print(num)
num += 1
示例2:计算1!+2!+3!+4!+5!
python
num = 1
sum = 0
while num <= 5:
factorResult = 1
i = 1
while i <= num:
factorResult *= i
i += 1
sum += factorResult
num += 1
print(sum)
10.2 for循环
基本语法格式:
python
for 循环变量 in 可迭代对象:
循环体
可迭代对象,指的是"内部包含多个元素,能把一个一个元素取出来的特殊变量"
示例1 打印1-10
python
for i in range(1, 11):
print(i)
使用range函数,能够生成一个可迭代对象,生成的范围是1,11),也就是\[1,10
示例2 打印2,4,6,8,10
python
for i in range(2, 12, 2):
print(i)
range函数的第三个参数,可以指定迭代时候的"步长",也就是一次让循环变量加几
示例3打印10 - 1
python
for i in range(10, 0, -1):
print(i)
range函数的步长也可以设置为负数
10.3 continue
表示结束这次循环,进行下次循环
示例1打印1-5,遇到3的时候不打印
python
for i in range(1, 6):
if i == 3:
continue
print(i)

10.4 break
表示结束整个循环
示例1从1 开始打印,遇到3直接结束循环
python
for i in range(1, 6):
if i == 3:
break
print(i)

码字不易,如果觉得本文对你有所帮助,请点赞、收藏、加关注支持一下!
你的三连是我更新最大的动力。有任何问题欢迎评论区交流,我们一起进步。下期见!