Python基礎(chǔ)--注釋和變量以及基本類型

本人從Java入世,所以在學(xué)習(xí)Python時(shí)會(huì)融入一些Java的概念方便自身的理解,對(duì)于Java程序員來說更加友好一點(diǎn)渴逻。

一、注釋

????任何語(yǔ)言都有注釋音诫,注釋的目的是為了:闡述代碼的功能是什么惨奕,做了什么,以及如何做的竭钝。分為單行注釋多行注釋兩種梨撞。Python單行注釋是通過#來標(biāo)識(shí)。多行注釋通過三對(duì)單引號(hào)'或雙引號(hào)"構(gòu)成蜓氨。

# 這是python的單行注釋
print("這是python的單行注釋")

"""
這是python的多行注釋
"""
print('這是雙引號(hào)的"python都多行注釋')

'''
這是python的多行注釋
'''
print("這是單引號(hào)的'python都多行注釋")

執(zhí)行效果:

注釋

二聋袋、變量和類型

Python中的類型分為:數(shù)字(整數(shù)和浮點(diǎn)數(shù))布爾(bool)穴吹、字符串幽勒、列表字典港令、元組啥容。
Python中都變量類型無需聲明锈颗,即不需要像java中那樣去聲明具體類型如int num = 0,甚至不需要像JavaScript中那樣去聲明變量,如var num = 0咪惠。Python中只需要直接命名變量击吱,變量的類型由等號(hào)后面的值決定。不需要任何的聲明遥昧。

變量類型

三覆醇、數(shù)字

Python2中,整數(shù)的大小是有限制的炭臭,即當(dāng)數(shù)字超過一定的范圍不再是int類型永脓,而是long長(zhǎng)整型,而在Python3中鞋仍,無論整數(shù)的大小長(zhǎng)度為多少常摧,統(tǒng)稱為整型int

1.整型(int)

Python中威创,可對(duì)數(shù)字型執(zhí)行加(+)落午、減(-)、乘(*)肚豺、除(/)運(yùn)算溃斋。Python中使用兩個(gè)乘號(hào)表示乘方運(yùn)算。
在終端命令行中详炬,Python會(huì)直接返回運(yùn)算結(jié)果盐类。

# 加
>>> 2 + 3
5
# 減
>>> 3 - 2
1
# 乘
>>> 2 * 3
6
# 除
>>> 3 / 2
1.5 
# 乘方 pow(x, y) :x 的 y 次冪
>>> 2 ** 3
8
>>> pow(2, 3)
8
# 取模,取得余數(shù)
>>> 7 % 3
1
# 整除呛谜,向下取整
>>> 10 // 3
3
>>> 9 // 2
4

使用IDE我們需要借助到輸出方法:print()在跳。
注意:Python中對(duì)輸出語(yǔ)句為:print(),在Python2中可帶括號(hào)可不帶括號(hào),但是在Python3中必須使用括號(hào)隐岛。我使用的版本是:Python3.8猫妙。

整數(shù)的運(yùn)算

2.浮點(diǎn)型(float)

Python將所有帶小數(shù)點(diǎn)的數(shù)字都稱為浮點(diǎn)數(shù)。同樣Python并沒有解決浮點(diǎn)型計(jì)算時(shí)導(dǎo)致的喪失精度的問題因?yàn)檫@本就是二進(jìn)制計(jì)算的問題聚凹。Python也同java一樣通過Decimal方法解決精度計(jì)算的問題割坠。

# 加
>>> 0.2 + 0.2
0.4
# 減
>>> 1.2 - 0.1
1.0999999999999999
# 乘
>>> 2 * 0.1
0.2
# 除
>>> 2 / 0.2
10.0

# 損失精度
# 加
>>> 0.2 + 0.1
0.30000000000000004
# 乘
>>> 3 * 0.1
0.30000000000000004
# 乘方 pow(x, y) :x 的 y 次冪
>>> 0.2 ** 3
0.008000000000000002
>>> pow(0.2, 3)
0.008000000000000002

Java不同在與字符串的拼接中Python不會(huì)自動(dòng)轉(zhuǎn)換所以會(huì)出現(xiàn)錯(cuò)誤所以只能借助外力來解決。
通過借助函數(shù)str()來避免類型轉(zhuǎn)換問題妒牙。

反例:

>>> message = "快樂的生活是一輩子," + 1314 + "不計(jì)一時(shí)彼哼。"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

正例:

>>> message = "快樂的生活是一輩子," + str(1314) + "不計(jì)一時(shí)。"
>>> print(message)
快樂的生活是一輩子,1314不計(jì)一時(shí)湘今。

注:在Python2中整數(shù)的除法不會(huì)保留小數(shù)位敢朱,只保留整數(shù)位。要保留小數(shù)位就需要使用浮點(diǎn)型。

# python2.7
>>> 3 / 2
1
>>> 3.0 / 2
1.5
>>> 3 / 2.0
1.5
>>> 3.0 / 2.0
1.5

3.復(fù)數(shù)(complex)

復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分組成拴签,一般形式為x+yj孝常,其中的x是復(fù)數(shù)的實(shí)數(shù)部分,y是復(fù)數(shù)的虛數(shù)部分蚓哩,這里的xy都是實(shí)數(shù)构灸。

>>> complex(7, 8)
(7+8j)

注:Python中存在小數(shù)字池:-5 ~ 257。也稱為小整數(shù)緩存機(jī)制岸梨,或者稱為駐留機(jī)制等喜颁。等同于Java中包裝類型的緩沖池,在這個(gè)范圍內(nèi)的數(shù)字并不會(huì)重新創(chuàng)建對(duì)象盛嘿,而是使用已經(jīng)創(chuàng)建好的緩存對(duì)象洛巢。

abs(x):x 的絕對(duì)值。
int(x):將 x 轉(zhuǎn)換為整數(shù)次兆。向下取整。
float(x):將 x 轉(zhuǎn)換為浮點(diǎn)數(shù)锹锰。
divmod(x, y):結(jié)果和 (x // y, x % y) 一致芥炭。

>>> abs(11)
11
>>> abs(-11)
11
>>> int('12')
12
>>> int(12.3)
12
>>> float('132')
132.0
>>> float(12)
12.0
>>> divmod(10, 3)
(3, 1)
>>> divmod(3.2, 3)
(1.0, 0.20000000000000018)

4.進(jìn)制

# 二進(jìn)制:以0b開頭 --> bin()
>>> 0b1011
11
>>> bin(11)
'0b1011'
# 八進(jìn)制:以0o開頭 --> oct()
>>> 0o71
57
>>> oct(57)
'0o71'
# 十六進(jìn)制:以0x開頭 --> hex()
>>> 0x9e
158
>>> hex(158)
'0x9e'

四、布爾型(bool)

與所有其他語(yǔ)言一樣布爾型只有兩種結(jié)果即TrueFalse恃慧,其分別對(duì)應(yīng)與二進(jìn)制中的01园蝠。

注:True和False的首字母要大寫。

反例:

>>> boolean = true
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> boolean = false
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'false' is not defined

正例:

>>> boolean = True
>>> type(boolean)
<class 'bool'>

>>> boolean = False
>>> type(boolean)
<class 'bool'>

注:type()用于檢查變量的數(shù)據(jù)類型痢士。與JavaScript中的typeofJava中的instanceof類似彪薛。

bool()可以檢查變量的真假值TrueFalse

關(guān)于布爾型真值太多怠蹂,所以我們只需要了解假值即Flase的值有哪些即可善延。

類型 False
布爾 False
數(shù)字 整型的0和浮點(diǎn)型的0.0
字符串 空字符串''
列表 空列表[]
字典 空字典{}
元組 空元組()
set() set()
None None

終端執(zhí)行:

#以下結(jié)果為假,即布爾(False)城侧、為0的數(shù)字(整形的0和浮點(diǎn)型的0.0)易遣、空字符串''、空列表[]、空字典{}、空元組()酪刀、空set()芯急、以及None
>>> bool(False)
False
>>> bool(0)
False
>>> bool(0.0)
False
>>> bool('')
False
>>> bool([])
False
>>> bool({})
False
>>> bool(())
False
>>> bool(set())
False
>>> bool(None)
False

五、運(yùn)算符

Python中的運(yùn)算符與Java基本一致剂邮,這里就直接列舉,相同的地方不做其他多余的說明。

1.算術(shù)運(yùn)算符

運(yùn)算符 描述
+ 加 - 兩個(gè)對(duì)象相加
- 減 - 得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù)
* 乘 - 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串
/ 除 - x除以y
% 取模 - 返回除法的余數(shù)
** 冪 - 返回x的y次冪
// 取整除 - 返回商的整數(shù)部分(向下取整)

2.比較運(yùn)算符

運(yùn)算符 描述
== 等于 - 比較對(duì)象是否相等
!= 不等于 - 比較兩個(gè)對(duì)象是否不相等
<> 不等于 - 比較兩個(gè)對(duì)象是否不相等火脉。python3 已廢棄
> 大于 - 返回x是否大于y
< 小于 - 返回x是否小于y。所有比較運(yùn)算符返回1表示真,返回0表示假忘分。這分別與特殊的變量True和False等價(jià)
>= 大于等于 - 返回x是否大于等于y
<= 小于等于 - 返回x是否小于等于y

3.賦值運(yùn)算符

運(yùn)算符 描述
= 簡(jiǎn)單的賦值運(yùn)算符
+= 加法賦值運(yùn)算符,a += b,就是a = a + b
-= 減法賦值運(yùn)算符,a -= b,就是a = a - b
*= 乘法賦值運(yùn)算符,a *= b,就是a = a * b
/= 除法賦值運(yùn)算符,a /= b,就是a = a / b
%= 取模賦值運(yùn)算符,a %= b,就是a = a % b
**= 冪賦值運(yùn)算符,a **= b,就是a = a ** b
//= 取整除賦值運(yùn)算符,a //= b,就是a = a // b

4.位運(yùn)算符

Java不同的是Python中沒有帶符號(hào)右移動(dòng)運(yùn)算符>>>棋枕。其他都一樣。

運(yùn)算符 描述
& 按位與運(yùn)算符:參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
| 按位或運(yùn)算符:只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí)妒峦,結(jié)果位就為1
^ 按位異或運(yùn)算符:當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí)重斑,結(jié)果為1
~ 按位取反運(yùn)算符:對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)? 。~x 類似于 -x-1
<< 左移動(dòng)運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位肯骇,由 << 右邊的數(shù)字指定了移動(dòng)的位數(shù)窥浪,高位丟棄,低位補(bǔ)0
>> 右移動(dòng)運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位笛丙,>> 右邊的數(shù)字指定了移動(dòng)的位數(shù)

5.邏輯運(yùn)算符

Java不同的是Java的只是語(yǔ)法而已漾脂。Java使用的是:&&||胚鸯、!骨稿。

運(yùn)算符 邏輯表達(dá)式 描述
and x and y 布爾"與" - 如果 x 為 False,x and y 返回 False姜钳,否則它返回 y 的計(jì)算值
or x or y 布爾"或" - 如果 x 是非 0坦冠,它返回 x 的計(jì)算值,否則它返回 y 的計(jì)算值
not not x 布爾"非" - 如果 x 為 True哥桥,返回 False 辙浑。如果 x 為 False,它返回 True

6.成員運(yùn)算符

運(yùn)算符 描述
in 如果在指定的序列中找到值返回 True拟糕,否則返回 False判呕。
not in 如果在指定的序列中沒有找到值返回 True,否則返回 False送滞。

實(shí)例

>>> str = "yanxueer"
>>> print("ya" in str)
True
>>> print("b" not in str)
True

7.身份運(yùn)算符

判斷是否是同一對(duì)象侠草,即判斷地址值是否相同。Java中一般使用==來判斷地址值累澡,equals()來判斷值即內(nèi)容是否相等梦抢。而Python==判斷值是否相等,身份運(yùn)算符來判斷地址值是否相同愧哟。

運(yùn)算符 描述
is is是判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象, 如果引用的是同一個(gè)對(duì)象則返回True,否則返回False
is not is not是判斷兩個(gè)標(biāo)識(shí)符是不是引用自不同對(duì)象,如果引用的不是同一個(gè)對(duì)象則返回結(jié)果True,否則返回False奥吩。

實(shí)例

id()可以獲取到對(duì)象的地址值。

>>> str1 = "12"
>>> str2 = "12"
>>> print("str1的地址值是:%s;str2的地址值是:%s" % (id(str1), id(str2)))
str1的地址值是:2141262128816;str2的地址值是:2141262128816
>>> print(str1 is str2)
True
>>> str3 = "123"
>>> print("str1的地址值是:%s;str3的地址值是:%s" % (id(str1), id(str3)))
str1的地址值是:2141262128816;str3的地址值是:2141262129712
>>> print(str1 is str3)
False
>>> print(str1 is not str3)
True

Python語(yǔ)法的成員運(yùn)算符身份運(yùn)算符Java等其他語(yǔ)言中所沒有的蕊梧。這是因?yàn)?code>Python獨(dú)有的語(yǔ)法格式的原因霞赫。將在iffor中頻繁使用。

8.運(yùn)算符優(yōu)先級(jí)

運(yùn)算符 描述
** 指數(shù) (最高優(yōu)先級(jí))
~ ? + ? - 按位翻轉(zhuǎn), 一元加號(hào)和減號(hào) (最后兩個(gè)的方法名為 +@ 和 -@)
* ? / ? % ? // 乘肥矢,除端衰,取模和取整除
+ ? - 加法減法
>> ? << 右移叠洗,左移運(yùn)算符
& 位 'AND'
^ ? | 位運(yùn)算符
<= ? < ? > ? >= 比較運(yùn)算符
<> ? == ? != 等于運(yùn)算符
= ? %= ? /= ? //= ? -= ? += ? *= ? **= 賦值運(yùn)算符
is ? is not 身份運(yùn)算符
in ? not in 成員運(yùn)算符
not ? and ? or 邏輯運(yùn)算符

六、總結(jié)

  • 1.注釋的意義以及使用
  • 2.Python中所包含的基本類型
  • 3.Python中的基本類型--數(shù)字類型
  • 4.Python中的基本類型--布爾型
  • 5.Python中的運(yùn)算符

每日一言
換一種心態(tài)就是一種享受旅东,快樂從來都是自己動(dòng)手創(chuàng)造出來的灭抑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市抵代,隨后出現(xiàn)的幾起案子腾节,更是在濱河造成了極大的恐慌,老刑警劉巖荤牍,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件案腺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡康吵,警方通過查閱死者的電腦和手機(jī)劈榨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晦嵌,“玉大人同辣,你說我怎么就攤上這事〔言兀” “怎么了邑闺?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)棕兼。 經(jīng)常有香客問我,道長(zhǎng)抵乓,這世上最難降的妖魔是什么伴挚? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮灾炭,結(jié)果婚禮上茎芋,老公的妹妹穿的比我還像新娘。我一直安慰自己蜈出,他們只是感情好田弥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著铡原,像睡著了一般偷厦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上燕刻,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天只泼,我揣著相機(jī)與錄音,去河邊找鬼卵洗。 笑死请唱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播十绑,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼聚至,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了本橙?” 一聲冷哼從身側(cè)響起扳躬,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勋功,沒想到半個(gè)月后坦报,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狂鞋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年片择,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骚揍。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡字管,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出信不,到底是詐尸還是另有隱情嘲叔,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布抽活,位于F島的核電站硫戈,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏下硕。R本人自食惡果不足惜丁逝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梭姓。 院中可真熱鬧霜幼,春花似錦、人聲如沸誉尖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铡恕。三九已至琢感,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間没咙,已是汗流浹背猩谊。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祭刚,地道東北人牌捷。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓墙牌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親暗甥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子喜滨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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