Python基础入门:变量、数据类型与格式化输出详解
一、变量
1.1变量的概念
一句话: 存储数据的容器。
① 变量是存储数据的容器。
② 变量存储的数据是临时的。
③ 变量在程序运行过程中是可以发生改变的量。
举个生活中的例子,我们喝水是不是需要装水的水杯。水杯就好比存储数据的容器,而水就好比是变量。水杯是否不止可以装水,还可以装可乐、牛奶、橙汁等,就引证变量存储数据是临时的,是可以发生改变的。
用代码的角度看:
age = 18
print(age)
print(18)
不是读age=18,而是叫做18这个值,赋值给age这个变量,age叫做变量名字,即把值存放到age这个容器里面。
1.2定义变量
基本语法:
变量名称
=
变量的值
注:Python 使用等号=作为赋值运算符。
1.3命名规则
python里面变量名字不可以乱取,需要做到见名知意。
具体要求:
什么叫做内置关键字?
就是被python已经定义好的单词,不能用来做变量名字。
可以help来查看Python的关键字英文发明用英文写的。
help("keywords")
正确命名例如:
name = "Alice"
age = 25
user_name = "bob123"
age1 = 25
user_1 = "Alice"
user_2 = "Bob"
# 区分大小写
age = 25
Age = 30 # age 和 Age 是两个不同的变量。
典型错误示范:
first name = "Alice" # 包含空格
2age = 25 # 以数字开头
if = 10 # 不能使用内置关键字if
for = "loop" # 不能使用内置关键字for
注:命名尽量使用英文,不推荐使用中文,如果单词实在不会的话,可以使用翻译软件搜一搜,实在不行再用拼音。
命名法拓展(听故事):
1. 小驼峰命名法(Lower Camel Case)
规则:第一个单词 小写,后续每个单词首字母 大写,其余字母小写。
适用场景:
例子:
# 变量名
userName = "Alice"
totalScore = 100
# 函数名
calculateTotal()
getUserInfo()
2. 大驼峰命名法(Upper Camel Case / PascalCase)
规则:每个单词首字母大写,其余字母小写(包括第一个单词)。
适用场景:
例子:
# 类名
class UserProfile:
pass
1.4变量在内存中如何变化?
本小节仅了解即可,不懂也没关系,后面会详讲。
当执行代码时:
a = 10
print(a)
实际上在内存中:
1. 在内存中创建一个数字10。
2. 在内存中创建一个名为 a的变量,并把它指向 10 的位置 (内存地址)。

注:1个变量只能指向1个内存地址。
二、数据类型 *
在Python里为了应对不同的业务需求,也把数据分为不同的类型。

问题:如何判断一个变量到底是什么类型?
答: 使用type(变量名称)方法,返回变量的数据类型。print 一下出现诸如: <class 'xxx'>
2.1整型 int
整数(int关键字):0-9数字组成比如:12,13,89,100等。
通常可以用来记录年龄,出生年份,学生人数等整数相关动态。
例子:
age = 18 # 定义一个变量age,给他一个值为18,整数
int
print(type(age)) # 查看变量的类型并打印
注:数字不需要加引号 。
2.2浮点型 float
小数:float类型 带小数点比如6.6 -6。
high = 1.8 # 定义一个人身高为1.8m
print(type(high)) # 查类型并打印 <class 'float'>
补充:科学计数法
当浮点数非常大或者非常小时,可以使用科学计数法,科学技术法使用e或E后跟指数来表示10的幂。
# 虽然看上去是整数,但是使用科学计数法的方式,那么在程序中就是一个浮点数
print(3.14e2) # 3.14乘以10的2次方 结果为314.0
print(3.14e-3) # 3.14乘以10的-3次方 结果为0.00314
2.3布尔类型 bool
布尔类型是与逻辑相关一种数据类型,只有两个值:True与False 对与错 1与0。
例1:手工定义flag1和flag2变量,其值分别为True和False。
flag1 = True # 1
flag2 = False # 0
print(flag1) # True
print(type(flag1)) # <class 'bool'>
print(flag2) # False
print(type(flag2)) # <class 'bool'>
例2:布尔类型本质其实是数字。
print( 1 + True) # 2
print( 1 + False) # 1
b1 = 3>1 # b1 = True
print(b1) # True
print(type(b1)) # <class 'bool'>
b2 = 3>4 # b2 = False
print(b2) # False
print(type(b2)) # <class 'bool'>
总结:bool 类型就是用于代表某个事情的真(对)或假 (错),如果这个事情是正确的,用 True(或 1)代表; 如果这个事情是错误的,用 False(或 0)代表。
2.4字符串类型 str
字符串类型要用引号来定义,可以单引号,也可以用双引号,甚至三引号。
引号引起来的值就是字符串 str。
例子:
str1 = '王麻子' # 定义一个变量str1给他一个值王麻子
print(str1)
print(type(str1)) # <class 'str'>
str2 = "王麻子" # 双引号单引号没区别
str3 = "王 麻 子" # 中间可以有空格
print(str2)
print(str3)
print(type(str2)) # <class 'str'>
print(type(str3)) # <class 'str'>
str4 = """
张三
李四
王五
赵六
"""
print(str4) # 使用三引号定义的多行字符串,包含多行文本,非常适合存储长段落的文字。
print(type(str4)) # <class 'str'>
字符串的运算:
number_01 = 66 # 定义number_01变量,给他一个值66
number_02 = '66' # 带了引号有什么区别?
print(type(number_01)) # <class 'int'>
print(type(number_02)) # <class 'str'>
number_01 = number_01 + 1 # 右边的值给左边
print(number_01) # number_01会等于多少?
number_02 = number_02 + 1
print(number_02) # 思考会有什么结果?如何改?
number_02 = number_02 + '1'
print(number_02) # 661
print(type(number_02)) # <class 'str'>
print(number_02*3) # 661661661
总结:
三、百分号格式化输出
3.1基本语法
了解是能看懂就行,掌握必须要会用。
- print(变量名) (了解)
- %() (了解)
- (f"{}")方式输出 (掌握)
- format() (了解)
# 定义三个变量
name = "小美"
age = 18
price = 1.2
# 我叫小美,今年18,我去超市买了单价1.2元/斤的白菜
# 第一种方式
print('我叫',name,',今年',age,',我去超市买了单价',price,'元/斤的白菜',sep='')
# 第二种方式:%() (了解)
'''
%s 字符串类型的数据
%d 整数
%f float类型
%.xf x表示整数,表示要保留几位小数点
'''
print("我叫%s,今年%d,我去超市买了单价%f元/斤的白菜"%(name,age,price))
# (f"{}")方式输出 (掌握)
print(f"我叫{name},今年{age},我去超市买了单价{price}元/斤的白菜") #一一对应
# format() (了解)
print("我叫{},今年{},我去超市买了单价{}元/斤的白菜".format(name,age,price)) #一一对应
注:再次强调,(f"{}")方式输出必须掌握,因为这是在Python中最常用的方式,其他看明白就行。
3.2转义字符 \
由反斜杠加上一个字符或数字组成,它把反斜杠后面的字符或数字转换成特定的意义。常用的有:
\n:换行。
\t:制表符,一个tab键(4个空格)的距离。
\' : 字符串单引号
\" : 字符串双引号'
\\ : 字符串\
print('张三\n李四\n王五\n赵六')
s0 = '\t'
print(s0)
s1 = '\"'
print(s1)
s2 = '\\'
print(s2)
s3 = '\''
print(s3)
作者:记忆中的····