1. 程式人生 > >python變數,id(),is運算子

python變數,id(),is運算子

python變數無需宣告資料型別,可以直接賦值使用。

比如:

num=100 #整數

str="字串" #字串

turple1 =('mon','tue','wed','thu') #元組

list1 = [2,3,'a','bdse'] #list列表

dict1 = {'title':"python","date":"2018-11-03"}#dict字典

set = {1,2,3,4} #set集合

 

python變數實際儲存的是記憶體地址,python提供函式 id() 檢視變數指向的記憶體地址,is運算子檢視兩個變數是否指向同一地址。

 

#coding:utf-8
#/usr/bin/python
"""
2018-11-03
dinghanhua
變數,資料型別
"""

'''python是弱型別語言,變數無需指定資料型別
所有的變數都是引用型別,是記憶體地址指標,保持的是記憶體中物件的地址
記憶體中物件分為可變型別和不可變型別'''

'''不可變資料型別如整數、浮點數、字串、布林值、元組
一樣的值賦值給不同的變數指向同一個地址'''
i =100
j = 100
str1 = 'string'
str2 = 'string'
turple1 = (1,2,3)
turple2 = (1,2,3)
'''id()列印變數地址,is判定變數是否指向同一個記憶體地址
''' print(id(i),id(j),id(i)==id(j),i is j) print(id(str1),id(str2),id(str1)==id(str2),str1 is str2) print(id(turple1),id(turple2),id(turple1)==id(turple2),turple1 is turple2)
'''可變資料型別如list,dict 一樣的值賦值給不同的變數指向不同的地址''' list1 =[1,2,3] list2 =[1,2,3] print(id(list1),id(list2),id(list1)==id(list2),list1 is
list2) set1 = {1,2,3} set2 = {1,2,3} print(id(set1),id(set2),id(set1)==id(set2),set1 is set2 ) dict1 = {'title':"python","date":"2018-11-03"} dict2 = {'title':"python","date":"2018-11-03"} print(id(dict1),id(dict2),id(dict1)==id(dict2),dict1 is dict2 )

 

 

the end!