变量是为了让计算机能够像人一样去记忆事物的某种状态,而变量的值就是用来存储事物状态的,很明显事物的状态分成不同种类的(比如人的年龄,身高,职位,工资等等),所以变量值也应该有不同的类型
salary = 3.1 # 用浮点型去记录薪资
age = 18 # 用整型去记录年龄
name = 'kinght' # 用字符串类型去记录人名
数字类型
python中原本没有数字类型,这里只是为了更好的分类才列出来的
int整型
用来记录人的年龄,出生年份,学生人数等整数相关的状态
age = 18
birthday = 1990
student_count = 48
print(type(age)) #查看数据类型
float浮点型
用来记录人的身高,体重,薪资等小数相关的状态
height = 172.3
weight = 103.5
salary = 15000.89
print(type(height)) #查看数据类型
进制相关
# 进制显示
# 二进制 0b
# 八进制0o
# 十六进制0x
# 进制转换(括号内为待转换的值)
# 转换为二进制bin()
# 转换为八进制oct()
# 转换为十进制int()
# 转换为十六进制hex()
整数与浮点数计算
#整数+浮点数=浮点数
print(10+1.1) # int和float之间可以想加
print(age > 18)
#整数/浮点数=浮点数
print(3/2) # 1.5
#整数//浮点数=整数(整除,进行整除时会把不够的值抛弃掉)
print(1//2) # 0
字符串类型str
用来记录人的名字,家庭住址,性别等描述性质的状态,名字、一段话、信息、性别等
# 用引号包含的一串字符
name = 'Tony'
address = '上海市浦东新区'
sex = '男'
# 用单引号、双引号、多引号,都可以定义字符串
#1、需要考虑引号嵌套的配对问题
msg = "My name is Tony , I'm 18 years old!" #内层有单引号,外层就需要用双引号(反之亦然)
msg = "My name is Tony , I\'m 18 years old!" #使用反斜杠来转义引号
#2、多引号可以写多行字符串
msg = '''
天下只有两种人。比如一串葡萄到手,一种人挑最好的先吃,另一种人把最好的留到最后吃。
照例第一种人应该乐观,因为他每吃一颗都是吃剩的葡萄里最好的;第二种人应该悲观,因为他每吃一颗都是吃剩的葡萄里最坏的。
不过事实却适得其反,缘故是第二种人还有希望,第一种人只有回忆。
'''
变量名与字符串值的区别
区别在于是否有引号
name # 被认为是name变量(python不能只定义变量不赋值)
'name' # 被认为是值(python可以直接写值,但由于引用计数为0,写完即毁)
字符串相加
字符串之间使用加号是拼接含义,且只能字符串与字符串之间进行(字符串相加效率底,所以不推荐使用)
x = 'my name is'
y = ' kinght'
print(x+y)
#输出:my name is kinght
字符串相乘
字符串相乘含义是字符串重复
print('helloworld\n'*10)
#输出结果
helloworld
helloworld
helloworld
helloworld
helloworld
helloworld
helloworld
helloworld
helloworld
helloworld
列表类型
需要用一个变量记录多个学生的姓名,用数字类型是无法实现,字符串类型确实可以记录下来,比如stu_names=‘张三 李四 王五’
但存的目的是为了取,此时若想取出第二个学生的姓名实现起来相当麻烦,而列表类型就是专门用来记录多个同种属性的值(比如同一个班级多个学生的姓名、同一个人的多个爱好等),并且存取都十分方便
作用
记录多个值,并且可以按照索引取指定位置的值
#在[]内用逗号进行分隔多个任意类型的值,并且一个值称为一个元素
#列表内布可以嵌套列表
demo=[10,3.14,'aaa',[111,'bbb']]
#取值是索引对应值,索引从0开始,0代表第一个
print(demo[1]) #取值3.14 索引从0开始,即1取第二个值
print(demo[3]) #取值[111,'bbb']
print(demo[3][1]) #取值'bbb' 即demo索引3号列表的,1号索引
#倒数取值
print(demo[-1]) #取值取值[111,'bbb'] 取倒数第一个
字典类型
需要用一个变量记录多个值,但多个值是不同属性的,比如人的姓名、年龄、身高,用列表可以存,但列表是用索引对应值的,而索引不能明确地表示值的含义,这就用到字典类型
字典类型是用key:key可以对value有描述性的功能,value形式来存储数据
#定义:在{}内用逗号分隔多个key:value
#存储方式{key:value}
person_info={'name':'kinght','age':22,'height':183}
#取值使用key
print(person_info['name']) #取值为kinght
字典与列表的嵌套
#字典可以嵌套,嵌套取值如下(假设取学生信息)
students = [
{'name':'kinght','age':22,'hobbies':['play','sleep']},
{'name':'tony','age':20,'hobbies':['play','eat']},
{'name':'Tom','age':21,'hobbies':['play','red']},
]
print(students[0]['hobbies'][1]) #取第一个学生的爱好的第二个sleep
布尔bool
用来记录真假这两种状态,布尔一共就两个值True
和False
它本身最大的作用就是来进行条件判断
0、none、空表示为假
其他表示为真
也可以用于代表定义一些其他的值
#用真表示男,假表示女
name = {'name':'kinght','Gender':'True'},
name = {'name':'dimple','Gender':'False'}