欢迎交流学习~~
专栏: Python学习笔记
Python学习系列:
Python | 基础入门篇Part01——注释、数据类型、运算符、字符串
布尔类型
在前文的数据类型中,我们提到布尔类型 bool
:表示逻辑,True
表示真,False
表示假;其本质为数字,True
记为 1
,False
记为 0
比较运算符
在 python
中,共有 6 种比较运算符:
==
,判断内容是否 相等,满足为 True
,不满足为 False
!=
,判断内容是否 不相等,满足为 True
,不满足为 False
>
,判断左边内容是否 大于 右边内容,满足为 True
,不满足为 False
<
,判断左边内容是否 小于 右边内容,满足为 True
,不满足为 False
>=
,判断左边内容是否 大于等于 右边内容,满足为 True
,不满足为 False
<=
,判断左边内容是否 小于等于 右边内容,满足为 True
,不满足为 False
比较运算符的使用:
print(10==10)
print(10!=10)
print(10>5)
print(10<5)
print(10>=11)
print(10<=11)
在python
中,判断语句通过 if
语句实现,其语法格式为:
if 要判断的条件:
条件成立时,执行的语句
或者:
if 要判断的条件:
条件成立时,执行的语句
else:
条件不成立时,执行的语句
或者:
if 条件1:
条件1成立时,执行的语句
elif 条件2:
条件2成立时,执行的语句
else:
条件1和2都不成立时,执行的语句
这里面要注意,在 if
、elif
和 else
后面要跟上 :
,判断语句的结果必须是 bool
类型
此外,要注意语句的缩进问题。
当然,判断语句可以有多层嵌套,我们用两层嵌套为例:
if 条件1:
条件1成立时,执行的语句
if 条件2:
条件1和条件2都成立时,执行的语句
else:
条件1成立但条件2不成立时,执行的语句
else:
条件1不成立时,执行的语句
接下来,我们用 2 个例子进行判断:
例1:
age = int(input('请输入您的年龄:'))
if age >= 18:
print('您已经成年。')
if age < 30:
print('但您还未满30岁。')
else:
print('您还未成年。')
例2:
age = int(input('请输入您的年龄:'))
if age >= 18:
print('您已经成年。')
if age < 30:
print('但您还未满30岁。')
else:
print('您还未成年。')
逻辑运算符主要用于对关系表达式进行逻辑运算,参与逻辑运算的各表达式的值应为 True
或 False
。如果不是,Python
会把 0
当成 False
,把非 0
当成 True
,然后再参与运算,同关系运算类似,逻辑运算的结果也是 True
或 False
。
常见的逻辑运算符如下:
and
x and y
,x
和 y
做逻辑 与
运算,当两者都为 True
时,结果为 True
,否则为 False
;or
x or y
,x
和 y
做逻辑 或
运算,当两者都为 False
时,结果为 False
,否则为 True
;not
not x
,对 x
做逻辑 非
运算,当 x
为 False
时,结果为 True
,否则为 False
。例子:
x, y, z = 1, 2, 3
print('and:')
print(x < y and x < z) # True and True
print(x < y and x > z) # True and False
print(x > y and x > z) # False and False
print()
print('or:')
print(x > y or x < z) # True or False
print(x < y or x < z) # True or True
print(x > y or x > z) # False or False
print()
print('not:')
print(not x > y) # not False
print(not x < y) # not True
python
的循环语句有 while
语句和 for
语句。
while
循环语句的循环条件是自定义的,自行控制循环条件;
for
循环是一种“轮询”机制,是对一批内容进行“逐个处理”。
while
语句的语法格式为:
while 条件:
条件成立时,执行的语句
我们用一个例子说明:
i = 0
while i < 5:
print('人生苦短,我学python')
i += 1
输出:
while
语句也可以有多层嵌套,我们用两层嵌套举例:
i = 1
while i <= 3:
print(f'今天是学习pthon的第{i}天')
j = 1
while j <= 2:
print(f'第{i}天学习pthon的第{j}个小时')
j += 1
i += 1
输出:
接下来我们尝试用 while
语句实现九九乘法表的打印:
i = 1
while i <= 9:
j = 1
while j <= i:
print(f'{i}x{j}={i*j}', end=' ')
j += 1
i += 1
print() # 换行
这里
print()
中使用了参数end= ' '
,这使得打印完后不会换行,而是以空格
结尾。
for
循环语句的格式为:
for 临时变量 in 序列类型(待处理数据集):
循环满足条件时执行的代码
我们用一个例子说明:
s = 'string'
for i in s:
print(i)
输出:
接下来我们用 for
语句实现对字符串的遍历,并统计其中字母 a
的数量:
s = 'dpsadijnaodnowhda'
count = 0
for i in s:
if i == 'a':
count += 1
print(f'这个字符串中字母a有{count}个')
range
函数
我们这里引入 range
函数,这是一个在 for
循环语句中非常重要的函数,range
函数会返回一个数字序列,其用法为:
range(end)
:生成从 0
到 end
的数字序列,包括 0
但不包括 end
;range(start, end)
:生成从 start
到 end
的数字序列,包括 start
但不包括 end
;range(start, end, step)
:从 start
开始,每隔 step-1
个选一个数字,直到end
,最终组成一个数字序列,包括 0
但不包括 end
(默认 start=0
)我们用例子来说明:
for i in range(5):
print(i, end=' ')
print()
for i in range(5, 10):
print(i, end=' ')
print()
for i in range(0, 10, 2):
print(i, end=' ')
for i in range(1, 10):
for j in range(1, i+1):
print(f'{i}x{j}={i*j}', end=' ')
print()
continue
和 break
语句
在循环语句中,会出现一些情况让我们必须:
那么我们就可以用 continue
和 break
语句对循环进行 临时跳过 和 直接结束。
continue
语句 :
continue
语句作用:中断本次循环,直接进入下一次循环,比如:
for i in range(10):
语句1
continue
语句2
此时循环执行到 continue
就会中断并开启下一次循环,这样 语句2
是不会执行的。
我们用一个实例说明:
for i in range(2):
print('语句01')
for j in range(2):
print('语句02')
continue
print('语句03')
print('语句04')
break
语句 :
break
语句作用:结束循环,比如:
for i in range(10):
语句1
break
语句2
此时循环执行到 break
就会结束循环,这样 语句2
是不会执行的,而 语句1
也只会执行 1 次。
我们用一个实例说明:
for i in range(2):
print('语句01')
for j in range(2):
print('语句02')
break
print('语句03')
print('语句04')
题目描述:
某公司的账户有 10000 元,给 10 名员工发福利,每人发 2000 元。
员工编号从 1 到 10,员工的绩效从 1 到 5 随机生成,如果低于 3,则不发福利,下一位。
当福利发完了就结束发工资。
代码实现:
import random # 导入random库,用于生成绩效
money = 10000
for i in range(1, 11):
score = random.randint(1, 6)
# random.randint(start, end)
# 随机生成从start到end的一个整数,包括start,但不包括end
if money > 0:
if score < 3:
print(f'员工{i}号,绩效为{score}分,不发福利,下一位。')
continue
else:
money -= 2000
print(f'员工{i}号,绩效为{score}分,发福利,账户余额为{money}元')
else:
print('账户余额为0,福利发放停止')
break
函数是组织好的,可重复使用的,用来实现特定功能的代码段。
定义函数的格式如下:
def 函数名(参数):
函数体
return 返回值
其中参数可以为空;也可以没有 return 返回值
。
调用时,只需 函数名(参数)
即可。
我们以自定义函数实现两数相加,并调用为例:
def add(a, b):
result = a + b
print(f'{a}+{b}={result}')
# 调用函数
add(2, 3)
在自定义函数中,我们有 return
语句,这使得自定义函数有返回值,比如:
def add(a, b):
result = a + b
return result
s = add(2, 3)
print(s)
而当函数没有 return
语句时,此时函数也会有返回值,只不过此时会返回 None
,比如:
def add(a, b):
result = a + b
print(f'{a}+{b}={result}')
print(add(2, 3))
此外,None
还可以用于条件判断,此时它和 False
等价:
def add(a, b):
result = a + b
print(f'{a}+{b}={result}')
if not add(1, 2):
print('该函数返回值为None')
我们可以给函数添加说明文档,辅助理解函数的作用,具体用法为:
def func(x, y):
"""
功能描述
:param x: 解释参数x
:param y: 解释参数y
:return: 解释返回值
"""
函数体
return 返回值
我们用一个例子来体验一下:
def add(a, b):
"""
实现两个数相加,并打印结果
:param a: 一个数
:param b: 另一个数
:return: None
"""
result = a + b
print(f'{a}+{b}={result}')
函数的嵌套调用是指在一个函数中调用了其他函数,我们用一个例子来说明:
def func01():
print('调用了函数func01')
def func02():
func01()
print('调用了函数func02')
func02()
这里我们调用了 func02
,但在其函数体中,先调用了 func01
,之后再调用其他语句。
我们在定义函数时,经常会在其中定义一些变量,这些变量在函数范围外不能使用,这些变量被称为临时变量,比如:
f = 0
def func():
f = 1 + 2
print(f)
func()
print(f)
程序输出结果为 3
和 0
,结果不同,其原因就是:在 func()
函数中定义的 f
,其作用域只限于函数中,而不能对函数外的 f
进行操作。
而如果我们此时想调用,只需在 f
前加上关键字 global
,将其声明为 全局变量,其作用域就扩大至全局范围内,函数内就可以对这个数进行操作:
f = 0
def func():
global f
f = 1 + 2
print(f)
func()
print(f)