内存管理,数据类型的基本使用与基本运算符(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
總結
以上是生活随笔為你收集整理的内存管理,数据类型的基本使用与基本运算符(python2中与用户交互)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot+SpringSec
- 下一篇: .net使用SqlBulkCopy类操作