03-变量和数据-编程就这两件事
编程其实就做两件事
说实话,编程没那么复杂,归根结底就两件事:
- 存数据(用变量)
- 操作数据(用各种运算)
今天我们先把第一件事搞定:怎么存数据。
什么是变量?
变量就是一个装东西的盒子。
你可以把它想象成一个标签,贴在某个数据上,方便你后面找到它。
name = "小明"
age = 25
height = 1.75
这三个变量就像三个盒子:
name这个盒子里装了字符串"小明"age这个盒子里装了整数25height这个盒子里装了小数1.75
以后要用到这些数据,直接用变量名就行了,不用记住数据本身。
变量命名的黄金规则(别乱来!)
能用什么字符?
- 只能用字母、数字、下划线
- 不能用数字开头
- 不能用空格
- 不能用中文(虽然Python支持,但不推荐)
# 正确的命名
name = "小明"
user_name = "小红"
age1 = 20
age_2 = 25
# 错误的命名
1name = "小明" # 数字开头
user name = "小红" # 有空格
class = 20 # class是Python关键字
命名规范(让代码看起来专业点)
# 不推荐(太丑)
x = "小明"
n = 25
a = 1.75
# 推荐(一看就知道是什么)
name = "小明"
age = 25
height = 1.75
# 多个单词用下划线连接
user_name = "小红"
total_score = 100
原则:变量名要能说明存的是什么数据。
Python的六种数据类型(记住这几个就够了)
1. 整数(int)
就是整数,没小数点的。
age = 25
count = 100
num_people = 50
2. 浮点数(float)
带小数点的。
height = 1.75
price = 99.99
temperature = 36.5
注意: Python里用小数点分隔小数,不是逗号!
3. 字符串(str)
用引号包起来的文字。
name = "小明" # 双引号
message = '你好' # 单引号也行
long_text = """
这是一段很长的文字,
可以换行写。
""" # 三引号可以换行
引号的选择:
- 文字里有单引号,就用双引号:
"It's a dog" - 文字里有双引号,就用单引号:
'他叫我"大帅哥"'
4. 布尔值(bool)
就两个值:True和False(注意大小写!)。
is_student = True
is_married = False
has_job = True
布尔值就像开关,要么开要么关。
5. 列表(list)
可以存多个数据,用方括号包起来。
names = ["小明", "小红", "小刚"]
numbers = [1, 2, 3, 4, 5]
mixed = ["张三", 25, True, 1.75] # 什么类型都能放
列表就像个购物袋,什么都能往里装。
6. 字典(dict)
键值对的形式存储数据,用花括号包起来。
person = {
"name": "小明",
"age": 25,
"height": 1.75
}
# 也可以一行写
product = {"name": "手机", "price": 2999, "stock": 100}
字典就像一本字典,你查"小明",就能找到他的所有信息。
变量的赋值和修改
赋值
name = "小明" # 创建一个变量,赋值为"小明"
age = 25 # 创建一个变量,赋值为25
修改
name = "小明"
name = "小红" # 重新赋值,原来的"小明"就没了
age = 25
age = age + 1 # 年龄加1,变成26
age += 1 # 同样是加1,简写形式
删除
name = "小明"
del name # 删除变量,后面再用name会报错
查看变量类型
不知道变量是什么类型?用type()函数:
age = 25
print(type(age)) # <class 'int'>
height = 1.75
print(type(height)) # <class 'float'>
name = "小明"
print(type(name)) # <class 'str'>
调试代码的时候很有用!
数据类型转换(互相转换)
有时候需要把数据从一种类型变成另一种类型。
# 字符串转整数
age_str = "25"
age = int(age_str) # 转成25
print(age + 5) # 30
# 整数转字符串
age = 25
age_str = str(age) # 转成"25"
print("我今年" + age_str + "岁") # 我今年25岁
# 字符串转浮点数
height_str = "1.75"
height = float(height_str) # 转成1.75
注意: 字符串必须是数字才能转!
int("abc") # 报错!无法转换
int("25") # 正确,转成25
常见坑及解决方案
坑1:变量名和函数名重名
type = "小明"
print(type(25)) # 报错!type已经被改成字符串了
解决: 不要用函数名做变量名,比如type、print、input等。
坑2:字符串和数字直接拼接
age = 25
print("我今年" + age + "岁") # 报错!不能直接拼接
解决: 先转成字符串
age = 25
print("我今年" + str(age) + "岁") # 正确
坑3:忘记加引号
name = 小明 # 报错!Python以为小明是一个变量
name = "小明" # 正确,这是字符串
实战小练习
写一个程序,计算BMI(身体质量指数):
height = 1.75 # 身高(米)
weight = 70 # 体重(公斤)
bmi = weight / (height * height)
print("你的身高是:" + str(height) + "米")
print("你的体重是:" + str(weight) + "公斤")
print("你的BMI是:" + str(bmi))
if bmi < 18.5:
print("你太瘦了!")
elif bmi < 24:
print("你的体重很正常!")
else:
print("你该减肥了!")
运行一下,看看你是什么情况?
本章小结
- 变量就是装数据的盒子,用变量名来访问数据
- 命名规则:字母数字下划线,不能数字开头,见名知意
- 六种数据类型:整数、浮点数、字符串、布尔值、列表、字典
- 类型转换:
int()、float()、str()互相转换
这些理解了,你就掌握了编程的一半!
下一章我们来学习条件判断,让电脑学会思考。
别给自己找借口,继续学下去!