日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

桐花万里python路-基础篇-01-历史及进制

發布時間:2025/3/15 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 桐花万里python路-基础篇-01-历史及进制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 歷史及版本
    • 作者:吉多·范羅蘇姆(龜叔)
    • 時間:1989年
    • 重要版本:
      • 2.4? 2004年?同年Django誕生
      • 2.6? 2008
      • 3.0? 2008
      • 2.7? 2010
      • 3.6? 2016.12?當前使用版本
    • py2和py3
      • 區別:統一、標準、去除重復代碼
      • 類庫更改 Python2.x | Python3.x _winreg | winreg
        ConfigParser | configparser
        copy_reg      | copyreg
        Queue | queue SocketServer | socketserver
        markupbase | _markupbase
        repr     | reprlib
        test.test_support | test.support  
      • In summary : Python 2.x is legacy, Python 3.x is the present and future of the language
  • Python解釋器
    • 種類
      • CPython?官方
      • IPython? ?交互增強的CPython
      • Pypy? ? ? ?JIT,非解釋的動態編譯
      • JPython? Java字節碼
      • IronPython .Net字節碼
    • 編譯型和解釋型
      • 編譯型:編譯型語言在程序執行之前,先會通過編譯器對程序執行一個編譯的過程,把程序轉變成機器語言。運行時就不需要翻譯,而直接執行就可以了。C,C++,Go,Object-C,Swift,...
      • 解釋型:沒有編譯過程,而是在程序運行的時候,通過解釋器對程序逐行作出解釋,然后直接運行。Ruby,PHP,Javascript,...
      • 基于虛擬機的語言:通過編譯器編譯成字節碼文件,然后在運行時通過解釋器給解釋成機器文件。JAVA,C#,其實Python是基于虛擬機的混合型語言
      • 特點:一般來說,解釋型的語言開發效果高,易于維護、跨平臺,編譯型的語言運行效率較高
  • 執行腳本
    • 交互器
    • 指定解釋器? #!/usr/bin/env pythonprint("hello world!")
  • 其他說明
    • 編碼 :py2默認編碼為ASCII?,py3為UTF_8 # -*- coding: utf-8 -*-
    • 注釋: # 單行注釋''' 多行注釋 多行注釋 多行注釋 ... '''#""" 多行注釋 多行注釋 多行注釋 ... """?
    • 空行
      • 函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。 空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護或重構。
    • 分號
      • 一般不用分號,如果單行需要寫多個語句則需要。
    • 縮進
      • python非常注重縮進,2個空格或4個空格或1個Tab鍵。
    • 多行語句
      • 末尾使用斜杠 ( \ ) ,將一行分為多行 a = 5 b = 6 c = 7d = a + \b + \c
  • 進制
    • 是一種計數的方式,數值的表示形式
    • 常用進制
      • 二進制?b
      • 八進制 o
      • 十進制?
      • 十六進制 hex
    • 機器數
      • 一個數在計算機中的二進制表示形式, 叫做這個數的機器數。
      • 機器數是帶符號的,用一個數的最高位存放符號, 正數為0, 負數為1
    • 真值
      • 將帶符號位的機器數對應的真正數值稱為機器數的真值
      • 因為第一位是符號位,所以機器數的形式值就不等于真正的數值
    • 原反補
      • 數據在計算機內部是以補碼的形式儲存的
      • 數據分為有符號數和無符號數,無符號數都為正數,由十進制直接轉換到二進制直接存儲(其實也是該十進制的補碼)即可
      • 正數的最高位是符號位0,其原碼是由十進制數轉換到的二進制數字;負數的最高位是 符號位1,其原碼后面的位也為10進制數轉換過去的二進制數字,都是用補碼方式表示 有符號數的
      • 原碼:原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其余位表示值
      • 反碼:正數的反碼是其本身,負數的反碼是在其原碼的基礎上, 符號位不變,其余各個位取反
      • 補碼:正數的補碼是其本身,負數的補碼是在其原碼的基礎上, 符號位不變, 其余各位取反, 最后+1. (即在反碼的基礎上+1)
      • 正數:三碼合一
      • 負數:反碼 = 源碼取反,補碼 = 反碼+1, 或者 補碼 = 源碼取反 + 1 1+(-1) = 000000000 00000000 00000000 00000001 1 源碼 00000000 00000000 00000000 00000001 1 反碼 00000000 00000000 00000000 00000001 1 補碼10000000 00000000000000000000000001 -1源碼 11111111 11111111 11111111 11111110 -1反碼 11111111 11111111 11111111 11111111 - 1補碼00000000 00000000 00000000 00000001 1的補碼 11111111 11111111 11111111 11111111 + -1的補碼 ---------------------------------------------------------------------------- 00000000 00000000 00000000 00000000 01(源碼) + (-1)(源碼) = -21(反碼) + (-1)(反碼) = -01(補碼) + (-1)(補碼) = 0
    • 位運算
      • & 按位與?
        • 同1為1,有0為0
        • 只有對應的兩個二進位均為1時,結果位才為1,否則為0
        • 任何一個數和1進行&(按位與)得到任何一個數的二進制的最后一位
      • | 按位或
        • 有1則1
        • 只要對應的二個二進位有一個為1時,結果位就為1,否則為0
      • ^ 按位異或
        • 同0非1
        • 當對應的二進位相異(不相同)時,結果為1,否則為0
      • ~ 取反
        • 各二進位進行取反(0變1,1變0)
      • 左移 <<
        • 各二進位全部左移n位,高位丟棄,低位補0
        • 左移可能會改變一個數的正負性
        • 左移1位相當于乘以2的n次方
        • 8<<3 等同于8*(2**3)
      • 右移 >>
        • 各二進位全部右移n位,保持符號位不變
        • 所有二進制位向右移動n位,移出的位刪掉,移進的位補符號位
        • 右移不會改變一個數的符號
        • 右移 n 位就相當于除以2的n次方
        • 8>>3 等同于8/(2**3)

轉載于:https://www.cnblogs.com/zhujingxiu/p/8182403.html

總結

以上是生活随笔為你收集整理的桐花万里python路-基础篇-01-历史及进制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。