01-Python數(shù)據(jù)類型&變量&運算符&分支語句IF

一向挖、Python中的數(shù)據(jù)類型

計算機顧明思議就是可以做數(shù)學運算的機器,因此計算機理所當然的可以處理各種數(shù)據(jù),但是計算機能處理的遠遠不止數(shù)值,還有文本,圖形,音頻,視頻網(wǎng)頁等各種數(shù)據(jù), 不同數(shù)據(jù)需要定義不同的數(shù)據(jù)類型

Number【數(shù)字:整型int穴墅,浮點型[小數(shù)]float三娩,復數(shù)類型complex】

String【字符串】

Boolean【布爾類型】 True真(1), Flase假(0)

None【空值】

list【列表】 類似c語言的數(shù)組

tuple【元組】 不可改變的列表

dict【字典】

set【集合】(了解)

bytes【字節(jié)】

二蜘矢、常量和變量

1.常量

定義:在程序運行的過程中高镐,值永遠不會發(fā)生改變

print(2)
print(2.3)
print(3+5)

print("hello")
print(True)

2.變量

2.1. 概念

定義:程序在運行的過程中目养,值可以隨時發(fā)生改變

作用:存儲數(shù)據(jù),參與運算

2.2. 定義

定義格式:變量名 = 初始值

說明:

? 變量名: 對于每一個變量财异,需要給他定義一個名稱倘零,定義的規(guī)則就是標識符的規(guī)則

? =: 賦值運算符【主要是為了給變量進行賦值】

? 初始值:第一次給變量賦予的值,在程序運行的過程中戳寸,這個值可以隨時發(fā)生改變,同時確定了變量的數(shù)據(jù)類型

舉例:age = 10

? age是變量名【引用】呈驶,10是初始值Python中的變量的定義和數(shù)學中變量的定義完全一致

x = 3
y = 4
print(x * y)

x = "abc"
# print(x)

# 【擴展】
# Python被稱為弱類型語言,動態(tài)改變變量的數(shù)據(jù)類型疫鹊,容錯性比較高
# Java被稱為強類型語言袖瞻,只要變量被定義,它的數(shù)據(jù)類型將不能發(fā)生任何的改變
# 在Java中定義變量:
# int x = 3
# x = "hello"  # 報錯

2.3. 變量的使用

代碼演示:

#1
#需求:定義一個變量拆吆,名字為age聋迎,類型為整型,初始值為18
age = 18
print(age)

#需求:定義一個變量枣耀,名字為str霉晕,類型為string,初始值為hello
str = "hello"

#布爾型
b = True

#2
#變量在程序運行的過程捞奕,值可以隨時發(fā)生改變
str = "abc"

#3
#關于變量的命名
student_name = "zhangsan"
studentName = "zhangsan"

#4
#注意:變量必須先定義牺堰,然后再使用
#print(num)   #NameError: name 'num' is not defined

#5
#類似于變量的定義,將常量定義出來
print(10)
print(10 + 4)
print(10 * 8)

#注意:命名規(guī)范颅围,遵循常量命名法:字母全部大寫
NUM1 = 10
print(NUM1)
print(NUM1 + 4)
print(NUM1 * 8)

#NUM1 = 20

#6
#如果一個表達式需要被重復使用萌焰,每次都計算比較麻煩,可以先將表達式的值用一個新的變量保存起來
x = 3
y = 4
print(3 * 4)
print(x * y)
print(x * y)
print(x * y)

result = x * y
print(result)
print(result)
2.5.刪除變量

注意:當定義一個變量,然后刪除谷浅,相當于這個變量未被定義

代碼演示:

#定義變量
num = 66
print(num)

#刪除變量
#del
#變量被刪除之后則相當于這個變量未被定義
del num
print(num)
2.6.關鍵字

關鍵字: 在Python中扒俯,已經(jīng)被賦予了特殊含義的英文單詞

import keyword
print(keyword.kwlist)

python中的關鍵字共33個:

? False class finally is return None continue for lambda try

? True def from nonlocal while and del global not with

? as elif if or yield assert else import pass

? break except in raise

2.7.標識符

標識符: 在Python程序中自定義的一些英文單詞, 如:變量名,函數(shù)名

定義合法標識符的規(guī)則:

? a.只能由數(shù)字,字母一疯,下劃線組成撼玄,不可以是其他的特殊字符【%,&墩邀,*掌猛,空格等】

? b.開頭不能是數(shù)字

? c.不能是關鍵字

? d. 嚴格區(qū)分大小寫 例如: age和Age是兩個不同的標識符

定義標識符的規(guī)范:

? a. Python官方要求:全部用小寫字母,不同單詞之間使用下劃線分隔 stu_score

? 遵循駝峰命名法【不同的單詞之間使用首字母大寫的方式進行分隔】,小駝峰荔茬,大駝峰

? 例如:stuScore StuScore

? b.盡量做到見名知意

? 【注意:規(guī)則和規(guī)范的區(qū)別】

作用:給變量废膘,函數(shù)等命名,為了進行區(qū)分

練習:判斷下面標識符合法是否

? xiaoming 合法

? $abc 不合法 慕蔚,有特殊字符

? abc_hello 合法

? 1score 不合法丐黄,數(shù)字不能開頭

? score123 合法

擴展:

? 其他標識符的命名規(guī)則:

? 常量: 常量名所有字母大寫,由下劃線連接各個單詞如MAX_OVERFLOW孔飒,TOTAL

? 函數(shù)&方法: 函數(shù)名應該為小寫灌闺,可以用下劃線風格單詞以增加可讀性。如:my_function坏瞄,my_example_function桂对。

? 文件名: 全小寫,可使用下劃線

? 包: 應該是簡短的、小寫的名字鸠匀。如果下劃線可以改善可讀性可以加入

? 模塊: 與包相同

? 類: 總是使用首字母大寫單詞串蕉斜。如MyClass。內(nèi)部類可以使用額外的前導下劃線

? 全局變量: 對于from M import *導入語句缀棍,如果想阻止導入模塊內(nèi)的全局變量可以使用舊有的規(guī)范蛛勉,在全局變量上加一個前導的下劃線。

   特定命名方式:   主要是指 __xxx__ 形式的系統(tǒng)保留字命名法睦柴。項目中也可以使用這種命名诽凌,它的意義在于這種形式的變量是只讀的,這種形式的類成員函數(shù)盡量不要重載坦敌。
2.8. 特點

a.值是隨時可以改變

b.使用變量必須在內(nèi)存中開辟空間

c.變量可以存儲可變數(shù)據(jù)

2.9.意義

計算機存在的意義就是為了解決生活中的一些數(shù)據(jù)侣诵,這些用變量存儲

三、輸入輸出

1.print輸出

作用:將一些特定的數(shù)據(jù)輸出到屏幕上【調試工具】

代碼演示:

#簡單用法:每次只輸出一個數(shù)據(jù)狱窘,任何類型都可以
print(10)
print("hello")

#可以通過一條print輸出多個數(shù)據(jù),使用逗號隔開杜顺,最終得到的結果將逗號識別成了空格
print(10,"hello")

x = 3
y = 4
print("x + y = ",x + y)

2.input輸入

作用:可以將外部的值作為程序中變量的值使用【從控制臺獲取值】

代碼演示:

#注意:當程序執(zhí)行到input的時候,程序會停止在這個地方蘸炸,等待用戶的輸入躬络,
# 當內(nèi)容輸入結束之后蕊蝗,按下enter克婶,此時輸入結束
#用戶輸入的值可以通過變量的形式保存起來
str = input("請輸入內(nèi)容:")
print(str)

name = input("請輸入姓名:")
age  = input("請輸入年齡:")
print(name,age)


#需求;根據(jù)控制臺輸入的年齡計算還能活多少年
death_age = 100

#注意:通過input獲取的數(shù)據(jù)全部都是字符串
age1 = input("請輸入現(xiàn)在的年齡:")
print(death_age - age1)


#字符串和整型之間的轉換
"""
int:integer,整型,
str:string,字符串

轉換
int()  將字符串轉換為整型
str()   將整型轉換為字符串
float() 將整型或者字符串轉換為浮點型【小數(shù)】
"""

#修改上面的獲取結果的語句
print("還可以活",death_age - int(age1),"年")
print("還可以活",str(death_age - int(age1)),"年")


#練習:從控制臺輸入兩個數(shù)阱表,計算兩個數(shù)的和淹禾,并將結果輸出
num1 = int(input("請輸入第一個數(shù):"))
num2 = int(input("請輸入第二個數(shù):"))
print(num1 + num2)
result = num1 + num2
print(result)

四馁菜、運算符和表達式

1.表達式

操作數(shù)和運算符組成

1 + 3

1 / 2

作用: 表達式可以求值,也可以給變量賦值

2.運算符

2.1. 算術運算符
+   -    *【乘法】   /【除法】   %【求余铃岔,取耐舸】  **【求冪】  //【取整】

代碼演示:

num1 = 5
num2 = 3
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)  #浮點型:1.6666666666666667    默認精度16位
print(num1 % num2)  #2
print(num1 ** num2) #5的3次方
print(num1 // num2) #獲取浮點數(shù)的整數(shù)部分

#除了+和-之外,其他的算術運算符都是相同的優(yōu)先級
#出現(xiàn)優(yōu)先級,解決辦法使用括號
print(2 ** 5 * 3)
2.2. 賦值運算符

簡單賦值運算符:= 給一個變量進行賦值

復合賦值運算符:+= -= %= /= ....... 給一個變量進行賦值智嚷,同時給變量進行相應的運算

代碼演示:

#簡單
num1 = 10
#注意:在賦值運算符中卖丸,先計算等號右邊的表達式,然后將計算的結果賦值給等號左邊的變量
num2 = num1 + 10
print(num2)

#復合
num3 = 10
num3 += 100   #等價于num3 = num3 + 100
print(num3)
2.3. 關系【條件盏道,比較】運算符

作用:比較大小稍浆,得到結果為布爾值【如果表達式成立,則返回True摇天,如果不成立,則返回False】

>     <     >=    <=    ==【恒等號】    != 【不等于】 

使用場景:if語句恐仑,循環(huán)

代碼演示:

x = 3
y = 5
print(x > y)    #False
print(x < y)

print(x == y)
print(x != y)

print(x >= y)  #False
print(x <= y)  #True
2.4. 邏輯運算符

and : 與

or: 或

not:非

2.5. 成員運算符和身份運算符

成員運算符:

? in, not in

身份運算符:

? is, is not

2.6. 位運算符【擴展】

前提:將數(shù)字轉換為二進制使用

&【按位與】 |【按位或】 ^【按位異或】 ~【按位取反】 << 【左移】 >>【右移】

代碼演示:

print(6 & 3)
print(6 | 3)
print(6 ^ 3)
print(~6)
print(6 << 2)
print(6 >> 2)

五泉坐、if語句

1.代碼結構

順序結構:代碼從上往下依次執(zhí)行

分支結構:根據(jù)不同的條件,執(zhí)行不同的語句

循環(huán)結構:根據(jù)指定的條件裳仆,重復執(zhí)行某段代碼

2.分支結構-if語句

2.1簡單if語句【單分支】

語法:

if 表達式:

? 執(zhí)行語句

說明;要么執(zhí)行腕让,要么不執(zhí)行,當表達式成立的之后歧斟,則執(zhí)行語句纯丸;如果表達式不成立,則直接跳過整個if語句繼續(xù)執(zhí)行后面的代碼

注意:表達式為真才執(zhí)行語句

? 假:0 0.0 False “” None【空值】

? 一般情況下静袖,表達式使用都是比較運算符

代碼演示:

#單分支
num1 = 50
num2 = 60

#需求:當num1 == num2,則給num1重新賦值為100

#在pYthon中觉鼻,通過縮進來區(qū)分代碼塊
if num1 != num2:
    num1 = 100

print(num1)


#練習:從控制臺輸入一個數(shù),判斷這個數(shù)是否是偶數(shù)
num = int(input())
if num % 2 == 0:
    print(num,"是一個偶數(shù)")

print(num,"不是一個偶數(shù)")
2.2if-else語句【雙分支】

語法:

if 表達式:

? 執(zhí)行語句1

else:

? 執(zhí)行語句2

說明:如果表達式成立队橙,則執(zhí)行語句1坠陈;如果不成立,則執(zhí)行語句2

代碼演示:

#雙分支
#  從控制臺輸入一個數(shù)捐康,判斷這個數(shù)是否是偶數(shù)
num = int(input())

if num % 2 == 0:
    print(num,"是一個偶數(shù)")
else:
    print(num,"不是一個偶數(shù)")


#練習:從控制臺輸入一個數(shù)字仇矾,根據(jù)數(shù)字打印年齡段
age = int(input())
if age >= 18:
    print("成年人")
else:
    print("未成年人")
2.3if-elif-else語句【多分支】

語法:

if 表達式1:

? 執(zhí)行語句1

elif 表達式2:

? 執(zhí)行語句2

elif 表達式3:

? 執(zhí)行語句3

。解总。贮匕。。花枫。

else:

? 執(zhí)行語句n

說明:實現(xiàn)了多選一的操作刻盐,會根據(jù)不同的條件從上往下來進行匹配,如果匹配上了劳翰,則執(zhí)行對應的語句隙疚,然后直接結束整個if-elif語句,但是磕道,如果所有的條件都不成立的話供屉,則執(zhí)行else后面的語句

注意:不管if-elif-else有多少個分支,都只會執(zhí)行其中的一個分支

代碼演示:

#多分支
#需求:從控制臺輸入一個數(shù)字,根據(jù)數(shù)字打印年齡段
age = int(input())
if age < 0:
    print("輸入有誤")
elif age <= 3:
    print("嬰兒")
elif age <= 6:
    print("兒童")
elif age <= 12:
    print("青少年")
elif age <= 18:
    print("青年")
else:
    print("hello")
#練習:根據(jù)控制臺輸入的成績伶丐,輸出對應的等級
"""
90以上:優(yōu)秀
80~90:良好
70~80:還行
70以下:加油吧悼做,少年
"""
score = int(input("請輸入學生的成績:"))
if score >= 90:
    print("優(yōu)秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("還行")
else:
    print("")


#容易出現(xiàn)的問題:冒號     中文     空格
2.4三者之間的區(qū)別

代碼演示:

#三者之間的區(qū)別
n = 3

#多分支:多選一
if n > 1:
    print("a")
elif n > 2:
    print("b")
elif n > 3:
    print("c")
else:
    print("d")
#a

#單分支:要么執(zhí)行,要么不執(zhí)行
if n > 1:
    print("a")
#a
if n > 2:
    print("b")
#b

#雙分支:實現(xiàn)二選一
if n > 3:
    print("c")
else:
    print("d")
#d
2.5嵌套if語句

語法:

if 表達式1:

? 執(zhí)行語句1

? if 表達式2:

? 執(zhí)行語句2

說明:if語句的嵌套哗魂,可以在單分支肛走,雙分支,多分支之間進行任意組合

代碼演示:

score = int(input("請輸入學生的成績:"))
if score < 0 or score > 100:
    print("輸入有誤")
else:
    if score >= 90:
        print("優(yōu)秀")
    elif score >= 80:
        print("良好")
    elif score >= 70:
        print("還行")
    else:
        print("")


age = int(input("請輸入年齡:"))
looks = input("請輸入您的相貌:")

if age >= 18:
    if looks == "美女":
        print("要微信")
    else:
        print("略過")

注意:從語法角度來說录别,嵌套的層數(shù)沒有任何的限制朽色,但是,為了代碼的可讀性和可維護性组题,嵌套層數(shù)不要超過3層

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末葫男,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子崔列,更是在濱河造成了極大的恐慌梢褐,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赵讯,死亡現(xiàn)場離奇詭異盈咳,居然都是意外死亡,警方通過查閱死者的電腦和手機边翼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進店門鱼响,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人组底,你說我怎么就攤上這事热押。” “怎么了斤寇?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵桶癣,是天一觀的道長。 經(jīng)常有香客問我娘锁,道長牙寞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任莫秆,我火速辦了婚禮间雀,結果婚禮上,老公的妹妹穿的比我還像新娘镊屎。我一直安慰自己惹挟,他們只是感情好,可當我...
    茶點故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布缝驳。 她就那樣靜靜地躺著连锯,像睡著了一般归苍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上运怖,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天拼弃,我揣著相機與錄音,去河邊找鬼摇展。 笑死吻氧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的咏连。 我是一名探鬼主播盯孙,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祟滴!你這毒婦竟也來了振惰?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤踱启,失蹤者是張志新(化名)和其女友劉穎报账,沒想到半個月后研底,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體埠偿,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年榜晦,在試婚紗的時候發(fā)現(xiàn)自己被綠了冠蒋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡乾胶,死狀恐怖抖剿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情识窿,我是刑警寧澤斩郎,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站喻频,受9級特大地震影響缩宜,放射性物質發(fā)生泄漏。R本人自食惡果不足惜甥温,卻給世界環(huán)境...
    茶點故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一锻煌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姻蚓,春花似錦宋梧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽释涛。三九已至,卻和暖如春跺讯,著一層夾襖步出監(jiān)牢的瞬間枢贿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工刀脏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留局荚,地道東北人。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓愈污,卻偏偏與公主長得像耀态,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子暂雹,可洞房花燭夜當晚...
    茶點故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 一首装、Python中的數(shù)據(jù)類型 計算機顧明思議就是可以做數(shù)學運算的機器,因此計算機理所當然的可以處理各種數(shù)據(jù),但是計...
    hollow_02f9閱讀 708評論 0 0
  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,793評論 2 16
  • 一杭跪、Python中的數(shù)據(jù)類型 計算機顧明思議就是可以做數(shù)學運算的機器,因此計算機理所當然的可以處理各種數(shù)據(jù),但是計...
    墨雨love薏雪閱讀 252評論 0 1
  • 輸出兩頁仙逻,行為move,列為type,N表示非缺失值個數(shù) 為了方便觀察,數(shù)據(jù)按照move type排序輸出 for...
    阿發(fā)貝塔伽馬閱讀 2,169評論 0 1
  • 上回說到小棉襖準備好競選稿涧尿、背誦好了競選詞后高高興興地蹦噠去學校準備競選啦系奉! 這不等我下班回到家,小棉襖正在家看電...
    孩子王賀利君閱讀 249評論 1 0