内存管理,数据类型的基本使用与基本运算符(python2中与用户交互)

1.CPython解释器的垃圾回收机制
什么是垃圾: 当一个值身上没有绑定任何变量名(该值的引用计数=0)时,该值就是一个垃圾

引用计数增加

age=18   #18的引用计数等于1
x=age     #18的引用计数等于2

 

引用计数减少

age=19   #18的引用计数等于1

 

del   x  #18的引用计数等于0

2.变量值的三个特征:

id: 反映的是内存地址

type: 数据类型

age=18

print(id(age))

print(type(age))

print(age)

 

总结:

  id相同,值一定相同

  值相同,id可以不同

3. is 与 == 

== : 值是否相同

is : id是否相同

is: 比较的是id

而 == : 比较的是值

 

4. 可变与不可变类型

可变类型: 值改变,id不变,证明就是在改变原值

不可变类型: 值改变,id也变,证明根本不是在改变原值,是创建了新值,原值就是不可变类型

 

***************************************************************************************************************

1.python2中与用户交互

在Python3中只有input
特点: 会用户输入的任意内容都存成str类型

2. 在python 中只有一个raw_input,与python3的input一模一样

但要求用户必须输入一个明确的类型,输入什么类型就存成什么类型

 

 

************************************************************************************************************

数据类型的基本使用

一: 数字类型

整型 int 
作用: 用来记录年龄,等级,各种号码状态

定义: 

age=10  # age=int(10)

print(type(age))

使用:

print(age + 1)
print(age > 3)

 

2. 浮点型  float

作用: 用来记录身高,体重,工资状态

定义: 

 salary=3.1 #salary=float(3.1)

 print(type(salary))

使用:

 print(3.1 + 2.3)

 print(3.1 > 2.3)

 print(3.1 > 2)

 print(3.1 + 2)

 

二: 字符串类型  str

作用: 用来记录描述性状态,比如名字,性别
定义:在单引号('')、双引号("")、三引号内(''' ''',""" """),包含一系列的字符

 

x='abc'      # x=str('abc')

print(type(x))

 

y="abc"

 

z="""

abc xxxx

"""

 

print(type(x))

print(type(y))

print(type(z))

 

 

msg='my name is "egon"'

使用:

print('abc'+'def') # 仅限于str类型直接相加

print('abc'*10) # *的只能是数字

 

了解:ASCII表

x='abcdef'

y='z'

print(x > y)

print('a' > 'Z' )

print('a' > 10 )

 

三: 列表类型   list

作用: 用来记录多个值,用索引对应值,索引反映的是位置

定义: 在[]内用逗号分隔开多个任意类型的值

 

l=[1,3.1,'xxx',['a','b','c']] #l=list(...)

print(type(l))

使用

print(l[0])

print(l[2])

print(l[3][0])

 

students_info=[

['egon',18,['play',]],

['alex',18,['play','sleep']] ]

 

print(students_info[1][2][0])

 

四 : 字典类型  dict


作用: 用来记录多个值,用key对应value,其中key对value有描述性的功能
定义: 在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型的值,而key通常应该是str类型
d={'x':1,'y':3.1,'z':['a','b'],'m':{'aaa':1111}} #d=dict(...)
print(type(d))
使用:
print(d['x'])
print(d['m']['aaa'])
print(d['z'][1])

 

五: 布尔类型:  True ,Flase

所有数据类型自带布尔值

布尔值为假的数据类型: 0 ,空 , None

 

六: None

print(type(None))

 

***************************************************************************************************

 

基本运算符
一. 比较运算符

>   >= 

<   <=

== 

!=

 

了解

 

x=None

print(x==None)      True 

print(x is None)      True

 

二: 逻辑运算符

and: 连接左右两个条件,只有两个条件同时成立时and运算的结果为True

 

or : 连接左右两个条件,两个条件成立任意一个or运算的结果为True

 

not: 将后面的条件取反

 

原文地址:https://www.cnblogs.com/huangchaonan/p/9983647.html