变量的基本使用

程序就是用来处理数据的,而变量就是用来存储数据的

目标

  • 变量定义

  • 变量的类型

  • 变量的命名

01. 变量定义

  • 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建

  • 等号(=)用来给变量赋值

    • = 左边是一个变量名

    • = 右边是存储在变量中的值

变量名 = 值

变量定义之后,后续就可以直接使用了

1) 变量演练1 —— iPython

# 定义 qq_number 的变量用来保存 qq 号码
In [1]: qq_number = "1234567"
​
# 输出 qq_number 中保存的内容
In [2]: qq_number
Out[2]: '1234567'
​
# 定义 qq_password 的变量用来保存 qq 密码
In [3]: qq_password = "123"
​
# 输出 qq_password 中保存的内容
In [4]: qq_password
Out[4]: '123'

使用交互式方式,如果要查看变量内容,直接输入变量名即可,不需要使用 print 函数

使用已经定义的变量,则输入变量的一部分后按table键就会自动补全。

2) 变量演练 2 —— PyCharm

# 定义 qq 号码变量
qq_number = "1234567"
​
# 定义 qq 密码变量
qq_password = "123"
​
# 在程序中,如果要输出变量的内容,需要使用 print 函数
print(qq_number)
print(qq_password)

使用解释器执行,如果要输出变量的内容,必须要要使用 print 函数

3) 变量演练 3 —— 超市买苹果

  • 可以用 其他变量的计算结果 来定义变量

  • 变量定义之后,后续就可以直接使用了

需求

  • 苹果的价格是 8.5 元/斤

  • 买了 7.5 斤 苹果

  • 计算付款金额

# 定义苹果价格变量
price = 8.5
​
# 定义购买重量
weight = 7.5
​
# 计算金额
money = price * weight
​
print(money)

思考题

  • 如果 只要买苹果,就返 5 块钱

  • 请重新计算购买金额

# 定义苹果价格变量
price = 8.5
​
# 定义购买重量
weight = 7.5
​
# 计算金额
money = price * weight
​
# 只要买苹果就返 5 元
money = money - 5
print(money)

提问

  • 上述代码中,一共定义有几个变量?

    • 三个:priceweightmoney

  • money = money - 5 是在定义新的变量还是在使用变量?

    • 直接使用之前已经定义的变量

    • 变量名 只有在 第一次出现 才是 定义变量

    • 变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量

  • 在程序开发中,可以修改之前定义变量中保存的值吗?

    • 可以

    • 变量中存储的值,就是可以

02. 变量的类型

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

    1. 变量的名称

    2. 变量保存的数据

    3. 变量存储数据的类型

    4. 变量的地址(标示)

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

需求

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

  • 姓名:小明

  • 年龄:18

  • 性别:男生

  • 身高:1.75

  • 体重:75.0 公斤

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

提问

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

    • 4 种

    • str —— 字符串

    • bool —— 布尔(真假)

    • int —— 整数

    • float —— 浮点数(小数)

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

    • 不需要

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

2.2 变量的类型

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

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

  • 数字型

    • 整型 (int)

    • 浮点型(float

    • 布尔型(bool

      • True 非 0 数 —— 非零即真

      • False 0

    • 复数型 (complex)

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

  • 非数字型

    • 字符串

    • 列表

    • 元组

    • 字典

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

  • int(整数)

  • long(长整数)

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

In [1]: type(name)

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

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

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

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

    • True 对应的数字是 1

    • False 对应的数字是 0

演练步骤

  1. 定义整数 i = 10

  2. 定义浮点数 f = 10.5

  3. 定义布尔型 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`

2.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 记录转换后的价格数值

  2. 思考 —— 如果开发中,需要用户通过控制台 输入 很多个 数字,针对每一个数字都要定义两个变量,方便吗

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

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

price = float(input("请输入价格:"))
  • 改进后的好处:

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

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

  • 改进后的“缺点”:

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

提示

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

2.5 变量的格式化输出

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

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

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

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

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

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

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

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

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

需求

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

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

  3. 定义小数 priceweightmoney,输出 苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元

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

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

课后练习 —— 个人名片

需求

  • 在控制台依次提示用户输入:姓名公司职位电话邮箱

  • 按照以下格式输出:

**************************************************
公司名称
​
姓名 (职位)
​
电话:电话
邮箱:邮箱
**************************************************

实现代码如下:

"""
在控制台依次提示用户输入:姓名、公司、职位、电话、电子邮箱
"""
name = input("请输入姓名:")
company = input("请输入公司:")
title = input("请输入职位:")
phone = input("请输入电话:")
email = input("请输入邮箱:")
​
print("*" * 50)
print(company)
print()
print("%s (%s)" % (name, title))
print()
print("电话:%s" % phone)
print("邮箱:%s" % email)
print("*" * 50)
​

黑马程序员 Python学习笔记之变量相关推荐

  1. 黑马程序员Maven学习笔记

    前言 这里是黑马程序员Maven学习笔记分享,这是视频链接. 我还有其它前端内容的笔记,有需要可以查看. 文章目录 前言 基础 Maven简介 Maven是什么 Maven的作用 Maven的下载 M ...

  2. 黑马程序员Javaweb学习笔记01

    该博客主要记录在学习黑马程序员Javaweb过程的一些笔记,方便复习以及加强记忆 文章目录 一 . BS架构,HTTP协议 http请求数据格式和相应数据格式 二 . web服务器 2.1 tomca ...

  3. 黑马程序员C++学习笔记(第三阶段核心:STL)--- 更新中

    目录 迭代器 序列式容器 vector -- 可随机访问 list -- 不支持随机访问 deque -- 动态 关联式容器 -- 红黑树 map multimap set multiset -- 废 ...

  4. 黑马程序员C++学习笔记<第一阶段_基础篇>

    配套视频网址: 黑马程序员:http://yun.itheima.com/course/520.html?bili B站:https://www.bilibili.com/video/BV1et411 ...

  5. 黑马程序员Javaweb学习笔记02【request和response】

    该博客主要记录在学习黑马程序员Javaweb过程的一些笔记,方便复习以及加强记忆

  6. 黑马程序员SSM-MyBatisPlus学习笔记

    目录 一.MyBatisPlus简介 1.1 SpringBoot整合MyBatisPlus入门程序 1.2 MyBatisPlus概述 二.标准数据层开发 2.1 标准数据层CRUD功能 2.2 分 ...

  7. 黑马程序员-C#学习笔记(二)

    ---------------------- ASP.Net+Android+IOS开发..Net培训.期待与您交流! ---------------------- - C# 学习笔记 一.变量与表达 ...

  8. 黑马程序员C++学习笔记(第二阶段核心:面向对象)(一)

    目录 内存分区:代码区,全局区,栈区,堆区 程序运行前:代码区,全局区 程序运行后:栈区,堆区 引用--给变量起别名 注意事项 引用做函数参数 引用做函数返回值 引用的本质---指针常量(值可变,指向 ...

  9. “黑马程序员”视频学习笔记之面向对象基础及调试问题

    ------- Windows Phone 7手机开发. .Net培训.期待与您交流! ------- ]方法: 语法:[访问修饰符][static] 返回值类型 方法名()             ...

  10. 黑马程序员C++学习笔记

    C++基础入门 1 C++初识 1.1 第一个C++程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1.1.4 运行程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键 ...

最新文章

  1. 因融资失败,应用崩溃,3 名程序员被“祭天”!
  2. .netcore 分布式事务CAP2.6 快速入门
  3. 【ElasticSearch】es 压缩 你的 数据
  4. 针对金融级交易场景的严苛技术要求,如何修炼这门“必修课”?
  5. poj 3630 Phone List trie树—字典树 静态数组版!!!
  6. 泰克示波器TCP202电流探头的使用说明
  7. Arithmetic Progressions
  8. 小布老师-PL_SQL(第六讲)
  9. JavaScript有关this指向问题,如何修改this指向
  10. Mysql登录数据库,远程登录命令
  11. nod-1625-夹克爷发红包
  12. 麒麟系统安装clickhouse
  13. LiveGBS国标流媒体GB28181微信无插件直播如何实现跨域鉴权
  14. 苹果开发者续费以及查看账号到期时间
  15. week1-Python学习总结
  16. Android App 性能测试工具GT
  17. 计算机无法打开用友通,用友T3无法打开一打开就弹出这个
  18. netty 丢弃服务
  19. Hacker - 世界上第一个黑客
  20. 2440 dm9000 到底咋确定地址

热门文章

  1. 纯php程序无数据,无数据库的详细域名查询程序PHP版(1)_php基础
  2. java语言实现_java语言实现树
  3. pclint如何不检查头文件_衡水中学优秀班主任:考试时如何检查,才能不丢分?3个技巧...
  4. 空间计量模型_5种经典空间计量模型的回归命令、程序及原始数据:SAR模型、SDM模型、SAC模型、SEM模型及GSPRE模型...
  5. python 写csv_人生苦短,学用python
  6. 在公司网络中如何手动为apt-get设置代理
  7. Linux 宏定义之 offsetof 与 container_of(十九)
  8. Postgresql、MySQL相关的四种索引类型:B-Tree,Hash,Gist,GIN
  9. 想听懂用户的声音,至少得先学会数据分析吧
  10. 我带上你 你带上钱,我们去班加罗尔