python右移
1. python中//是什麼意思
在Python" // "表示整數除法。
Python其它表達式:
Python的表達式寫法與C/C++類似。只是在某些寫法有所差別。
主要的算術運算符與C/C++類似。+, -, *, /, //, **, ~, %分別表示加法或者取正、減法或者取負、乘法、除法、整除、乘方、取補、取余。
>>, <<表示右移和左移。&, |, ^表示二進制的AND, OR, XOR運算。>, <, ==, !=, <=, >=用於比較兩個表達式的值,
分別表示大於、小於、等於、不等於、小於等於、大於等於。在這些運算符裡面,~, |, ^, &, <<, >>必須應用於整數。
(1)python右移擴展閱讀:
Python使用and, or, not表示邏輯運算。
is, is not用於比較兩個變數是否是同一個對象。in, not in用於判斷一個對象是否屬於另外一個對象。
Python支持「列表推導式」(list comprehension),比如計算0-9的平方和:
>>> sum(x * x for x in range(10))
285
Python使用lambda表示匿名函數。匿名函數體只能是表達式。比如:
>>> add=lambda x, y : x + y
>>> add(3,2)
Python使用y if cond else x表示條件表達式。意思是當cond為真時,表達式的值為y,否則表達式的值為x。相當於C++和Java里的cond?y:x。
Python區分列表(list)和元組(tuple)兩種類型。list的寫法是[1,2,3],而tuple的寫法是(1,2,3)。可以改變list中的元素,而不能改變tuple。
在某些情況下,tuple的括弧可以省略。tuple對於賦值語句有特殊的處理。因此,可以同時賦值給多個變數,比如:
>>> x, y=1,2 # 同時給x,y賦值,最終結果:x=1, y=2
特別地,可以使用以下這種形式來交換兩個變數的值:
>>> x, y=y, x #最終結果:y=1, x=2
Python使用'(單引號)和"(雙引號)來表示字元串。與Perl、Unix Shell語言或者Ruby、Groovy等語言不一樣,兩種符號作用相同。一般地,如果字元串中出現了雙引號,就使用單引號來表示字元串;反之則使用雙引號。如果都沒有出現,就依個人喜好選擇。
出現在字元串中的(反斜杠)被解釋為特殊字元,比如 表示換行符。表達式前加r指示Python不解釋字元串中出現的。這種寫法通常用於編寫正則表達式或者Windows文件路徑。
Python支持列表切割(list slices),可以取得完整列表的一部分。支持切割操作的類型有str, bytes, list, tuple等。
它的語法是...[left:right]或者...[left:right:stride]。假定nums變數的值是[1, 3, 5, 7, 8, 13, 20],那麼下面幾個語句為真:
nums[2:5] == [5, 7, 8] 從下標為2的元素切割到下標為5的元素,但不包含下標為5的元素。
nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最後一個元素。
nums[:-3] == [1, 3, 5, 7] 從最開始的元素一直切割到倒數第3個元素。
nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回所有元素。改變新的列表不會影響到nums。
nums[1:5:2] == [3, 7] 從下標為1的元素切割到下標為5的元素但不包含下標為5的元素,且步長為2。
2. python9按位右移兩位的代碼是
a=a>>1
python9左移與右移方法/步驟:
1.新建一個左移與右移.py文件,
2.設置腳本文件的編碼:#coding=gbk,
3.定義一個整型變數a,代碼:a=9
4.對整型變數a進行左移操作,左移1位,代碼:a=a<<1
5.對整型變數a進行右移操作,右移1位,代碼:a=a>>1
6.使用print()函數輸出左移和右移後的整型變數。
3. Python中的「 @」(@)符號有什麼作用
>> 和 <<都是位運算,對二進制數進行移位操作。
<< 是左移,末位補0,類比十進制數在末尾添0相當於原數乘以10,x<<1是將x的二進製表示左移一位,相當於原數x乘2。比如整數4在二進制下是100,4<<1左移1位變成1000(二進制),結果是8。
>>是右移,右移1位相當於除以2。
而>>=和<<=,就是對變數進行位運算移位之後的結果再賦值給原來的變數,可以類比賦值運算符+=和-=可以理解。
比如x>>=2, 就是把變數x右移2位,再保留x操作後的值。
>> 和 <<都是位運算,對二進制數進行移位操作。
<< 是左移,末位補0,類比十進制數在末尾添0相當於原數乘以10,x<<1是將x的二進製表示左移一位,相當於原數x乘2。比如整數4在二進制下是100,4<<1左移1位變成1000(二進制),結果是8。
>>是右移,右移1位相當於除以2。
而>>=和<<=,就是對變數進行位運算移位之後的結果再賦值給原來的變數,可以類比賦值運算符+=和-=可以理解。
比如x>>=2, 就是把變數x右移2位,再保留x操作後的值。
4. python 怎樣實現無符號右移
python的整型默認都是無限寬度的大數整型。
正整數是不需要無符號右移的,>>右移即可
只有遇到負整數才需要無符號位移。
這時其實要先思考為什麼會得到負整數,通常輸入數據的部分有問題,最好做到直接輸入正整型數。
實在不得已處理負整數,可以先struct.pack轉成指定寬度位元組,再unpack成需要的正數,再普通右移處理。