变量是为了让计算机能够像人一样去记忆事物的某种状态,而变量的值就是用来存储事物状态的,很明显事物的状态分成不同种类的(比如人的年龄,身高,职位,工资等等),所以变量值也应该有不同的类型
salary = 3.1 # 用浮点型去记录薪资 age = 18 # 用整型去记录年龄 name = 'kinght' # 用字符串类型去记录人名python中原本没有数字类型,这里只是为了更好的分类才列出来的
用来记录人的年龄,出生年份,学生人数等整数相关的状态
age = 18 birthday = 1990 student_count = 48 print(type(age)) #查看数据类型用来记录人的身高,体重,薪资等小数相关的状态
height = 172.3 weight = 103.5 salary = 15000.89 print(type(height)) #查看数据类型用来记录人的名字,家庭住址,性别等描述性质的状态,名字、一段话、信息、性别等
# 用引号包含的一串字符 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用来记录真假这两种状态,布尔一共就两个值True和False
它本身最大的作用就是来进行条件判断
0、none、空表示为假 其他表示为真也可以用于代表定义一些其他的值
#用真表示男,假表示女 name = {'name':'kinght','Gender':'True'}, name = {'name':'dimple','Gender':'False'}