日期:2024年10月29日
作者:徐景行
前言
今天的Python学习围绕注释、变量、Bug、数据类型、格式化输出、转义字符、print
的结束符、input
、数据类型转换函数及运算符相关的基础概念展开。这些知识点是Python编程的基础,通过今天的学习,我进一步掌握了print
、input
、%d
、%s
、%f
等的基本用法。
1. 今日学习内容概览
1.1 学习主题
今天主要学习了以下内容:
- 注释的书写方式
- 变量的定义与使用
- 常见Bug及Debug调试技巧
- Python中的基本数据类型
- 格式化输出的几种方式(
%d
、%s
、%f
等) - 转义字符的使用
print
函数中的结束符参数input
函数及数据类型的转换- 运算符的分类与应用
1.2 学习目标
- 掌握
print
、input
、%d
、%s
、%f
等模块的基本用法。 - 理解如何通过格式化输出及数据类型转换提高代码的灵活性与可读性。
- 学会通过转义字符和
print
的结束符参数来定制输出格式。
2. 知识点详解
2.1 注释与变量
-
注释
Python中的注释分为单行注释(使用#
)和多行注释(使用三引号'''
或"""
包裹注释内容)。注释用于提高代码的可读性。
-
变量
变量用于存储数据。在Python中,变量不需要声明类型,它们的类型由赋值操作自动推断。
# 变量名 = 值
"""
标识符
由数字、字母、下划线组成
不能以数字开头
不能使用内置关键字
严格区分大小写
"""
# 2.2命名习惯
"""
见明知义
大驼峰:即每个单词首字母都大写,例如:MyName。
小驼峰:第二个(含)以后的单词首字母大写,例如:myName。
下划线:例如:my_name
"""
# 2.3使用变量
"""
1.定义变量
语法: 变量名 = 值
2.使用变量
3.看变量的特点
"""
# 定义变量:存储数据TOM
my_name = 'TOM'
print(my_name)
# 定义变量:存储数据 徐景行
Name = '徐景行'
print(Name)
2.2 数据类型与格式化输出
-
数据类型
常见的数据类型包括整数、浮点数、字符串、布尔值等。
"""
1.按经验将不同的变量存储不同的类型的数据
2.验证这些数据到底是什么类型--检测数据类型--type(数据)
"""
# int 整型
# float 浮点型,就是小数
num1 = 1
num2 = 1.1
print(type(num1))
print(type(num2))
# str 字符串。特点:数据都要带引号,单引号,双引号都行
a = 'hello world'
print(type(a))
# bool 布尔型,通常判断使用,布尔型有两个取值 True和 False
b = True
print(type(b))
# list 列表
c = [10,20,30]
print(type(c))
# tuple 元组
d = (10,20,30)
print(type(d))
# set 集合
e = {10,20,30}
print(type(e))
# dict 字典--键值对
f = {'name':'TOM', 'age':18}
print(type(f))
-
格式化输出
"""
1.准备数据
2.格式化符号输出数据
"""
age = 18
name = 'TOM'
weight = 78.5
stu_id = 1
stu_id2 = 1000
# 1.今年我的年龄是x岁--整数 %d
print('今年我的年龄是%d岁'%age)
# 2.我的名字是x--字符串%s
print('我的名字是%s'%name)
# 3.我的体重是x--浮点数%f 保留几位小数 %后.xf
print('我的体重是%.2f'%weight)
# 4.我的学号是x
print('我的学号是%d'%stu_id)
#4.1我的学号是001
print('我的学号是%03d'%stu_id)
print('我的学号是%03d'%stu_id2)
# 5.我的名字是x,今年x岁了
print('我的名字是%s,今年%d岁了'%(name,age))
# 5.1我的名字是x,明年是x岁了
print('我的名字是%s,明年是%d岁了'%(name,age + 1))
# 6.我的名字是x,今年x岁了,体重x公斤,学号是x
print('我的名字是%s,今年%d岁了,体重%.1f公斤,学号是%03d'%(name,age,weight,stu_id))
字符串知识拓展一:
age = 18
name = 'TOM'
weight = 78.5
stu_id = 1
stu_id2 = 1000
# 我的名字是x,今年x岁了,体重x公斤
print('我的名字是%s,今年%s岁了,体重%s公斤'%(name,age,weight))
字符串知识拓展二:
age = 18
name = 'TOM'
weight = 78.5
stu_id = 1
stu_id2 = 1000
# 我的名字是x,今年x岁了
print('我的名字是%s,今年%s岁了'%(name,age))
# f'{表达式}'
print(f'我的名字是{name},今年{age}岁了')
print(f'我的名字是{name},明年{age + 1}岁了')
注意
f'{表达式}' 比%s更简洁更高效
f-格式化是Python3.6中新增的格式化方法,该方法跟简单易读。
-
转义字符
使用反斜杠\
来转义特殊字符,如\n
表示换行,\t
表示制表符。
"""
\n 换行
\t 制表符,一个tab键(四个空格)的距离。
"""
print('hello')
print('world')
print('hello\nworld')
print('\tabcd')
2.3 print函数与结束符
-
print
函数
print
函数可以通过end
参数自定义结束符,默认为换行符\n
。
print("Hello", end=" ") # 不换行输出
print("World")
2.4 input与数据类型转换
-
input
函数
使用input()
从用户输入获取字符串数据,并使用数据类型转换函数(如int()
、float()
)将输入转换为其他类型。
"""
1.书写input
input('提示信息')
2.观察特点
2.1遇到input,等待用户输入
2.2接受input存变量
2.3input接收到的数据类型
"""
id = input('请输入您的账号:')
print(f'您输入的账号是{id}')
print(type(id))
2.5 复合值运算符
算复合赋值运算,先算复合赋值运算符右边的表达式
a = 10
b =2
print(a)
a += 1 # a = a + 1
b -= 1 # b = b - 1
print(b)
# 注意: 算复合赋值运算,先算复合赋值运算符右边的表达式
c = 10
# c = 10 + 1 + 2
# c += + -- c = c +3
c += 1 +2
print(c)
d = 10
d *= 1 + 2
print(d) # 30
2.6 逻辑运算符
- 1. and 与 都真为真
- 2. or 或 一直为真,都假为假
- 3. not 非 取反
a = 0
b = 1
c = 2
# 1.and 与 都真为真
print(a < b and b < c)
print(a > b and b < c)
# 2. or 或 一直为真,都假为假
print(a < b or c >b)
print(a > b or c >b)
# 3. not 非 取反
print(not False)
print(not c > b)
3. 实践代码与场景分析
3.1 场景一:使用print
和input
进行交互
name = input("Enter your name: ")
age = input("Enter your age: ")
# 格式化输出
print("Hello, %s. You are %s years old." % (name, age))
3.2 场景二:数据类型转换与运算
num1 = int(input("Enter a number: "))
num2 = float(input("Enter another number: "))
# 运算与格式化输出
result = num1 + num2
print("The result is: %f" % result)
-
数据类型转换函数
# 1.float() -- 将数据转换成浮点型
num1 = 1
str1 = '10'
print(type(float(num1))) # float
print(float(num1)) # 1.
print(float(str1)) #10.0
# 2.str() -- 将数据转换成字符串型
print(type(str(num1)))
# 3.tuple() -- 将一个序列转换成元组
list1 =[10,20,30]
print(tuple(list1))
# 4.list() -- 将一个序列转换成列表
t1 = (100,200,300)
print(list(t1))
# 5.eval() --计算在字符串中的有效Python表达式,并返回一个对象
# 转换为数据原本的数据类型
str2 = '1'
str3 = '1.1'
str4 = '(1000,2000,3000)'
str5 = '[1000,2000,3000]'
print(type(eval(str2)))
print(type(eval(str3)))
print(type(eval(str4)))
print(type(eval(str5)))
4. 今日难点与解决方案
4.1 难点一:格式化输出中的类型匹配
在使用%d
、%s
、%f
进行格式化输出时,必须保证数据类型匹配。
例如,%d
用于整数,%s
用于字符串,%f
用于浮点数。
如果类型不匹配,会导致报错。解决方法是使用正确的格式化符号,或在输出前进行类型转换。
f'{表达式}' 比 %s 更简洁更高效
f'{表达式}' 格式化是Python3.6中新增的格式化方法,该方法更加简单易读。
4.2 难点二:数据类型转换的错误处理
在将用户输入的数据转换为特定类型时,输入非数字字符可能会导致转换失败。可以使用try-except
块来捕获异常并提示用户重新输入。
try:
age = int(input("Enter your age: "))
except ValueError:
print("Please enter a valid number.")
5. 未来复习提示
5.1 复习建议
- 复习
print
函数的多种用法,特别是如何使用end
参数来控制输出格式。 - 反复练习输入与数据类型转换,掌握如何处理用户输入并进行相应的类型转换。
- 练习格式化输出,确保熟练掌握
%d
、%s
、%f、
f'{表达式}'的使用。
6. 明日计划
- 学习Python中的控制结构(如
if
、while
、for
循环)。 - 实践更多格式化输出的案例,包括更复杂的字符串操作。
- 深入了解Python中的运算符及其优先级。
结语
通过今天的学习,我掌握了Python中的注释、变量、数据类型、格式化输出等基础知识,并在实际代码中加以实践。未来将继续巩固这些基础知识,并结合实际项目加深理解。期待大家的讨论与建议!