数据分析笔记08:Python编程基础-数据类型与变量

数据分析笔记08:Python编程基础-数据类型与变量

注释

注释的作用

注释是对代码的解释说明,帮助程序员和他人理解代码的功能和逻辑。

重要特性:

  • 运行代码时会自动跳过注释语句。
  • 不影响程序执行。
  • 用于解释变量含义、函数功能等。

如何添加注释

单行注释:使用#符号。

复制代码
# 这是一个注释
print(2222)  # 打印四个2

快捷键:

  • 添加/删除注释:Ctrl + /。
  • 选中多行后按快捷键可批量注释。

识别注释的关键:任何以#开头的语句都是注释,无论内容是汉字、数字还是字母。运行时会被自动跳过。

数据类型

数据类型的含义

数据类型是数据的表现形式,计算机通过数据类型来区分不同种类的数据(数字、字母、汉字等)。

查询数据类型的函数:type()。

复制代码
type(变量名)  # 返回该变量的数据类型

四种基本数据类型

  1. 整型(int): 定义:十进制整数的统称,如1、2、3、120、-60等。 应用场景:年龄、序号、计数等。

    number = 15
    print(number) # 输出:15
    print(type(number)) # 输出:<class 'int'>

  2. 布尔型(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(空)

  1. 字符串(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
  1. 浮点型(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)   # 输出:False

x = 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)

    输出:我的名字是Bob

    print('我的学号是%d' % student_id)

    输出:我的学号是2

    print('我的体重是%f公斤' % weight)

    输出:我的体重是80.500000公斤

    多个变量(使用元组)

    print('我的名字是%s,今年%d岁' % (name, age))

    输出:我的名字是Bob,今年22岁

方法二:format()方法。 使用大括号 {} 作为占位符。

复制代码
name = 'Bob'
weight = 80.5
age = 22

# 单个变量
print('我的名字是{}'.format(name))
# 输出:我的名字是Bob

print('我的体重是{}公斤'.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}')
# 输出:我的名字是Bob

print(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)

功能:接收用户从键盘输入的数据。

重要特性:

  1. 程序执行到input()时会进入等待状态。
  2. 等待用户输入数据。
  3. 用户按下回车键后继续执行。
  4. 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

  1. 先计算右边:a + b。
  2. 再赋值给左边:将结果赋给a。

Python代码执行顺序:从上到下,从右向左。

PyCharm提示

变量名重复警告:

  • 相同变量名重复赋值会显示黄色警告。
  • 提醒开发者可能存在变量名冲突。
  • 建议每个变量名有唯一用途。

数据类型转换要点

可以转换:

  • 数字字符串 → 整型:int('456')。
  • 整型 → 字符串:str(456)。
  • 整型 → 浮点型:float(99)。
  • 浮点型 → 整型:int(99.88)(向下取整)。

不能转换:

  • 字母字符串 → 整型:int('DEF')会报错。
  • 汉字字符串 → 整型:int('你好')会报错。
相关推荐
Boilermaker19922 小时前
【MySQL】备份与恢复
数据库·mysql
mortimer2 小时前
【实战复盘】 PySide6 + PyTorch 偶发性“假死”?由多线程转多进程
pytorch·python·pyqt
清静诗意2 小时前
Django REST Framework(DRF)RESTful 最完整版实战教程
python·django·restful·drf
q***7482 小时前
数据库高安全—openGauss安全整体架构&安全认证
数据库·安全·架构
studytosky2 小时前
深度学习理论与实战:Pytorch基础入门
人工智能·pytorch·python·深度学习·机器学习
l***37093 小时前
redis info 详解
数据库·redis·缓存
iiiiii113 小时前
【论文阅读笔记】多实例学习方法 Diverse Density(DD):在特征空间中寻找正概念的坐标
论文阅读·人工智能·笔记·机器学习·ai·学习方法·多实例学习
小蜗牛爱远行3 小时前
mysql导入中文乱码问题
数据库·mysql
TangDuoduo00053 小时前
【SQLite3 C语言接口】
数据库·sqlite