简单介绍Python基本数据类型及程序交互
人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但在某些方面很笨,你得明确的告诉它,“1” 是数字,“我” 是文字。否则计算机是分不清的。因此,在每个编程语言中都会有数据类型的概念,其实就是对常用的数据类型进行了明确的划分,你想让计算机进行数值运算,就传入数字给它,你想让它处理文字,就传字符串类型给它。Python 中有很多数据类型,这里先了解数字,字符串,列表,字典以及布尔类型。
数字
整型
即整数
a = 2
print(type(a))
-- 运行结果
<class 'int'>
浮点型
即整数部分与小数部分组成,浮点型也可以使用科学计数法表示
x = 1.33
y = 2.5e2
print(type(x), type(y))
-- 运行结果
<class 'float'> <class 'float'>
复数
由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a, b) 表示,复数的实部 a 和虚部 b 都是浮点型
字符
在 Python 中,加了引号的字符都被认为是字符串,由一串字符组成。引号可以是单引号、双引号或三引号
name1 = 'zhifei'
name2 = "zhifei"
name3 = """zhifei"""
print(type(name1))
print(type(name2))
print(type(name3))
-- 运行结果
<class 'str'>
<class 'str'>
<class 'str'>
双引号和单引号使用没有明显的区别,仅在嵌套使用时需要配对使用,三引号可以用于多行字符串或者注释,例如:
info = '''
这是什么
这是一段注释
'''
字符串的拼接:用 + 号连接,不可以用 - 号,但是可以用 * 号
str1 = "hello"
str2 = "world"
res = str1 + str2
print(res)
print('#' * 10)
-- 运行结果
helloworld
##########
列表
包含在 [] 内,每个元素用逗号分隔,用于存放多个不同类型的值,可以修改
li = ["zhifei", 25, [1, 2, 3]]
print(li)
print(type(li))
-- 运行结果
['zhifei', 25, [1, 2, 3]]
<class 'list'>
列表是通过索引下标来访问它的值,下标从 0 开始
# 取列表li中的元素2
li = ["zhifei", 25, [1, 2, 3]]
print(li[2][1])
-- 运行结果
2
l=[1, 3.1, 'aa', ['a', 'b', 'c', ['aaaa', 'bbbb']]]
print(l)
print(l[0])
print(l[2])
print(l[3][1])
print(l[3][3][0])
-- 运行结果
[1, 3.1, 'aa', ['a', 'b', 'c', ['aaaa', 'bbbb']]]
1
aa
b
aaaa
字典
包含在 {} 内,每一个元素的形式都是键值对,即 key:value,元素之间用逗号隔开
可以有多个值,这一点与列表相同,但可以是任意数据类型
每一个值都有唯一一个对应关系,即 key,key 必须是唯一的,值可以取任何数据类型,但 key 必须是不可变的类型,如字符串,数字等
字典里也可以嵌套字典
info = {
"name": "zhifei",
"age": 25,
"sex": "male",
"hobbies": ["game", "travel", "music"]
}
print(type(info))
print(info["age"])
print(info["hobbies"][1])
-- 运行结果
<class 'dict'>
25
travel
布尔
Python 中布尔值使用 True 和 False 来表示,可以用来标识条件是否成立。
在数值上下文环境中,True 被当作 1,False 被当作 0,例如:
print(True + 3)
print(False + 2)
-- 运行结果
4
2
当数据类型的值为 0、None、空(可以是 '',[],{},后面还会学到 () 等),布尔值为 False,除此以外都为 True
print(bool(-2))
print(bool(''))
-- 运行结果
True
False
程序交互
为了让计算机能够模拟人,去接受用户输入的信息
name = input("请输入你的用户名: ")
Python3 中无论输入什么内容,都是字符串类型
在 Python3 中只有一个 input,而 Python2 中有 input 和 raw_input,其中 Python2 的 raw_input 与 Python3 的 input 是一样的。不一样的是:Python2 的 input 要求使用者必须输入一个明确的数据类型,输入什么类型就存储什么类型

占位符
作用:生成一定格式的字符串
name = input("请输入你的姓名: ")
age = input("请输入你的年龄: ")
print("你的姓名是 %s, 你的年龄是 %s" % (name, age))
请输入你的姓名: zhifei
请输入你的年龄: 24
你的姓名是 zhifei, 你的年龄是 24
%s 可以收任意类型的值,%d 只能接收整型
print("你的姓名是 %s, 你的年龄是 %d" % ("zhifei", "24"))
Traceback (most recent call last):
File "E:\PythonProject\基础\1.py", line 70, in <module>
print("你的姓名是 %s, 你的年龄是 %d" % ("zhifei", "24"))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
TypeError: %d format: a real number is required, not str

浙公网安备 33010602011771号