首页 > temp > python入门教程 >
-
四、变量与基本数据类型
考试10分钟:
1.机器语言、汇编语言、高级语言(编译型、解释型)语言在执行效率、开发效率、跨平台性等方面的高低对比
执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
跨平台性:机器语言<汇编语言<高级语言(编译型<解释型)
2.python解释器与python语言的关系
python解释器是一款应用程序,是专门用来解释python这门语言的语法风格并执行
python语言编写的程序最终都是被解释器解释执行的,所以我们可以这样说:python这门语言更多的是在调用python解释器的功能,所以解释器性能的高低很大程序上决定了我们用python语言写出来的程序的执行效率的高低
3.什么是环境变量PATH,它是用来干什么的?
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,如临时文件夹和系统文件夹位置等
Windows系统中的DOS命令中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。
4.运行python程序的两种方式
交互式
脚本的方式
5.一个python程序运行的三个步骤
1.启动python解释器,此时相当于启动了一个文本编辑器
2.python解释器将要文件内容,从硬盘读取到内存,此时文件中的字符全部被识别为普通字符,没有任何语法意义
3.python解释器开始解释执行刚刚读取到内存的文件,识别python语法
python程序运行的第三个阶段和文本编辑
6.注释的种类、注释的用途
单行注释,多行注释,用来解释代码的用途
两个问题:
1.基础阶段的学习,一定要沉住气,万事开头难
不要急于求成,构建知识体系非常重要
2.课堂听得懂,课下不会写?
老师讲的课至少70%-80%自己都要会讲出来
多练习,在学习完至少敲7万行代码,每节课的代码敲到背过为止
学习方法:
1.XXX是什么? 提取知识点名词中的关键字加以解释
2.为什么要用它 python语言中出现的所有语法,都是为了让计算机能够具备人的某一功能/像人一样去工作
3.如何用
今日内容概要:
day03:变量与基本数据类型
1.变量
变量的基本使用
变量的三大组成部分
变量名的命名规范
变量名的命名风格
变量值的三个特质
id
type
值
is 与 ==
小整数池(了解)
垃圾回收机制之引用计数
2.基本数据类型
数字类型:int、float
字符串类型
列表类型
字典
01 变量
一、什么是变量
变量就是可以变化的量,量是指事物的状态,比如人的年龄,性别,游戏角色的等级、金钱等
二、为什么要有变量
为了让计算机能够像人一样去记录事物的某种状态,并且状态是可以发生变化的
详细的说:
程序执行的本质就是一些列状态的变化,变是程序执行的直接提现,所以我们需要有一种机制,反映或者记录这种状态的变化
三、如何用变量
1.变量的基本使用
原则,先定义后引用
name = 'maren' #定义=》存 print(name) #引用=》取 age = 18 print(age)
2.内存管理:垃圾回收机制
垃圾:当一个变量值被绑定的变量名个数为0时,该变量值无法被访问到,成为之垃圾
引用计数增加:
x = 10 #10的引用计数为1 y = x #10的引用计数为2 z = x #10的引用计数为3
引用计数减少:
x = 10 y = x z = x del x #解除x与10的绑定关系,10的引用计数变为2 print(y) del y #解除y与10的绑定关系,10的引用计数变为1 print(z) z = 123434 #解除z与10的绑定关系,10的引用计数变为0 print(z)
3.变量的三大组成部分
变量名:是指向赋值符号右侧的内存地址的,用来访问赋值符号右侧内存地址的值
赋值符号:将变量值的内存地址绑定给变量名
变量值:代表记录事物的状态
4.变量名的命名规范
原则:变量名的命名应该见名知义
4.1: 变量名只能是字母、数字、下划线的任意组合
4.2 变量名的第一个字符不能是数字
4.3 关键字不能声明为变量,常用关键字:and,as,assert,break,class,continue,def,del,elif,pass,print,raise,return,try,while,with
age = 18 name = 'lili' #ps:不要用拼音,不要用中文,在见名知义的情况下,尽可能的短
5.变量名的命名风格
5.1 纯小写加下划线(在python中,关于变量名的命名推荐使用这种方法)
age_of_Alex = 73
print(age_of_Alex)
5.2 驼峰体
AgeOfAlfred = 73
print(AgeOfAlfred)
6.变量值的三个重要特征
6.1 变量值三个重要特征
name = 'alex' # id:反映的是变量值的内存地址,内存地址不同,id不同 print(id(name)) #type:不同类型的值,用来表示记录不同的状态 print(type(name)) #value:值本身 print(name)
6.2 is 与 ==
is 比较左右两个值的身份(id)是否相等
== 比较左右两个值是否相等
''' id不同的情况下,值有可能相同,即两块不同的内存空间里可以存相同的值 id相同的情况下,值一定相同 x is y => x = y ''' >>> x = 'info:Egon:18' >>> y = 'info:Egon:18' >>> print(x == y) True >>> print(x is y) False >>> print(id(x),id(y)) 31584880 31579440 >>> m = 10 >>> n = 10 >>> id(m) 8791418214448 >>> id(n) 8791418214448 >>> res = 4+6 >>> res 10 >>> id(res) 8791418214448 >>> x = -5 >>> y = -5 >>> x is y True >>> x = -6 >>> y = -6 >>> x is y False
小整数池(了解)[-5,256]
在python解释器启动的那一刻,会在内存中事先申请好一系列内存空间,存放好常用的整数
x = -6 y = -6 print(id(x)) print(id(y)) print(x is y) pycharm进一步为小整数池做了扩充,因此在pycharm中运行出来的是True,在cmd中运行出来的是False
7.常量:不变的量
注意:python的语法中没有常量的概念,但是在程序的开发过程中,经常会涉及到常量的概念
AGE_OF_ALEX = 73 #变量名中的小写字母全部变成大写,代表常量
02 基本数据类型
1.数字类型
1.1 整型 int
作用:记录年龄,身份证号,苹果的个数等等
定义:
age = 18
print(type(age))
1.2 浮点型
作用:记录薪资,身高、体重
定义:
salary = 3.5 height = 1.7 weight = 60.2 print(type(salary))
数字类型的其他使用
level = 1 level = level + 1 print(level) print(type(10+3.3)) #int与float可以直接相加 age = 19 print(age > 18)
2.字符串类型
作用:记录描述性质的状态,名字,一段话,性别
定义:用引号(' ' " " """ """)包含的一段字符串
info = """“ 天下只有两种人。比如一串葡萄到手,一种人挑最好的先吃,另一种人把最好的留到最后吃。 照例第一种人应该乐观,因为他每吃一颗都是吃剩的葡萄里最好的;第二种人应该悲观,因为他每吃一颗都是吃剩的葡萄里最坏的。 不过事实却适得其反,缘故是第二种人还有希望,第一种人只有回忆。 """ print(type(info)) name = 'egon' print(name) x = 18 print(type(x)) x = '18' print(type(x)) 'name' = 'Egon' #语法错误,等号左边是变量名,变量名是由字母数字下划线组成,不能有引号 xxx #不加引号,代表访问变量名 'xxx' # 加引号,代表的是值
其他使用
字符串的嵌套要注意:外层用单引号,内层应该用双引号,反之亦然
print(' my name is "maren" ') print("my name is 'maren'") print('my name is \'maren\' ')
字符串之间可以相加,但是仅限于str与str相加
代表字符串的拼接,了解即可,不推荐使用,效率极低
print('my name is ' + 'Egon') print('=' *20) print('hello world') print('=' * 20) #====================
3.列表类型
索引对应值,索引从0开始,0代表第一个
作用:按照位置记录多个值(同一个人的多个爱好,同一个班级所有的同学姓名,同一人12个月的工资),并且可以按照索引取指定位置的值
hobbies = 'read music play' print(hobbies)
定义:在中括号[]内,用逗号隔开多个任意类型的值,一个值称为一个元素
l = [10, 3.1, 'aaa', ['bbb', 'ccc'], 'ddd'] print(l) print(l[1]) print(l[2]) print(l[3][1]) print(l[4]) print(l[-1]) #取列表中的最后一个值 hobbies = ['read', 'music', 'play'] print(hobbies[2])
其他用途
students_info = [ ['tony',18,['read','music']], ['jack',18,['play','sleep']] ] # 取出第一个学生的第一个爱好 print(students_info[0][2][0])
索引反映的是顺序,位置,对值没有描述性的功能
info = ['Maren', 18, 'male'] print(info[0]) print(info[1]) print(info[2]) print(type[info])
4.字典类型
key对应值,其中key为字符串类型,所以key对值有描述性的功能
作用:用来存多个值,每个值都有一个唯一的key与其对应,key对值具有描述性功能
定义:在{}内用逗号隔开多个key:value
d = {'a': 1, 'b': 2} print(type(d)) print(d['a']) info = {'name': 'Maren', 'age': 18, 'salary': 2.3} print(info['name']) print(info['age']) print(info['salary']) students = [ {'name': 'tony', 'age': 19, 'hobbies': ['paly', 'sleep']}, {'name': 'jack', 'age': 15, 'hobbies': ['read', 'eat']}, {'name': 'rose', 'age': 34, 'hobbies': ['music', 'play', 'sleep']} ] print(students[1]['hobbies'][1])
5.布尔类型
作用:记录真假两种状态,通常用来做判断的条件,我们会在if判断条件中用到它
定义:
is_ok = True is_ok = False print(type(is_ok))
出处:https://www.cnblogs.com/MRPython/p/15146235.html