变量&基本数据类型 (全为重点)
1、变量
变量的基本使用
变量的三大组成部分
变量名命名规范
变量名命令风格
变量值的三个特征
id
tpye
值
is与==
小整数池
垃圾回收机制之引用计数
常量
2、基本数据类型
数字类型:int、float
字符串类型
列表类型
字典
----------上节课复习----------
解释器跟语言的关系:
1、python解释器是一款专门用来解释python这门语言的语法风格并执行
2、python语言编写的程序最终都是被解释器执行的,所以python语言更多的都是在调用python解释器的功能,解释器性能的高低,很大程度决定了python程序的执行效率的高低
-----------今日内容-----------
讲解套路:
1、XXX是什么?(what)
提取知识点名词中的关键字来加以解释
2、为什么要有它?(why)
大前提:
python中语言中出现的所有语法都是为了让计算机能够像人一样去做
3、如何用?(how)
------------正课------------
变量&基本数据类型 (全为重点)
一、变量
what:可以变化的事物的状态
why:为了让计算机记忆可以发生变化的事物
how:
1、变量基本使用(原则:先定义,后引用)
eg:name = 'egon' # 定义---》存;内存里定义了一个egon的小房间,捆绑房间号name,用房间号可以找到数值
print(name) # 引用---》取;用房间号可以找到里面的值
###!!!编程当中定义变量就是申请内存,不用的时候需要清理内存,不然会内存溢出。
2、内存管理:垃圾回收机制
没有关联任何变量名的值,垃圾指变量值不被任何变量名所绑定,无法被访问到
垃圾回收机制之引用计数
2.1、引用计数增加
增加同一个值与多个变量名的捆绑关系
x = 10 # 10的引用计数位1
y = x # 10的引用计数为2
z = x # 10的引用极速位3
2.2、引用计数减少
减少同一个值与n个变量名的捆绑关系
del x # 结束变量名x与值10的绑定关系,10的引用计数变为2,打印与y&z能访问到
del y # 10的引用计数变为1,z还能访问到
z = 12345 # 程序运行自上而下,先把跟10的绑定关系解除,跟12345绑定;10身上的引用计数变为0,此时10这个值变为垃圾,python会自动清除
变量的三大组成部分
1、变量名=》指向等号右侧值的内存地址,用来访问这个值
1.1、原则:简单有意义,见名知意。在见名知意的前提下,尽可能短。
1.2、命名规范:
1、只能是字母、数字或下划线的任意组合
2、不能是以数字开头
3、不能使用python当中的关键字(保留字符)
1.3、命令风格:
1、纯小写+下划线(python中,推荐使用这种命名方式)
eg:age_of_alex = 73
2、驼峰体(不使用下划线,每个单词首字母用大写的方式):
eg:AgeOfAlex = 73
###!!!不要用拼音以及中文,尽管不影响程序正常的运行,但是约定俗成,使用英文。
2、赋值符号=》将变量值的内存地址绑定给变量名
3、变量值=》记录的事物的状态
三个特征:
3.1、id:反应变量值的内存地址,内存地址不同则id不用(不是内存地址,而是内存地址的编号)
eg:print(id(name))
3.2、type(类型):不同类型的值用来表示记录不同的状态
eg:name = 'egon'
age = 18
salary = 3.1
print(type(name))
3.3、value(值):
is与==
eg:x = 'info : egon : 18'
y = 'info : egon : 18'
值相等,ID不同。两个不同的内存地址里,存放的值一样
is:比较左右两个值,身份id是否相等
eg:>>>x is y
False
==:比较左右两个值,他们的值是否相等
eg:>>>x == y
True
小整数池:从python解释器启动一颗开始,就会在内存中实现申请好一系列内存空间存放好常用的整数(-5到256)
eg:m = 10
n = 10
>>>m is n
True
为了优化IO操作,例如这个常用整数10,解释器已经在内存申请好这个小房间,所有赋值的变量名的值为(-5到256),is的结果都为True。
而pycharm扩大了小整数池(-5到256)的范围,在内存申请的范围更大。
###!!!具体以解释器的结果为准,因为程序真正使用是在解释器的环境下。
常量:不变的量
###!!!python语法中没有常量的概念,但在程序开发过程中会设计到常量的概念
eg:π&重力加速度
AGE_OF_ALXE = 73 # 约定俗成,小写之母全为大写代表常量。一定要改也可以改,但是是个人问题。
二、基本数据类型
1、数字类型
1.1、int(整型)
作用:记录整数型的数值
定义:age = 18
1.2、float(浮点型)
作用:记录小数型的数值
定义:salary = 3.3
height = 1.87
weight = 70.3
1.3、数值类型的其他使用
level = 1
level += 1
print(level)
print(10+3.3)
###!!!int与float之间可以相加(因为都是属于数字类型的);字符串与字符串相加,列表类型与列表类型也可以相加,但都仅限于同种类型才能相加。
2、字符串类型(str)
作用:记录描述性质的状态,描述人类能够识别的事物状态
定义:用引号(单,双,三单,三双)包含的一串字符,哪怕只是纯数字
其他使用:
字符串嵌套:外层用单引号,内层用双引号;反之亦然。
或者使用\转意符:
eg:print ('my name is \'egon\'')
字符串相加:效率极低
eg:print ('my name is '+'egon')
字符串也可相乘:
eg:print ('='*20)
3、列表类型(索引对应值,索引从0开始,0代表第一个,倒着取最后一个为-1)
以上类型的赋值只能存一个值,存多个值
eg:hobbies = ['read','music','play']
作用:按位置记录多个值,并且可以按照索引取值
定义:在[]内用逗号分开,多个任意类型的值,一个值称之为一个元素
eg:l = [10,3.1,'aaa',['bbb','ccc'],'ddd']
用法:
取值:
eg:print (l[0]) # 取列表l中的第一个元素
嵌套取值:
eg:print (l[3][1]) # 取列表l中的子列表中的第二个元素
倒数取值:
eg:print (l[-1]) # 取列表l中的最后一个元素
4、字典
列表索引反映的是顺序、位置,对值没有描述功能
key对应值,key通常位字符串类型,对值可以有描述性的功能
作用:用来存多个值,每个值都有唯一一个key与其对应,key对值有
定义:在{}内用逗号分开多个key:value
eg:{'a':1,'b':2}
取值:
eg:print (d['a'])
5、布尔类型(bool)
作用:用来记录真假这两种状态
定义:
eg:is_ok = True
is_ok = Flase
使用:通常用来当做判断的条件,将在if判断中使用到
关于pycharm快捷键的一些使用part01:
ctrl+d:复制当前行代码到下一行
ctrl+?:快速注释
pycharm当中下划线,红的是语法错误,白色的是代码不规范
PEP8:是pycharm当中美化
pycharm格式化代码:code--->reformat code
浙公网安备 33010602011771号