本文目錄一覽:
py基本語法
Python基礎語法總結:
1.Python標識符
在 Python 里,標識符有字母、數字、下劃線組成。
在 Python 中,所有標識符可以包括英文、數字以及下劃線(_),但不能以數字開頭。
Python 中的標識符是區分大小寫的。
以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用 from xxx import * 而導入;
以雙下劃線開頭的 foo 代表類的私有成員;以雙下劃線開頭和結尾的 foo 代表 Python 里特殊方法專用的標識,如 init__() 代表類的構造函數。
2.Python有五個標準的數據類型
Numbers(數字)
String(字符串)
List(列表)
Tuple(元組)
Dictionary(字典)
Python支持四種不同的數字類型:
int(有符號整型)
long(長整型[也可以代表八進制和十六進制])
float(浮點型)
complex(複數)
python的字串列表有2種取值順序:
從左到右索引默認0開始的,最大範圍是字符串長度少1
從右到左索引默認-1開始的,最大範圍是字符串開頭
List(列表) 是 Python 中使用最頻繁的數據類型。
列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 標識,是 python 最通用的複合數據類型。
列表中值的切割也可以用到變量 [頭下標:尾下標] ,就可以截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始,下標可以為空表示取到頭或尾。
加號 + 是列表連接運算符,星號 * 是重複操作。
元組是另一個數據類型,類似於List(列表)。
元組用”()”標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於只讀列表。
字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。
列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用”{ }”標識。字典由索引(key)和它對應的值value組成。
3.Python數據類型轉換
有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你只需要將數據類型作為函數名即可。
以下幾個內置的函數可以執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。
函數 描述
int(x [,base])
將x轉換為一個整數
long(x [,base] )
將x轉換為一個長整數
float(x)
將x轉換到一個浮點數
complex(real [,imag])
創建一個複數
str(x)
將對象 x 轉換為字符串
repr(x)
將對象 x 轉換為表達式字符串
eval(str)
用來計算在字符串中的有效Python表達式,並返回一個對象
tuple(s)
將序列 s 轉換為一個元組
list(s)
將序列 s 轉換為一個列表
set(s)
轉換為可變集合
dict(d)
創建一個字典。d 必須是一個序列 (key,value)元組。
frozenset(s)
轉換為不可變集合
chr(x)
將一個整數轉換為一個字符
unichr(x)
將一個整數轉換為Unicode字符
ord(x)
將一個字符轉換為它的整數值
hex(x)
將一個整數轉換為一個十六進制字符串
oct(x)
將一個整數轉換為一個八進制字符串
4.Python 運算符
算術運算符
比較(關係)運算符
賦值運算符
邏輯運算符
位運算符
成員運算符
身份運算符
運算符優先級
python算術運算符
運算符 描述 實例
加 – 兩個對象相加 a + b 輸出結果 30
減 – 得到負數或是一個數減去另一個數 a – b 輸出結果 -10
乘 – 兩個數相乘或是返回一個被重複若干次的字符串 a * b 輸出結果 200
/ 除 – x除以y b / a 輸出結果 2
% 取模 – 返回除法的餘數 b % a 輸出結果 0
冪 – 返回x的y次冪 ab 為10的20次方, 輸出結果 100000000000000000000
// 取整除 – 返回商的整數部分 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0
①:python比較運算符
以下假設變量a為10,變量b為20:
運算符 描述 實例
== 等於 – 比較對象是否相等 (a == b) 返回 False。
!= 不等於 – 比較兩個對象是否不相等 (a != b) 返回 true.
不等於 – 比較兩個對象是否不相等 (a b) 返回 true。這個運算符類似 != 。
大於 – 返回x是否大於y (a b) 返回 False。
小於 – 返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。 (a b) 返回 true。
= 大於等於 – 返回x是否大於等於y。 (a = b) 返回 False。
= 小於等於 – 返回x是否小於等於y。 (a = b) 返回 true。
②:Python賦值運算符
以下假設變量a為10,變量b為20:
運算符 描述 實例
= 簡單的賦值運算符 c = a + b 將 a + b 的運算結果賦值為 c
+= 加法賦值運算符 c += a 等效於 c = c + a
-= 減法賦值運算符 c -= a 等效於 c = c – a
= 乘法賦值運算符 c = a 等效於 c = c * a
/= 除法賦值運算符 c /= a 等效於 c = c / a
%= 取模賦值運算符 c %= a 等效於 c = c % a
= 冪賦值運算符 c = a 等效於 c = c ** a
//= 取整除賦值運算符 c //= a 等效於 c = c // a
③:Python位運算符
下表中變量 a 為 60,b 為 13,二進制格式如下:
a = 0011 1100
b = 0000 1101
ab = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
運算符 描述 實例
按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 (a b) 輸出結果 12 ,二進制解釋: 0000 1100
| 按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。 (a | b) 輸出結果 61 ,二進制解釋: 0011 1101
^ 按位異或運算符:當兩對應的二進位相異時,結果為1 (a ^ b) 輸出結果 49 ,二進制解釋: 0011 0001
~ 按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1 (~a ) 輸出結果 -61 ,二進制解釋: 1100 0011, 在一個有符號二進制數的補碼形式。
左移動運算符:運算數的各二進位全部左移若干位,由””右邊的數指定移動的位數,高位丟棄,低位補0。 a 2 輸出結果 240 ,二進制解釋: 1111 0000
右移動運算符:把””左邊的運算數的各二進位全部右移若干位,””右邊的數指定移動的位數 a 2 輸出結果 15 ,二進制解釋: 0000 1111
④:Python邏輯運算符
Python語言支持邏輯運算符,以下假設變量 a 為 10, b為 20:
運算符 邏輯表達式 描述 實例
and x and y 布爾”與” – 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。 (a and b) 返回 20。
or x or y 布爾”或” – 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。 (a or b) 返回 10。
not not x 布爾”非” – 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 not(a and b) 返回 False
⑤:Python成員運算符
除了以上的一些運算符之外,Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。
運算符 描述 實例
in 如果在指定的序列中找到值返回 True,否則返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中沒有找到值返回 True,否則返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
⑥:Python身份運算符
身份運算符用於比較兩個對象的存儲單元
運算符 描述 實例
is is 是判斷兩個標識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False
is not is not 是判斷兩個標識符是不是引用自不同對象 x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False。
# 數據類型
print(0xff00); # 十六進制用0x前綴和0-9,a-f表示
print(1.23e9); # 對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23×10^9就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
# 在Python中,可以直接用True、False表示布爾值(請注意大小寫)布爾值可以用and、or和not運算。
# 空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
# —————————————-
# print語句
print(‘hello, world’)
print(‘The quick brown fox’, ‘jumps over’, ‘the lazy dog’) # 遇到逗號“,”會輸出一個空格
print(‘100 + 200 =’, 100 + 200) # 計算100 + 200的結果
# ——————————————–
# 變量
a = 1 # 變量是用一個變量名表示,變量名必須是大小寫英文、數字和_的組合,且不能用數字開頭
# 可以把任意數據類型賦值給變量,同一個變量可以反覆賦值,而且可以是不同類型的變量,稱為動態語言
# ——————————————-
# 可以使用轉義字符 \ 、\n、\t等等
# ——————————————-
# raw字符串與多行字符串
print(r’\(~_~)/ \(~_~)/’); # 我們可以在字符串前面加個前綴 r ,表示這是一個 raw 字符串,裡面的字符就不需要轉義了
# 但是r’…’表示法不能表示多行字符串,也不能表示包含’和 “的字符串
# 如果要表示多行字符串,可以用”’…”’表示
print(”’Python is created by “Guido”.
It is free and easy to learn.Let’s start learn Python in imooc!”’); # 等同於’Line 1\nLine 2\nLine 3′
# —————————————————
# Python在後來添加了對Unicode的支持,以Unicode表示的字符串用u’…’表示,比如:
print(u’中文’)
#—————————————————
#布爾類型
a = True
print( a and ‘a=T’ or ‘a=F’,a)
a and ‘a=T’
#計算結果不是布爾類型,而是字符串 ‘a=T’,這是為什麼呢?
#因為Python把0、空字符串”和None看成 False,其他數值和非空字符串都看成 True,所以:
a and ‘a=T’ #計算結果是 ‘a=T’
print( a and ‘a=T’ or ‘a=F’) #計算結果還是 ‘a=T’
# 創建tuple
# tuple是另一種有序的列表,中文翻譯為“ 元組 ”。tuple 和 list 非常類似,但是,tuple一旦創建完畢,就不能修改了。
t = (‘Adam’, ‘Lisa’, ‘Bart’) # 創建tuple和創建list唯一不同之處是用( )替代了[ ]
print(t)
# list是一種有序的集合,可以隨時添加和刪除其中的元素
L = [‘Adam’, 95.5, ‘Lisa’, 85, ‘Bart’, 59]
# 按照索引訪問list
# 輸出Bart,下標是從0開始
print(L[4])
# 倒序訪問list
# 輸出Bart,下標是從0開始
print(L[-2])
# dict的特點
# dict的第一個特點是查找速度快,無論dict有10個元素還是10萬個元素,查找速度都一樣(而list的查找速度隨着元素增加而逐漸下降。不過dict的查找速度快不是沒有代價的,dict的缺點是佔用內存大,還會浪費很多內容,list正好相反,佔用內存小,但是查找速度慢。)
# 由於dict是按 key 查找,所以,在一個dict中,key不能重複。
# dict的第二個特點就是存儲的key-value序對是沒有順序的
# dict的第三個特點是作為 key 的元素必須不可變,Python的基本類型如字符串、整數、浮點數都是不可變的,都可以作為 key。但是list是可變的,就不能作為 key
d = { ‘Adam’: 95, ‘Lisa’: 85, ‘Bart’: 59}
# 更新dict
d[‘Paul’] = 72 # 如果 key 已經存在,則賦值會用新的 value 替換掉原來的 value
# 遍歷dict
for i in d:
print(i,’:’,d[i])
# —————————————————
# set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重複,而且是無序的,這點和 dict 的 key很像。
# 創建
s = set([‘A’, ‘B’, ‘C’])
# 遍歷
#更新set
s.add(4) #元素已經存在於set中,add()不會報錯,但是不會加進去了
s.remove(4) #元素不存在set中,remove()會報錯,所以remove()前需要判斷。
for name in s:
print(name)
python中^符號為什麼會有這種運算結果?
Python里的“^”是按位異或運算符:當兩對應的二進位相異時,結果為1。
比如
2^9 首先要換成二進制 0010 與1001 做按位異或,結果是1011,換回十進制就是11
我想問下python中 邏輯與:“&”和“and”的區別
1、“”和“and”有本質區別,屬於不同類型的運行符號。 是位運算;and 是邏輯運算。
2、首先是:該運輸符屬於字符串的連接運算符,例如,“w“”c“結果為字符串”wc“。
3、and屬於邏輯運算符,表示邏輯與運算,其規則是有假取假,全真為真。例如,true and false結果為false,true and true結果為true。
擴展資料
Python的設計哲學是“優雅”、“明確”、“簡單”。因此,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發者中通常是難以忍受的。Python開發者的哲學是“用一種方法,最好是只有一種方法來做一件事”。
在設計Python語言時,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。
由於這種設計觀念的差異,Python源代碼通常被認為比Perl具備更好的可讀性,並且能夠支撐大規模的軟件開發。這些準則被稱為Python格言。在Python解釋器內運行import this可以獲得完整的列表。
Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合併到Python內。所以很多人認為Python很慢。
不過,根據二八定律,大多數程序對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向於使用JIT技術,或者用使用C/C++語言改寫這部分程序。可用的JIT技術是PyPy。
Python是完全面向對象的語言。函數、模塊、數字、字符串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。
Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標準庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。
雖然Python可能被粗略地分類為“腳本語言”(script language),但實際上一些大規模軟件開發計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。
Python的支持者較喜歡稱它為一種高級動態編程語言,原因是“腳本語言”泛指僅作簡單程序設計任務的語言,如shellscript、VBScript等只能處理簡單任務的編程語言,並不能與Python相提並論。
Python本身被設計為可擴充的。並非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕鬆地使用C語言、C++、Cython來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內。
因此,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進行集成和封裝。在Google內部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然後用Python或Java/Go調用相應的模塊。
《Python技術手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004 年,Python 已在Google 內部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,
他們的目的是 Python where we can, C++ where we must,在操控硬件的場合使用 C++,在快速開發時候使用 Python。”
參考資料:百度百科▬Python 、百度百科▬邏輯與
按位異或運算符怎麼用
1:“按位與”運算符()用法是如果兩個相應的二進制位都為1,則該位的結果值為1否則為0。00=0,10=0,11=1
2:“按位或”運算符(|)用法是如果兩個相應的二進制位有一個為1,則該位的結果值為1否則為0。00=0,10=0,11=1
0,10=1,11=1
3:“異或”運算符(^)用法是如果兩個相應的二進制位為同號,則該位的結果值為1否則為0。00=1,10=0,11=1
python尖號^如何使用
^:按位異或,同一位上不同時為1,相同時為0。參加運算的兩個對象,如果兩個相應位為“異”(值不同),則該位結果為1,否則為0。
因為1的二進制為01,3的二進制為11,所以31為2
在正則表達式中,^匹配你要用來查找的字符串的開頭,^p就是指以p開頭的字符串。作為Python的運算符時,^表示bitwiseXOR,在二進制下,0^1=1,0^0=0,1^1=0
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/272191.html