数据分析笔记08:Python编程基础-数据类型与变量
数据分析笔记08:Python编程基础-数据类型与变量
注释
注释的作用
注释是对代码的解释说明,帮助程序员和他人理解代码的功能和逻辑。
重要特性:
- 运行代码时会自动跳过注释语句。
- 不影响程序执行。
- 用于解释变量含义、函数功能等。
如何添加注释
单行注释:使用#符号。
# 这是一个注释
print(2222) # 打印四个2
快捷键:
- 添加/删除注释:Ctrl + /。
- 选中多行后按快捷键可批量注释。
识别注释的关键:任何以#开头的语句都是注释,无论内容是汉字、数字还是字母。运行时会被自动跳过。
数据类型
数据类型的含义
数据类型是数据的表现形式,计算机通过数据类型来区分不同种类的数据(数字、字母、汉字等)。
查询数据类型的函数:type()。
type(变量名) # 返回该变量的数据类型
四种基本数据类型
- 整型(int): 定义:十进制整数的统称,如1、2、3、120、-60等。 应用场景:年龄、序号、计数等。
number = 15
print(number) # 输出:15
print(type(number)) # 输出:<class 'int'>
- 布尔型(bool): 定义:只有两个值的数据类型。
- True(真):表示成立、正确。
- False(假):表示不成立、错误。 应用场景:条件判断、比较运算。
a = True
b = False
print(type(a)) # 输出:<class 'bool'>
布尔值的数字表示:
- True = 1。
- False = 0。
判断规则:
- 非零且非空 → True。
- 零或空 → False。
a = 0.8
b = bool(a)
print(b) # 输出:True(非零)a = 0
b = bool(a)
print(b) # 输出:False(零)a = ''
b = bool(a)
print(b) # 输出:False(空)
- 字符串(str): 定义:用来表示文本信息的数据类型。 包含内容:字母、汉字、数字(加引号后)、特殊字符等。 三种表示方法:
方法 表示 示例 单引号 '内容' 'Alice' 双引号 "内容" "Alice" 三引号 '''内容''' '''Alice'''
name = 'Alice'
address = "枫叶路92号"
date = '5678'print(type(name)) # 输出:<class 'str'>
print(type(address)) # 输出:<class 'str'>
print(type(date)) # 输出:<class 'str'>
识别字符串的关键:只要数据外面套了引号(单引号、双引号或三引号),无论内容是什么,都是字符串类型。
字符串的拼接:
a = '2' + '2'
print(a) # 输出:22(字符串拼接,不是数学运算)a = '2' + '-' + '2'
print(a) # 输出:2-2
- 浮点型(float): 定义:小数类型,用于表示更精确的数值。 应用场景:需要精确计算的数据,如体重、价格、科学计算等。
v1 = 4.56
print(v1) # 输出:4.56
print(type(v1)) # 输出:<class 'float'>
数据类型总结表
| 数据类型 | 英文名称 | 标识 | 示例 | 常见用途 |
|---|---|---|---|---|
| 整型 | Integer | int | 15, -6, 120 | 年龄、序号、计数 |
| 布尔型 | Boolean | bool | True, False | 条件判断、逻辑运算 |
| 字符串 | String | str | 'Hello', "你好" | 文本信息、名称 |
| 浮点型 | Float | float | 4.56, 0.75 | 小数、精确计算 |
数据类型转换
转换函数
Python提供了内置函数进行类型转换:
| 函数 | 功能 | 示例 |
|---|---|---|
| int() | 转换为整型 | int('456') → 456 |
| str() | 转换为字符串 | str(456) → '456' |
| float() | 转换为浮点型 | float(99) → 99.0 |
| bool() | 转换为布尔型 | bool(1) → True |
字符串转整型
s = '456'
i = int(s)
print(i) # 输出:456
print(type(i)) # 输出:<class 'int'>
重要限制:只有纯数字的字符串才能转换为整型。
- int('456') 成功。
- int('DEF') 报错。
- int('你我他') 报错。
整型转字符串
i = 456
s = str(i)
print(s) # 输出:456
print(type(s)) # 输出:<class 'str'>
整型转浮点型
a = 99
f = float(a)
print(f) # 输出:99.0
特点:整数转浮点型时,会在后面加上.0。
浮点型转整型(向下取整)
f = 99.88
a = int(f)
print(a) # 输出:99(不是100!)
向下取整规则:Python的int()函数采用向下取整,直接截断小数部分,不进行四舍五入。
- int(99.22) → 99。
- int(99.88) → 99。
自动类型转换
Python在某些情况下会自动进行类型转换。
示例1:布尔型与整型运算。
a = 150
b = True # True = 1
c = a + b
print(c) # 输出:151(150 + 1)b = False # False = 0
c = a + b
print(c) # 输出:150(150 + 0)
示例2:整型与浮点型运算。
result = 12 + 23.4
print(result) # 输出:35.4
# 整型12自动转换为12.0,然后进行运算
运算符
算术运算符
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| + | 加法 | 15 + 25 | 40 |
| - | 减法 | 15 - 25 | -10 |
| * | 乘法 | 15 * 25 | 375 |
| / | 除法 | 15 / 25 | 0.6 |
| // | 整除(取整) | 10 // 3 | 3 |
| % | 取余数 | 10 % 3 | 1 |
| ** | 幂次方 | 3 ** 2 | 9 |
特殊运算:字符串重复。
a = '-' * 60
print(a) # 输出:60个横线
整除 vs 取余:
- 整除(//):返回除法的整数部分,10 // 3 = 3。
- 取余(%):返回除法的余数部分,10 % 3 = 1(10 ÷ 3 = 3 余 1)。
比较运算符
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| == | 等于 | 3 == 3 | True |
| != | 不等于 | 3 != 3 | False |
| > | 大于 | 4 > 3 | True |
| < | 小于 | 3 < 4 | True |
| >= | 大于等于 | 4 >= 4 | True |
| <= | 小于等于 | 3 <= 4 | True |
重要区别:
- 单个等号=:赋值运算符 a = 15(把15赋值给a)。
- 双等号==:比较运算符 a == 15(判断a是否等于15)。
返回值:比较运算符返回布尔值(True或False)。
print(3 == 3) # 输出:True
print(3 != 3) # 输出:False
逻辑运算符
and(且): X和Y都要成立,结果才为True。
print(3 == 3 and 5 == 5) # 输出:True(两个都成立)
print(3 == 3 and 5 != 5) # 输出:False(一个不成立)
应用场景:登录验证。
# 账号和密码都正确才能登录
if 输入账号 == 存储账号 and 输入密码 == 存储密码:登录成功
or(或): X和Y只要有一个成立,结果就为True。
print(3 == 3 or 5 != 5) # 输出:True(有一个成立)
print(3 != 3 or 5 != 5) # 输出:False(两个都不成立)
应用场景:奖励条件。
# 语文或数学有一科达到95分就有奖励
if 语文成绩 >= 95 or 数学成绩 >= 95:获得奖励
not(非): 取反操作。
x = True
print(not x) # 输出:Falsex = False
print(not x) # 输出:True
逻辑运算符总结表
| 运算符 | 逻辑 | 示例 | 说明 |
|---|---|---|---|
| and | 且 | X and Y | X和Y都为True,结果才为True |
| or | 或 | X or Y | X或Y有一个为True,结果就为True |
| not | 非 | not X | X为True则返回False,X为False则返回True |
赋值运算符
基本赋值:=。
a = 15 # 将15赋值给变量a
复合赋值运算符:
| 运算符 | 等价于 | 示例 |
|---|---|---|
| += | a = a + b | a += b |
| -= | a = a - b | a -= b |
| *= | a = a * b | a *= b |
| /= | a = a / b | a /= b |
a = 2
b = 3
a += b # 等价于 a = a + b
print(a) # 输出:5
复合赋值的优势:简化代码,减少重复,提高可读性。a += b 比 a = a + b 更简洁。
成员运算符
in(在...中): 判断元素是否包含在序列中。
s = 'FGHIJ'
print('F' in s) # 输出:True
print('K' in s) # 输出:False
not in(不在...中): 判断元素是否不在序列中。
s = 'FGHIJ'
print('K' not in s) # 输出:True
print('F' not in s) # 输出:False
格式化输出
为什么需要格式化输出
普通输出过于死板,格式化输出可以:
- 统一输出格式。
- 动态插入变量值。
- 提高代码可读性。
- 使输出更加美观。
三种格式化方法
方法一:百分号占位符(%)。 占位符类型:
- %s:字符串。
- %d:整数。
- %f:浮点数。
age = 22
name = 'Bob'
weight = 80.5
student_id = 2# 单个变量
print('我的名字是%s' % name)
# 输出:我的名字是Bobprint('我的学号是%d' % student_id)
# 输出:我的学号是2print('我的体重是%f公斤' % weight)
# 输出:我的体重是80.500000公斤# 多个变量(使用元组)
print('我的名字是%s,今年%d岁' % (name, age))
# 输出:我的名字是Bob,今年22岁
方法二:format()方法。 使用大括号 {} 作为占位符。
name = 'Bob'
weight = 80.5
age = 22# 单个变量
print('我的名字是{}'.format(name))
# 输出:我的名字是Bobprint('我的体重是{}公斤'.format(weight))
# 输出:我的体重是80.5公斤# 多个变量
print('我的名字是{},今年{}岁'.format(name, age))
# 输出:我的名字是Bob,今年22岁
方法三:f-string(推荐)。 Python 3.6+ 支持,最简洁的方式。
name = 'Bob'
age = 22
weight = 80.5# 直接在大括号中写变量名
print(f'我的名字是{name}')
# 输出:我的名字是Bobprint(f'我的体重是{weight}公斤')
# 输出:我的体重是80.5公斤print(f'我的名字是{name},今年{age}岁')
# 输出:我的名字是Bob,今年22岁
三种方法对比
| 方法 | 语法 | 优点 | 缺点 |
|---|---|---|---|
| %占位符 | '%s' % var | 兼容性好 | 需要记忆不同类型的占位符 |
| format() | '{}'.format(var) | 统一使用{},灵活性高 | 语法较长 |
| f-string | f'{var}' | 最简洁直观 | 需要Python 3.6+ |
推荐使用f-string:语法最简洁,可读性最高,是目前最推荐的格式化方法。
输入与输出
输出(print)
基本用法:
print('Hello Python') # 输出字符串
print(456) # 输出数字
print(变量名) # 输出变量值
输入(input)
功能:接收用户从键盘输入的数据。
重要特性:
- 程序执行到input()时会进入等待状态。
- 等待用户输入数据。
- 用户按下回车键后继续执行。
- input()接收的数据默认为字符串类型。
基本语法:
变量名 = input('提示信息')
示例:
password = input('请输入您的密码:')
print(f'您输入的密码是{password}')
print(type(password)) # 输出:<class 'str'>
重要提醒:input()接收的数据永远是字符串类型! 如果需要数字类型,必须进行类型转换:age = int(input('请输入年龄:'))。
类型转换示例:
# 接收整数
age = int(input('请输入年龄:'))
print(f'明年你{age + 1}岁')# 接收浮点数
height = float(input('请输入身高(米):'))
print(f'你的身高是{height}米')
总结
变量
定义:用字母代替具体数值,方便重复使用和修改。
赋值:使用等号=。
number = 15 # 将15赋值给变量number
特点:
- 可变性:可以重复赋值。
- 遵循最新赋值:变量的值为最后一次赋值的结果。
vs 常量:
- 变量:可以改变(如:number = 15,后面可以改为number = 16)。
- 常量:固定不变(如:数字15永远是15)。
语句执行顺序
重要原则:从右向左看赋值语句。 a = a + b
- 先计算右边:a + b。
- 再赋值给左边:将结果赋给a。
Python代码执行顺序:从上到下,从右向左。
PyCharm提示
变量名重复警告:
- 相同变量名重复赋值会显示黄色警告。
- 提醒开发者可能存在变量名冲突。
- 建议每个变量名有唯一用途。
数据类型转换要点
可以转换:
- 数字字符串 → 整型:int('456')。
- 整型 → 字符串:str(456)。
- 整型 → 浮点型:float(99)。
- 浮点型 → 整型:int(99.88)(向下取整)。
不能转换:
- 字母字符串 → 整型:int('DEF')会报错。
- 汉字字符串 → 整型:int('你好')会报错。
