1. 程式人生 > 實用技巧 >變數+資料型別+基本運算子

變數+資料型別+基本運算子

#昨日回顧:
# 1、程式語言分類:
# 機器語言
# 組合語言
# 高階語言
# 編譯型( c 、go)
# 解釋型(shell、python)
# 原始碼----直譯器----二進位制指令
# 2、執行python程式的三個步驟
# 啟動python直譯器
# python直譯器將檔案從硬碟載入到記憶體
# python將執行剛剛載入到記憶體的程式碼,識別python語法
# 3、註釋
# 4、變數
#
#
# 今日內容:程式 = 資料 + 功能
# 1、變數
# 2、基本資料型別
# 3、基本運算子
#
# 4、輸入輸出
#
# 5、流程控制之if判斷

#一、原則:先定義、後引用
#定義:age = 18
#三大組成部分
#變數名:用來找值
#賦值符號:將變數名的記憶體地址繫結給變數名
#變數值:就算我們儲存的資料,或者說記錄事物的狀態
#引用
#ptint(age)
#二、變數名
#命名的前提:變數名的命名應該見名知意
# age = 18
# count = 18
# level = 18
#命名的規範:
# 1、是以字母、數字、下劃線組成
# 2、不能以數字開頭
# 3、不能呢用python的關鍵字 (例:print = 123>>>print(print)是錯的

#level_of_age = 18
#_=19
#print(_) 最好別用下劃線開頭命名,雖然不是錯誤
#命名風格
# 1、駝峰體
# levelOfAge = 18
# 2、純小寫加下劃線(推薦)
# levelofage = 18
#三、變數值
#變數值的兩大特徵
age = 18
salary = 1.3

# res = age + 1
# print(res)
# >>>>>>>>>型別
# print(type(age))
# print(type(salary))
# >>>>>>>>>>>>id : 就是值在記憶體中的身份證號,id反應的就是記憶體
# print(id(age))
# print(id(salary))

# 如果兩個變數id一樣,證明就是同一個記憶體地址
# is : 判斷的是id是否相等
# == : 判斷的是值是否相等
# 注意:
# 如果id相等,證明就算同一個記憶體地址,值一定相等
# x = 1000
# y = x
# print(id(x))
# print(id(y))
# print(x is y)
# 如果值相等,id不一定相等。
# D:\python3>python
# Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
# Type "help", "copyright", "credits" or "license" for more information.
# >>> x = 1000
# >>> y = 1000
# >>> id(x)
# 2825205541616
# >>> id(y)
# 2825205541648
# >>>
# >>> x is y
# False
# >>> x == y
# True
# >>>
# 小整數池:互動式環境為 -5 ~ 256
# x = 10000000000
# y = 10000000000
# print(id(x))
# print(id(y))

#記憶體回收:垃圾回收機制GC
# 核心原理 引用計數
# 分代回收:提升效率
# 標記清楚:迴圈引用導致記憶體洩漏問題
# x = 100 #100的引用計數為1
# y = x # 100的引用計數為2
# y = 200 # 100的引用計數為1
# del x #100的引用計數為0

#四、常量
# AGE = 18
# AGE = 19
# print(AGE) python中全大寫代表常量,不可更改

# 基本資料型別
# 整型int
# 作用:年齡、個數、號碼
# age = 18

#浮點型float
#作用: 身高、梯種、薪資
# weight = 70.5

# 字串型別str
# msg1 = '我說天氣很好'
# msg2 = "我說天氣很好"
# msg3 = """我說天氣很好"""
# msg4 = '''
# 我說天氣很好
# 我說天氣很好
# '''
# msg5 = "'天氣很好':是的"
# print(type(msg5))>>>>>str
# print(msg5)>>>>>'天氣很好':是的
#
# gender = 'male'
# country = "china"

#列表型別list
#作用:
# 0 1 2 3
# l=[1,2,3.3,[666,888,000],'abcd']
# print(l[3])>>>>>>abcd
# print(l[3][0])>>>>>>>666

# 字典型別dict: {}用,逗號分隔開多個元素,每一個元素的組成都是key:value,其中value可以是
# 任意型別,key通常是字串型別
# d = {'k1':111,'k2':222,'k3':"abc",'k4':[11,22,33],
# 'k5':{'a':333,'c':[999,888],'b':444}}
# print(d['k1'])
# print(d['k4'][1])
# print(d['k5']['a'])
# print(d['k5']['c'][0])>>>>>111 22 333 999

# info = {"name":'liuyang',
# "age":23,
# "gender":'male',
# "level":'滿級'
# }
# print(info["level"])>>>>滿級

# 案例 存放多個同學資訊
# students = [
# {'name':'aaa','age':18,'gender':'male','weight':65},
# {'name':'bbb','age':19,'gender':'male','weight':66},
# {'name':'ccc','age':20,'gender':'male','weight':67}
# ]
# print(students[1]['age'])>>>>>19
# 布林型別
# 作用:記錄真假兩種狀態
# x = True
# x = False
# print(type(x))>>>>> bool

# 基本運算子
# 算數運算子
# salary = 5.5
# print(salary * 2)#不儲存
# res = salary*12 #賦值儲存
# print(res)
# print(1 + 2)>>>>3
# print(2 - 1)>>>>1
# print(2 * 3)>>>>6
# print(3 / 2)>>>>1.5
# print(10 // 3)>>>>3 # 取整
# print(10 % 3)>>>>1 # 取餘
# print(10 + 3.1)>>>>13.1
# print('abc' + 'def')>>>>abcdef 瞭解即可,不要用字串相加
# 比較運算子
# x = 10
# y = 10.0
# print(x == y)>>>>>True
# print(10 + [1,2,3])>>>>報錯
# print(10 == [1,2,3])>>>>>False 雙等號不限型別
# print(10 != [1,2,3])>>>>True