第2天:Python变量与数据类型

变量与数据类型

  • 20分钟

    • 变量赋值、动态类型
    • 整数、浮点数、布尔值、None
    • type() 函数查看类型
  • 40分钟

    • 练习:定义变量存储商品单价、数量,计算总价
    • 练习:交换两个变量的值(多种方法)
    • 任务:定义一个变量表示今天的温度,并用 print 输出"今天气温是xx度"

今日产出:掌握变量命名规则,能区分基本数据类型。


变量

变量就像是一个存储数据的盒子和标签,这个盒子或标签存放着数据所在的地址。并且允许多个变量指向同一个值,这时他们的内存地址相同

python中变量可以随时更改数据,变量的类型跟随数据的变化而变化。所以Python中的变量是动态类型的。

标识符命名方式

  1. 标识符由字母、数字、下划线组成
  2. 标识符的开头必须是字母或下划线
  3. 标识符区分大小写
  4. python中以划线开头的标识符具有特殊意义,尽量避免使用
    1. 以单下划线开头的标识符表示不能直接方位的类属性,另外也不能通过form或import导入
    2. 以双下划线开头的标识符表示类的私有成员
    3. 以双下划线开头或结尾的时python中专用的表示表示构造函数
  5. Python中允许使用汉字作为标识符,但是尽量不要使用
  6. 标识符不能使用Python中的保留字

变量命名规则

  1. 必须是一个有效的标识符
  2. 慎用小写字母l或大写字母O
  3. 应选择有意义的单词作为变量名
  4. 变量名尽量使用小写字母

定义变量并赋值

变量赋值使用等号"="来实现

bash 复制代码
变量名=value;

表示将右边的值赋给左边的变量

获取变量的数据类型

type()函数可以获取变量的数据类型

bash 复制代码
num=1
x="你好"
y=True
print(type(num))
print(type(x))
print(type(y))

数据类型

基本数据类型

数字类型

用于记录数值的类型,包括整数、浮点数和复数

整数

用来表示整数数值,没有小数部分。包括正整数、负整数和0。位数任意

  • 十进制数:逢十进一,除0以外不能以0作为十进制数开头
  • 八进制数:逢八进一,以0o或0O开头,由0~7组成
  • 十六进制数:逢十六进一,以0x或0X开头,由09,AF组成
  • 二进制数:逢二进一,由0或1组成
bash 复制代码
12 #10进制
111001 #二进制
0o123 #八进制
0xb021 #16进制
浮点数

表示小数,由整数部分与小数部分组成,可以采用科学计数法

bash 复制代码
3.1415926 #小数
31.415926e-1 #科学计数法

e表示10^

复数

与数学中的复数形式一致,都由实部与虚部组成。虚部用j或J表示。

字符串

由双引号""、单引号''和三引号''' ''',""" """括起来的连续字符序列叫做字符串,是不可变序列。三引号可以进行换行操作

bash 复制代码
a='nihao'
a="djsi"
a="""nihao,
wohenhao"""
布尔类型

布尔类型表示真(True)和假(False),用数字表示就是1或0

空值None

用来表示一个变量暂时没有有效值的情况。可以看做是一个占位符。

数据类型转换

Python是动态类型语言,不必向其他语言一样在使用的时候需要声明变量类型。但是在有些时候也需要进行类型转换。如:字符串不能与其他类型拼接,需要进行转换才可以进行拼接。

函数 作用
int(x) 将x转换成整数类型
float(x) 将x转换成浮点类型
complex(real[,imag]) 创建一个复数
str(X) 将x转换为字符串
repr(X) 将x转换为表达式字符串
eval(str) 计算在字符串中有效的python表达式,并返回一个对象
ord(X) 将一个字符x转换为它对应的数值
chr(X) 将整数x转换为一个字符
hex(x) 将一个整数x转换为十六进制字符串
oct(X) 将一个整数x转换为八进制字符串
bin(X) 将一个整数x转换为二进制字符串

练习

练习:定义变量存储商品单价、数量,计算总价

分析:单价:price,数量:num,总价:total_price

total_price=price*num

练习:交换两个变量的值(多种方法)

分析:num1=10,num2=20,x=num1,num1=num2,num2=x

任务:定义一个变量表示今天的温度,并用 print 输出"今天气温是xx度"

分析:tem='12°'

相关推荐
紫小米4 小时前
后端日志管理
python·fastapi
你不是我我4 小时前
【Java 开发日记】HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·开发语言·微服务
tjl521314_214 小时前
04C++ 名称空间(Namespace)
开发语言·c++
赏金术士4 小时前
Kotlin 数据流与单双向绑定
android·开发语言·kotlin
白雪茫茫5 小时前
监督学习、半监督学习、无监督学习算法详解
python·学习·算法·ai
つ安静与叛逆的小籹人5 小时前
小红书API:通过笔记ID获取笔记详情数据教程
笔记·python
05候补工程师5 小时前
[实战复盘] 拒绝 AI 屎山!我从设计模式中学到的“调教”AI 新范式
人工智能·python·设计模式·ai·ai编程
逻辑驱动的ken5 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
ltl6 小时前
Softmax 与概率分布:从分数到选择的桥
后端