一、基础知识
1.标识符
在Python中,标识符是用来标识变量、函数、类、模块或其他对象的名称。一个有效的标识符由字母、数字和下划线组成,且不能以数字开头。Python是区分大小写的,因此myVariable
和myvariable
被视为不同的标识符。
下面是一些关于Python标识符的规则:
- 标识符只能包含字母(a-z,A-Z)、数字(0-9)和下划线(_)。
- 标识符不能以数字开头。
- 标识符不能是Python的关键字,如
if
、for
、while
等。 - 标识符对大小写敏感,例如
myVariable
和myvariable
被视为不同的标识符。
以下是一些有效的标识符示例:
my_variable = 42
name = "John"
PI = 3.14
is_valid = True
2.注释及书写规范
1)注释
在编写代码时,添加适当的注释是非常重要的。注释可以帮助其他开发人员理解你的代码,也可以帮助你自己在一段时间后回顾代码时更快地理解其中的逻辑。合理的注释可以提高代码的可读性和可维护性。
单行注释
在Python中,单行注释以#
开头,可以跟在一行代码的后面,或者单独作为一行使用。单行注释通常用于解释代码的某一部分或者添加临时的说明。
# 这是一个单行注释
x = 5 # 设置变量x的值为5
多行注释
Python中没有专门的多行注释语法,但可以使用多个单行注释来实现多行注释的效果。另一种常用的方式是使用三引号('''
或"""
)来包裹多行文本作为注释。
""" 这是一个多行注释的示例 可以用来解释函数、类或整个代码块 """
2)代码规范
作为一种高级语言,Python有着明确的代码规范,其中最有名的是PEP 8(Python Enhancement Proposal 8)。PEP 8规定了Python代码的书写规范,包括缩进、命名规则、注释等方面。
缩进
在Python中,缩进是非常重要的,它代表着代码块的层次结构。通常情况下,推荐使用4个空格来进行缩进。
if x > 5:
print("x大于5")
else:
print("x小于等于5")
命名规则
在Python中,变量名、函数名和类名都应该遵循一定的命名规则。通常来说,变量名使用小写字母,单词之间用下划线连接;函数名和方法名同样使用小写字母和下划线;类名使用首字母大写的驼峰命名法。
user_name = "Alice" # 变量名
def calculate_sum(x, y): # 函数名
return x + y
class MyClass: # 类名
pass
注释规范
在编写注释时,应该遵循一定的规范。注释应该清晰、简洁,并且符合代码的逻辑。注释应该描述“为什么”而不是“做了什么”,因为代码本身已经展现了“做了什么”。
避免无意义的注释,例如显而易见的内容或者过时的注释。注释应该与代码保持同步,及时更新和维护。
3.关键字
False
:布尔值FalseNone
:表示空对象或无值True
:布尔值Trueand
:逻辑运算符ANDas
:用于创建别名assert
:断言,用于判断条件是否为真,若为假则触发异常async
:定义异步函数await
:等待异步函数执行完成break
:跳出循环语句class
:定义类continue
:结束当前循环,开始下一轮循环def
:定义函数del
:删除变量或列表中指定元素elif
:else if的缩写,用于多重条件判断else
:用于if条件语句的否定条件except
:处理异常finally
:无论是否有异常都会执行的代码块for
:用于循环遍历序列from
:从模块中导入指定的部分global
:声明全局变量if
:条件语句,用于条件判断import
:导入模块in
:用于检查序列中是否存在某个值is
:比较两个对象是否相同lambda
:定义匿名函数nonlocal
:声明非局部变量not
:逻辑运算符NOTor
:逻辑运算符ORpass
:占位符,不做任何事情的语句raise
:触发异常return
:用于函数返回值try
:尝试执行代码块并处理可能出现的异常while
:用于循环执行一段代码直到条件不成立with
:用于简化代码块的书写,例如文件操作等yield
:生成器的关键字,返回一个迭代器
4.运算符
1)算术运算符
- 加法运算符(
+
):用于对两个数字进行相加。 - 减法运算符(
-
):用于对两个数字进行相减。 - 乘法运算符(
*
):用于对两个数字进行相乘。 - 除法运算符(
/
):用于对两个数字进行相除,结果为浮点数。 - 整除运算符(
//
):用于对两个数字进行整除,结果为整数。 - 取模运算符(
%
):用于获取两个数字相除的余数。 - 幂运算符(
**
):用于计算一个数的幂。
def aa():
a = 10
b = 3
print(a + b) # 输出:13
print(a - b) # 输出:7
print(a * b) # 输出:30
print(a / b) # 输出:3.3333333333333335
print(a // b) # 输出:3
print(a % b) # 输出:1
print(a ** b) # 输出:1000
2)比较运算符
比较运算符用于比较两个值。
- 等于(
==
):如果两个操作数相等,则条件成立。 - 不等于(
!=
):如果两个操作数不相等,则条件成立。 - 大于(
>
):如果左操作数大于右操作数,则条件成立。 - 小于(
<
):如果左操作数小于右操作数,则条件成立。 - 大于等于(
>=
):如果左操作数大于或等于右操作数,则条件成立。 - 小于等于(
<=
):如果左操作数小于或等于右操作数,则条件成立。
def aa():
x = 10
y = 20
print(x == y) # 输出:False
print(x != y) # 输出:True
print(x > y) # 输出:False
print(x < y) # 输出:True
print(x >= y) # 输出:False
print(x <= y) # 输出:True
3)逻辑运算符
逻辑运算符用于连接两个或多个布尔表达式。
- 与运算符(
and
):如果两个操作数都为True,则条件成立。 - 或运算符(
or
):如果两个操作数任意一个为True,则条件成立。 - 非运算符(
not
):用于对操作数取反。
def a():
p = True
q = False
print(p and q) # 输出:False
print(p or q) # 输出:True
print(not p) # 输出:False
5.数据类型
整数类型(int)
整数类型用于表示整数值,例如:-5
、0
、100
等。
浮点数类型(float)
浮点数类型用于表示带有小数部分的数值,例如:3.14
、2.71828
等。
字符串类型(str)
字符串类型用于表示文本数据,例如:"Hello"
、'Python'
等。字符串可以使用单引号或双引号来表示。
列表类型(list)
列表类型用于存储一组有序的元素,可以包含不同类型的元素,例如:[1, 2, 3]
、['apple', 'banana', 'orange']
等。
元组类型(tuple)
元组类型也用于存储一组有序的元素,但是元组创建后不能被修改(immutable),例如:(1, 2, 3)
、('a', 'b', 'c')
等。
字典类型(dict)
字典类型用于存储键值对(key-value pair)的数据,例如:{'name': 'Alice', 'age': 25}
。
集合类型(set)
集合类型用于存储独一无二的元素,不包含重复的值,例如:{1, 2, 3, 4}
。
布尔类型(bool)
布尔类型用于表示逻辑上的真(True)和假(False)值。在条件判断和逻辑运算中经常用到。
6.数据类型转换
在Python中,可以使用内置函数进行数据类型的转换,例如:
x = 10
y = float(x) # 将整数转换为浮点数
z = str(x) # 将整数转换为字符串
二、实践
1.练习
新建一个test.py文件,可以尝试将上面的提到的内容都进行测试一下。
代码当中进行了字符串、整数、浮点数的定义,进行了三种拼接方式,是否能找到哪三种呢?
通过input进行获取键盘输入,这样就可以做一些交互式的小游戏了。
def aa():
trtest = "test"
numtest = 11
floattest = 12.1004
# %s字符串 %d整数 %f浮点数
name = '%s测试%d拼接%f字符串"' %(trtest,numtest,floattest)
print(name)
# %后面加数字调整精度
name = "%s测试%4d拼接%2.2f字符串'" %(trtest,numtest,floattest)
print(name)
# %后面加数字调整精度,四舍五入
name = """"%s测试%4d拼接%2.0f字符串""" %(trtest,numtest,floattest)
print(name)
print('{}测试{}拼接{}字\'符串'.format(trtest,numtest,floattest))
print(f'{trtest}测试{numtest}拼接{floattest}字符串')
print(f'2**3结果是{2**3}')
# type获取对象类型
print(f'name的格式是{type(name)}')
# 接受键盘输入内容,input接收到的数据永远是字符串
name = input('请告诉我你是谁')
print(f'我是{name}')
在命令提示符(win+r,cmd)中,切换路径到test.py目录,输入python test.py运行结果如下:
2.迷失森林小游戏
import random
def play_game():
print("你迷失在了一片神秘的森林中...")
print("你需要找到出口才能逃离这个森林。")
directions = ["前方", "左侧", "右侧"]
target_direction = random.choice(directions) # 随机选择一个方向作为出口
while True:
user_choice = input("请选择一个方向(前方/左侧/右侧):")
if user_choice not in directions: # 判断用户输入的方向是否合法
print("请输入有效的方向!")
continue
if user_choice == target_direction:
print("恭喜你,你找到了出口!你成功逃离了森林。")
else:
print("很遗憾,这个方向没有出口。继续探索吧。")
play_again = input("是否再次尝试?(是/否):")
if play_again.lower() == "是":
target_direction = random.choice(directions)
else:
print("谢谢游玩!")
break
play_game()