1.条件
Python 支持来自数学的常用逻辑条件:
- 等于:
a == b
- 不等于:
a != b
- 小于:
a < b
- 小于等于:
a <= b
- 大于:
a > b
- 大于等于:
a >= b
这些条件能够以多种方式使用,最常见的是“if 语句”和循环。
if 语句使用 if
关键词
x = 'abcd'
if x == 'abc' :
print('x 的值和abc 相等')
else:
print('x和 abc不相等')
#输出:x和 abc不相等
缩进
Python 依赖缩进,使用空格来定义代码中的范围。其他编程语言通常使用花括号来实现此目的。
#缩进
#没有缩进的 If 语句(会引发错误):
a = 66
b = 200
if b > a:
print("b is greater than a") # 会报错
Elif
elif
关键字是 python 对“如果之前的条件不正确,那么试试这个条件”的表达方式。
#elif 关键字是 python 对“如果之前的条件不正确,那么试试这个条件”的表达方式。
a = 66
b = 66
if b > a:
print("b 大于 a")
elif a == b:
print("b 等于 a")
Else
else 关键字捕获未被之前的条件捕获的任何内容。
#else 关键字捕获未被之前的条件捕获的任何内容
a = 200
b = 66
if b > a:
print("b大于a")
elif a == b:
print("a 等于 b")
else:
print("b 小于 a")
简写 If ... Else
如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行:
#如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行:
a = 200
b = 66
print("A") if a > b else print("B")
#输出:A
And
and
关键字是一个逻辑运算符,用于组合条件语句:
#and 关键字是一个逻辑运算符,用于组合条件语句:
a = 200
b = 66
c = 500
if a > b and c > a:
print("a大于b与c大于a")
pass 语句
if 语句不能为空,但是如果您处于某种原因写了无内容的 if 语句,请使用 pass 语句来避免错误。
#if 语句不能为空,但是如果您处于某种原因写了无内容的 if 语句,请使用 pass 语句来避免错误。
a = 66
b = 200
if b > a:
pass
2 .循环
while 循环
如果使用 while
循环,只要条件为真,我们就可以执行一组语句。
#如果使用 while 循环,只要条件为真,我们就可以执行一组语句。
i = 1
#只要 i 小于 7,打印 i:
while i < 7:
print(i)
i += 1
break 语句
如果使用 break
语句,即使 while 条件为真,我们也可以停止循环:
#如果使用 break 语句,即使 while 条件为真,我们也可以停止循环:
i = 1
while i < 7:
print(i)
#在 i 等于 3 时退出循环:
if i == 3:
break
i += 1
continue 语句
如果使用 continue
语句,我们可以停止当前的迭代,并继续下一个:
#如果使用 continue 语句,我们可以停止当前的迭代,并继续下一个:
i = 0
while i < 7:
i += 1
#如果 i 等于 3,则继续下一个迭代:
if i == 3:
continue
print(i)
else 语句
通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:
#通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:
i = 1
while i < 6:
print(i)
i += 1
#条件为假时打印一条消息:
else:
print("i 大于 6")
For 循环
for
循环用于迭代序列(即列表,元组,字典,集合或字符串)。
这与其他编程语言中的 for
关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。
#打印 fruits 列表中的每种水果:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
循环遍历字符串
甚至连字符串都是可迭代的对象,它们包含一系列的字符:
#循环遍历字符串
for x in "banana":
print(x)
break 语句
通过使用 break
语句,我们可以在循环遍历所有项目之前停止循环:
#通过使用 break 语句,我们可以在循环遍历所有项目之前停止循环:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
range() 函数
需循环一组代码指定的次数,我们可以使用 range()
函数,
range()
函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
#range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束
for x in range(10):
print(x)
For 循环中的 Else
for 循环中的 else
关键字指定循环结束时要执行的代码块:
#for 循环中的 else 关键字指定循环结束时要执行的代码块
for x in range(10):
print(x)
else:
print("结束")
2.文件、输入输出、异常
文件读取
在 Python 中使用文件的关键函数是 open()
函数。
open()
函数有两个参数:文件名和模式。
有四种打开文件的不同方法(模式):
"r"
- 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。"a"
- 追加 - 打开供追加的文件,如果不存在则创建该文件。"w"
- 写入 - 打开文件进行写入,如果文件不存在则创建该文件。"x"
- 创建 - 创建指定的文件,如果文件存在则返回错误。
此外,您可以指定文件是应该作为二进制还是文本模式进行处理。
"t"
- 文本 - 默认值。文本模式。"b"
- 二进制 - 二进制模式(例如图像)。
文件读取
假设我们有以下文件,位于与 Python 相同的文件夹中:
demo.txt
hello world!
如需打开文件,请使用内建的 open()
函数。
open()
函数返回文件对象,此对象有一个 read()
方法用于读取文件的内容:
#文件读取
f = open("demo.txt", "r")
print(f.read())
#输出:hello world!
读取中文:
#读取中文
f = open("chinese.txt", "r", encoding='utf-8')
print(f.read())
#输出:你好呀!
只读取文件的一部分
#默认情况下,read() 方法返回整个文本,但您也可以指定要返回的字符数:
f = open("demo.txt", "r")
print(f.read(5))
#输出:hello
读行
您可以使用 readline()
方法返回一行:
#您可以使用 readline() 方法返回一行:
f = open("demo.txt", "r")
print(f.readline())
#输出:hello world!
逐行遍历文件
#逐行遍历文件
f = open("demo.txt", "r")
for x in f:
print(x)
关闭文件
#关闭文件
f = open("demo.txt", "r")
print(f.readline())
f.close()
文件写入
如需写入已有的文件,必须向 open()
函数添加参数:
"a"
- 追加 - 会追加到文件的末尾"w"
- 写入 - 会覆盖任何已有的内容
追加写入
#文件追加
f = open("demo2.txt", "a")
f.write(" append dog!")
f.close()
# 追加后,打开并读取该文件:
f = open("demo2.txt", "r")
print(f.read())
#输出:hello world! xiaomingappend dog! append dog!
覆盖内容
#覆盖
f = open("demo3.txt", "w")
f.write("I have deleted the content!")
f.close()
# 写入后,打开并读取该文件:
f = open("demo3.txt", "r")
print(f.read())
#输出:I have deleted the content!
创建新文件
如需在 Python 中创建新文件,请使用 open()
方法,并使用以下参数之一:
"x"
- 创建 - 将创建一个文件,如果文件存在则返回错误"a"
- 追加 - 如果指定的文件不存在,将创建一个文件"w"
- 写入 - 如果指定的文件不存在,将创建一个文件
#创建名为 "myfile.txt" 的文件:
f = open("myfile.txt", "x")
如果不存在,则创建新文件
#如果不存在,则创建新文件:
f = open("myfile.txt", "w")