目录
导语
编辑
一、数据类型
1、什么是数据类型?
2、数据类型的种类
3、整型(int)
4、浮点型(float)
5、字符串(str)
6、列表(list)
7、字典(dict)
8、布尔(bool)
9、元组(tuple)
10、集合(set)
二、程序与用户交互
1、什么是与用户交互?
2、为什么要与用户交互?
3、如何与用户交互
三、格式化输出
(1) 什么是格式化输出?
(2) 为什么要格式化输出?
(3) 如何格式化输出?
数据类型是用来记录事物状态的,而事物的状态是不断变化的(如:一个人年龄的增长(操作int类型) ,单个人名的修改(操作str类型),学生列表中增加学生(操作list类型)等),这意味着我们在开发程序时需要频繁对数据进行操作,为了提升我们的开发效率, python针对这些常用的操作,为每一种数据类型内置了一系列方法。本章的主题就是详细了解下它们,以及每种数据类型的详细定义、类型转换。
视频文件、音频文件、表格文件、图片等等这些都是保存数据的方式。
在IT领域也有各种各样的保存数据的方式。
整型 浮点型 字符串 列表 字典 元组 集合 布尔
作用:用来记录人的年龄,出生年份,学生人数等整数相关的状态。
定义:age = 18
student_count = 48
year = 2002
数据类型的关键字:print(type(age))
作用:用来记录人的身高,体重,薪资等小数相关的状态。
定义:height = 1.8
weight = 120.5
salary = 2800.5
数据类型的关键字:print(type(height))
数据类型小总结:在Python中,整型、浮点型统一称为是数字类型。
(1)、作用:用来记录人的名字,家庭住址,性别等描述性质的状态。
(2)、定义:在单引号\双引号\三引号内包含一串字符。
方式一:
username = 'kevin' #单引号
方式二:
username = "kevin" #双引号
方式三:
username = '''kevin''' #当三引号的左边有赋值符号的时候就是字符串,否则是注释
方式四:
username = """kevin""" #当三引号的左边有赋值符号的时候就是字符串,否则是注释
总结:就是引号引起来的部分都是字符串!
注:一个字符串中出现了使用多个引号的是情况:外边是单引号,里面就是双引号,相反!
#res = '李老师说:'趁年轻,学技能,养活自己''
res = '李老师说:"趁年轻,学技能,养活自己"'
res = "李老师说:'趁年轻,学技能,养活自己'"
(3)、字符串的拼接
res1 = 'hello'
res2 = 'world'
res3 = 'python'
print(res1 + res2 + res3) # helloworld Python
重复字符串:
print(res1 * 20) # hellohellohellohellohellohellohellohellohellohello
(1)、作用:列表类型就是专门用来记录多个同种属性的值(比如同一个班级多个学生的姓名、同一个人的多个爱好等),并且存取都十分方便。
(2)、定义:使用中括号括起来,内部存放多个元素值,元素与元素之间使用逗号分割,内部可以存放任意的数据类型。
stu_names = [1, 2, 1.1, 1.2, '张三','李四','王五']
(3)存起来如何取值:
# 练习题:
l = [1, 2, 3, ['kevin', 'tony', ['a', 'b', [11, 22, 'kevinNB', [111, 222, 333, 4444, 555, 666]]]]]
# 取出kevinNB
# 1. 问'kevinNB'在列表的第几个元素
l1 = l[3]
print(l1) # ['kevin', 'tony', ['a', 'b', [11, 22, 'kevinNB']]]
# 2. 问'kevinNB'在列表的第几个元素
l2 = l1[2]
print(l2) # ['a', 'b', [11, 22, 'kevinNB']]
# 3. 问'kevinNB'在列表的第几个元素
l3 = l2[2]
print(l3) # [11, 22, 'kevinNB']
l4 = l3[2]
print(l4) # kevinNB
# 合并一下
# l5 = l[3][2][2][2]
l5 = l[3][2][2][3][5]
print(l5)
(1)、作用:能够非常明确的把每一个元素值的含义表示出来。
(2)、定义:字典就是使用大括号括起来,内部存放多个元素值,元素与元素之间使用逗号隔开,但是,元素类型是key:value的形式,key是对value的解释型信息,value才是真正的变量值。
d = {'username':'kevin', 'age':18, 'gender':'male', 'salary':2000}
(3)、如何取值:
#### 练习题
info = {
'username': 'jerry',
'addr': [1, 2, 3, {'age': 18, 'gender': 'male', 'hobby': ['tangtou', 'xijio', 'anmuo', 'niejiao', {'a': 'kevinNB'}]}]
}
# 取出kevinNB
# 1. 问kevinNB在字典的第几个位置
l1 = info['addr']
print(l1) # [1, 2, 3, {'age': 18, 'gender': 'male', 'hobby': ['tangtou', 'xijio', 'anmuo', 'niejiao', {'a': 'kevinNB'}]}]
# 2. 问kevinNB在列表的第几个位置
l2 = l1[3]
print(l2) # {'age': 18, 'gender': 'male', 'hobby': ['tangtou', 'xijio', 'anmuo', 'niejiao', {'a': 'kevinNB'}]}
# 3. 问kevinNB在字典的第几个位置
l3 = l2['hobby']
print(l3) # ['tangtou', 'xijio', 'anmuo', 'niejiao', {'a': 'kevinNB'}]
l4 = l3[4]
print(l4) # {'a': 'kevinNB'}
l5 = l4['a']
print(l5) # kevinNB
# 合并一下
l6 = info['addr'][3]['hobby'][4]['a']
print(l6)
(1)、作用:用来记录真假这两种状态。
(2)、定义 : a = True -------> 代表的是真、对、正确的等含义
b = False -------> 代表的是假、错、不正确等含义
注: 布尔类型的变量命名一般使用is_开头
is_right = True
is_ok = False
is_delete = True
python中什么是真、什么是假?
只需要记住哪些是假的情况,其余都为真
哪些是假?
0、''、None、[]、{}、等
# 扩展:is_delete
name age gender phone is_delete
kevin 18 male 110 1
当我们在手机上填写表格或者其他任意形式的调查表,我们把我们的信息等数据进行注销时,其后台仍然会保留你数据,不会被删除!
(1)、元组就是不可变的列表,其他的跟列表都一样。
(2)、定义:元组就是使用小括号括起来,内部存放多个元素值,元素与元素之间使用逗号隔开,它不能够修改,其余的跟列表都一样,也是索引(下标)来取值。
t = (1,2,3,4,5)
(3)、取值:
print(t[0])
(1)、作用:集合主要用于去重、关系运算。
(2)、定义:使用大括号括起来,内部存放多个元素值,元素与元素之间使用逗号隔开,但是不是key:value的形式。(每个元素必须是不可变的,没有重复的元素且集合内元素无序)
s = {1, 2, 3, 4}
集合的特点:去重
# 如何定义一个空字典
d = {}
print(d, type(d)) #
# 如何定义一个空集合
s = set()
print(s, type(s)) #
用户交互就是人往计算机中input/输入数据,计算机print/输出结果。
为了让计算机能够像人一样与用户沟通交流。
比如,过去我们去银行取钱,用户需要把帐号密码告诉柜员,而现在,柜员被ATM机取代,ATM机就是一台计算机,所以用户同样需要将帐号密码告诉计算机,于是我们的程序中必须有相应的机制来控制计算机接收用户输入的内容,并且输出结果。
只要是input接收的数据类型全部都是str类型的,不管你输入的类型是什么类型的。
注:end='\n'
把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。
我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容。
这就用到了占位符,如:%s、%d
批量的数量要一一对应,一个不能少,一个也不能多
# print(res % ('kevin1', 10, 100, 9999999))
# print(res % ('kevin1', 10, 100, 19999999))
# print(res % ('kevin2', 11, 200, 29999999))
# print(res % ('kevin3', 12, 300, 39999999))
# print(res % ('kevin4', 13, 400, 49999999))
# print(res % ('kevin5', 14, 500, 59999999))
# print(res % ('kevin6', 15, 600, 69999999))
# print(res % ('kevin7', 16, 700, 79999999))
# print(res % ('kevin8', 17, 800, 89999999))
# print(res % ('kevin9', 18, 900, 99999999))
res1= 'my name is %s, my age is %s'
print(res1 % ('kevin', 10))
%s占位可以给任意的数据类型占位。
%d:它只能够给数字占位,不能给其他数据类型占位置。
print("my name is %s" % 11)