1_python基础—变量(上)

简介: 1_python基础—变量

一、变量的作用


程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后定义一个名称,这个名称就是变量。


c975340d959349828ef4e47636f60fa8.png


变量就是一个存储数据的时候当前数据所在的内存地址的名字而已。


二、定义变量


变量名 = 值


变量名自定义,要满足标识符命名规则。


2.1 标识符


标识符命名规则是Python中定义各种名字的时候的统一规范,具体如下:


由数字、字母、下划线组成

不能数字开头

不能使用内置关键字

严格区分大小写


efb4839695ef48af908ab0c37288b63a.png


2.2 命名习惯


见名知义。

大驼峰:即每个单词首字母都大写,例如:MyName。

小驼峰:第二个(含)以后的单词首字母大写,例如:myName。

下划线:例如:my_name。


2.3 使用变量

# 定义变量:存储数据TOM
my_name = 'TOM'
print(my_name)
# 定义变量:存储数据 程序员
schoolName = '我是程序员,我爱Python'
print(schoolName)


2.4 认识bug


所谓bug,就是程序中的错误。如果程序有错误,需要程序员排查问题,纠正错误。


三、变量的类型


在内存中创建一个变量,会包括:


变量的名称

变量保存的数据

变量存储数据的类型

变量的地址(标示)


3.1 变量类型的演练 —— 个人信息


需求


定义变量保存小明的个人信息

姓名:小明

年龄:18 岁

性别:是男生

身高:1.75 米

体重:75.0 公斤

利用 单步调试 确认变量中保存数据的类型


提问


在演练中,一共有几种数据类型?

4 种

str —— 字符串

bool —— 布尔(真假)

int —— 整数

float —— 浮点数(小数)


在 Python 中定义变量时需要指定类型吗?


不需要


Python 可以根据 = 等号右侧的值,自动推导出变量中存储数据的类型


3.2 变量的类型


在 Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要)


数据类型可以分为 数字型 和 非数字型


数字型


整型 (int)

浮点型(float)

布尔型(bool)

真 True 非 0 数 —— 非零即真

假 False 0

复数型 (complex)


主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题


非数字型

字符串

列表

元组

字典

集合


在 Python 中,所有 非数字型变量 都支持以下特点:


都是一个 序列 sequence,也可以理解为 容器


取值 []

遍历 for in

计算长度、最大/最小值、比较、删除

链接 + 和 重复 *

切片

提示:在 Python 2.x 中,整数 根据保存数值的长度还分为:


int(整数)

long(长整数)

使用 type 函数可以查看一个变量的类型


In [1]: type(name)


3.3 不同类型变量之间的计算


1) 数字型变量之间可以直接计算


在 Python 中,两个数字型变量是可以直接进行 算数运算的

如果变量是 bool 型,在计算时

True 对应的数字是 1

False 对应的数字是 0

演练步骤


定义整数 i = 10

定义浮点数 f = 10.5

定义布尔型 b = True

在 iPython 中,使用上述三个变量相互进行算术运算


2) 字符串变量之间使用 + 拼接字符串


在 Python 中,字符串之间可以使用 + 拼接生成新的字符串


In [1]: first_name = "三"
In [2]: last_name = "张"
In [3]: first_name + last_name
Out[3]: '三张'


3) 字符串变量可以和 整数 使用 * 重复拼接相同的字符串


In [1]: "-" * 50
Out[1]: '--------------------------------------------------'


4) 数字型变量 和 字符串 之间 不能进行其他计算


In [1]: first_name = "zhang"
In [2]: x = 10
In [3]: x + first_name
---------------------------------------------------------------------------
TypeError: unsupported operand type(s) for +: 'int' and 'str'
类型错误:`+` 不支持的操作类型:`int` 和 `str`


3.4 变量的输入


所谓 输入,就是 用代码 获取 用户通过 键盘 输入的信息

例如:去银行取钱,在 ATM 上输入密码

在 Python 中,如果要获取用户在 键盘 上的输入信息,需要使用到 input 函数


1) 关于函数


一个 提前准备好的功能(别人或者自己写的代码),可以直接使用,而 不用关心内部的细节

目前已经学习过的函数


函数 说明
print(x) 将 x 输出到控制台
type(x) 查看 x 的变量类型


2) input 函数实现键盘输入


  • 在 Python 中可以使用 input 函数从键盘等待用户的输入
  • 用户输入的 任何内容 Python 都认为是一个 字符串
  • 语法如下:


字符串变量 = input("提示信息:")


3) 类型转换函数


函数 说明
int(x) 将 x 转换为一个整数
float(x) 将 x 转换到一个浮点数


4) 变量输入演练 —— 超市买苹果增强版


需求


  • 收银员输入 苹果的价格,单位:元/斤
  • 收银员输入 用户购买苹果的重量,单位:
  • 计算并且 输出 付款金额


演练方式 1


# 1. 输入苹果单价
price_str = input("请输入苹果价格:")
# 2. 要求苹果重量
weight_str = input("请输入苹果重量:")
# 3. 计算金额
# 1> 将苹果单价转换成小数
price = float(price_str)
# 2> 将苹果重量转换成小数
weight = float(weight_str)
# 3> 计算付款金额
money = price * weight
print(money)


提问


  1. 演练中,针对价格定义了几个变量?
  • 两个
  • price_str 记录用户输入的价格字符串
  • price 记录转换后的价格数值
  1. 思考 —— 如果开发中,需要用户通过控制台 输入 很多个 数字,针对每一个数字都要定义两个变量,方便吗


演练方式 2 —— 买苹果改进版


  1. 定义 一个 浮点变量 接收用户输入的同时,就使用 float 函数进行转换


price = float(input("请输入价格:"))


改进后的好处:


节约空间,只需要为一个变量分配空间

起名字方便,不需要为中间变量起名字

改进后的“缺点”:

初学者需要知道,两个函数能够嵌套使用,稍微有一些难度


提示


如果输入的不是一个数字,程序执行时会出错,有关数据转换的高级话题,后续会讲!


3.5 变量的格式化输出


苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元


在 Python 中可以使用 print 函数将信息输出到控制台

如果希望输出文字信息的同时,一起输出 数据,就需要使用到 格式化操作符

% 被称为 格式化操作符,专门用于处理字符串中的格式

包含 % 的字符串,被称为 格式化字符串

% 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符


格式化字符 含义
%s 字符串
%d 有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f 浮点数,%.2f 表示小数点后只显示两位
%% 输出 %


  • 语法格式如下:


print("格式化字符串" % 变量1)
print("格式化字符串" % (变量1, 变量2...))


格式化输出演练 —— 基本练习


需求


定义字符串变量 name,输出 我的名字叫 小明,请多多关照!

定义整数变量 student_no,输出 我的学号是 000001

定义小数 price、weight、money,输出 苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元

定义一个小数 scale,输出 数据比例是 10.00%


print("我的名字叫 %s,请多多关照!" % name)
print("我的学号是 %06d" % student_no)
print("苹果单价 %.02f 元/斤,购买 %.02f 斤,需要支付 %.02f 元" % (price, weight, money))
print("数据比例是 %.02f%%" % (scale * 100))


目录
相关文章
|
1月前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
118 68
|
7天前
|
人工智能 Unix Java
[oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
36 9
|
1月前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
39 9
|
2月前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`"""` 或 `'''`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
109 2
|
3月前
|
Python
【10月更文挑战第5天】「Mac上学Python 8」基础篇2 - 变量深入详解
本篇将详细介绍Python中变量的使用方式和进阶操作,涵盖变量的输入与输出、变量的多重赋值、变量的内存地址管理以及变量的传递和交换等操作。通过本篇的学习,用户将对变量的使用有更深入的理解,并能灵活运用变量进行各种编程操作。
63 1
【10月更文挑战第5天】「Mac上学Python 8」基础篇2 - 变量深入详解
|
2月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
45 4
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
43 0
|
4月前
|
机器学习/深度学习 算法 数据可视化
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
特征工程是机器学习流程中的关键步骤,通过将原始数据转换为更具意义的特征,增强模型对数据关系的理解能力。本文重点介绍处理数值变量的高级特征工程技术,包括归一化、多项式特征、FunctionTransformer、KBinsDiscretizer、对数变换、PowerTransformer、QuantileTransformer和PCA,旨在提升模型性能。这些技术能够揭示数据中的潜在模式、优化变量表示,并应对数据分布和内在特性带来的挑战,从而提高模型的稳健性和泛化能力。每种技术都有其独特优势,适用于不同类型的数据和问题。通过实验和验证选择最适合的变换方法至关重要。
74 5
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
|
3月前
|
存储 编译器 Python
Python--变量、输出与输入
【10月更文挑战第5天】
|
3月前
|
测试技术 Python
Python MagicMock: Mock 变量的强大工具
Python MagicMock: Mock 变量的强大工具
72 4