1. 程式人生 > >python入門(學習筆記)

python入門(學習筆記)

Python變數和資料型別(2018.9.26)

資料型別

  • 整數:(二進位制、八進位制、十進位制、十六進位制)[精確]
  • 浮點數:(12300=1.23e4 0.00911=9.11e-3)[存在誤差]
  • 字串:(’ ’ 或 " ")
  • 布林值:(True/False)[可用 not/or/and 進行運算]
  • 空值:用 None 表示

練習: 1.計算十進位制整數 305 和十六進位制整數 0x38f 之和。

int("38f",16)+305

2.把數911分別用二進位制、八進位制及十六進位制表示。

bin(911) #二進位制
oct(911) #八進位制
hex(911) #十六進位制
#以上函式只適用於整數

3.用字串表示無問西東。

print("無問西東")

計算式子 ox38f == 305 的布林值

print(0x38f == 305)

print語句

  • >>>是Python直譯器的提示符,不是程式碼的一部分
    
  • print 語句可以跟上多個字串,用逗號隔開(相當於空格)
    

練習 請用兩種方式輸出字串 hello,world

print("hello,world")
print("hello,""world")

註釋

  • 單行註釋:以 # 開頭,後接註釋內容
  • 多行註釋:’’’…’’’

變數

  • 命名:必須是大小寫字母、數字以及下劃線(_)的組合,且開頭不能是數字
  • python是一門動態語言,不同於靜態語言(C,Java等),不需要預設資料型別
  • 賦值符號 = 將等號右邊的值賦給左邊的變數

字串

  • 字串用 ’ ’ 或 “ ” 表示
  • 如果字串含有 ’ ’ ,可用 " " 表示
print("I'm a student")
  • 如果字串含有" ",可用’ '表示
  • 如果字元串同時含有" "和’ ',需要用到轉義符 \
" She said \"I\'m sorry\""
#常用的轉義字元還有 \n 表示換行  \t 表示一個製表符 \\表示\字元本身
  • 如果一個字串包含許多需要轉義的字元,則在字串前加個 r,表示這是一個 raw 字串,裡面的字元就不需要轉義了
print(r'''Python is created by Guido.
It is free and easy to learn.
Let's start learn and enjoy it''')
  • 補充知識:
  • ASCII編碼:因為計算機只能處理數字,因此要處理文字必須先將其轉化為數字。最早的計算機在設計時採用八個位元(bit)作為一個位元組(byte),所以一個位元組所能表示的最大的整數是255,0-255被用來表示數字、大小寫英文字母和一些符號,這個編碼表稱為ASCII編碼。
  • Unicode編碼:因為中日韓等國家的語言無法用一個位元組表示,因此為了統一所有文字的編碼,Unicode編碼應運而生,用兩個位元組來表示一個字元,高位元組全部填為0。
  • 普通字串如“Python”是用ASCII編碼,而中文則用Unicode編碼,字串前加 u 表示用Unicode編碼。如果中文字串在Python環境下遇到 UnicodeDecodeError,這是因為.py檔案儲存的格式有問題。可以在第一行添加註釋# -*- coding: utf-8 -*- (注意:python3版本已經不用再預先設定)

整數和浮點數

注意:Python3已進行優化,在進行浮點數運算時不用額外新增小數點

布林型別

  • Python把0,空字串’ ’ 和 None看成 False,其他數值和非空字符集都看成 True
a = True
print(a and 'a=T' or 'a=F')
#輸出為 'a=T'
  • 短路計算
a = 'python'
print('hello,', a or 'world')
#輸出 'hello python'
b = ''
print('hello,', b or 'world')
#輸出'hello world'
a = 'python'
print('hello,', a and 'world')
#輸出 'hello world'
b = ''
print('hello,', b and 'world')
#輸出'hello'