1.基本語法 python
Python的語法比較簡單,採用縮進的方式。
編程
# print absolute value of an integer: a = 100 if a >= 0: print(a) else: print(-a)
在上面代碼中,以‘# ’是註釋的標識符,能夠記錄當前代碼所表明的意義,解釋器會自動忽略這部份內容。網絡
當語句以‘:’結尾時,縮進語句視爲代碼塊。編程語言
在Python中,一般咱們以4個空格的縮進來進行區分。因爲我的習慣緣由,能夠在每句結束以後加一個‘;’號。一般在Python中,默認以換行爲新的一行,若想在一行輸入多句語句,必定要加‘;’,不然報錯。因爲Python採用縮進的語法,在你複製,粘貼語句時,必定要注意,從新檢查當前代碼的縮進格式。IDE很難格式化代碼。ide
注意:在Python中,對大小寫十分敏感,若是大小寫錯誤,會報錯。函數
2.數據類型 編碼
數據類型:一個值的集合以及定義在這個值集上的一組操做spa
Python提供的基本數據類型主要有:布爾類型、整型、浮點型、字符串、空值、列表、元組、集合、字典等等。在這裏主要介紹布爾類型、整型、浮點型、字符串、空值,其餘的後續介紹。操作系統
2.1布爾類型 code
在Python中,None、任何數值中的0、空字符串、空元組、空列表、空字典都被當作false,還要自定義的 方法返回0或者false,則其實例當作False,其餘對象均爲Ture。
>>>True True >>>False False >>>1>0 True >>>1>2 False
布爾類型只有兩個值,不是true,就是false。布爾值能夠進行運算,主要包括and,or,not
a.and 與運算,只有全部都爲true,返回結果爲true
b.or 或運算,只要其中有一個爲true,返回結果爲true
c.not 是非運算,它是一個但畝運算符,把true變爲false,false變爲true
>>>True and True True >>>True and False False >>>False and False False >>>True or False or True True >>>not True False >>>not False True
2.2整形
在Python內部對整數的處理分爲普通整數和長整數,普通整數長度爲機器位長,一般都是32位,超過這個範圍的整數就自動當長整數處理,而長整數的範圍幾乎徹底沒限制。例如:1,2,-1,1000000
2.3浮點型
Python的浮點數就是數學中的小數,相似C#語言中的double。在運算中,整數與浮點數運算的結果是浮點數,浮點數也就是小數,之因此稱爲浮點數,是由於按照科學記數法表示時,一個浮點數的小數點位置是可變的,好比,1.23x109和12.3x108是相等的。整數和浮點數在計算機內部存儲的方式是不一樣的,整數運算永遠是精確的,而浮點數運算則可能會有四捨五入的偏差。
2.4字符串
Python字符串便可以用單引號也能夠用雙引號括起來,甚至還能夠用三引號括起來。例如:‘abc’,"abc",'''I'm OK'''等。''或""自己只是一種表示方式,不是字符串的一部分。
若是字符串內部既包含'又包含",可使用轉義符\來標識。轉義字符\能夠轉義不少字符,好比\n表示換行,\t表示製表符,字符\自己也要轉義,因此\\表示的字符就是\。
若是字符串裏面有不少字符都須要轉義,就須要加不少\,爲了簡化,Python還容許用r''表示''內部的字符串默認不轉義.若是字符串內部有不少換行,用\n寫在一行裏很差閱讀,爲了簡化,Python容許用'''...'''的格式表示多行內容
2.5空值
空值是Python裏一個特殊的值,用None表示。None不能理解爲0,由於0是有意義的,而None是一個特殊的空值。
3.變量
變量名必須是大小寫英文、數字和_的組合,且不能用數字開頭.變量自己類型不固定的語言稱之爲動態語言,與之對應的是靜態語言。靜態語言在定義變量時必須指定變量類型,若是賦值的時候類型不匹配,就會報錯
a = 'ABC' b = a a = 'XYZ' print(b)
執行a = 'ABC',解釋器建立了字符串'ABC'和變量a,並把a指向'ABC':
執行b = a,解釋器建立了變量b,並把b指向a指向的字符串'ABC':
執行a = 'XYZ',解釋器建立了字符串'XYZ',並把a的指向改成'XYZ',但b並無更改:
最後打印變量b,輸出值爲‘ABC’。
4.編碼
在建立Python文件時,有些IDE會在文件最上方有這樣一段代碼
#-*- coding: UTF-8 -*-
這段代碼表示,當前文件以utf-8的格式編碼。有時,在瀏覽網頁,或者打開文件時,發現所有是一堆看不懂的字符串,這就是亂碼,也是由文件編碼致使的。因爲每一個國家的語言不一樣,各國有各國的標準,若是多種語言的文本混合其中,這時就會致使亂碼。所以爲了將全部語言統一到一套編碼規範中,產生了Unicode,這樣就不會再存在亂碼的狀況了。 Unicode標準也在不斷髮展,但最經常使用的是用兩個字節表示一個字符(若是要用到很是偏僻的字符,就須要4個字節)。現代操做系統和大多數編程語言都直接支持Unicode。在Python中,咱們一般都須要指定當前文件具體的一種編碼格式,避免後期產品亂碼的狀況。
4.1ASCII編碼和Unicode編碼的區別:
ASCII編碼是1個字節,而Unicode編碼一般是2個字節。
字母A用ASCII編碼是十進制的65,二進制的01000001;
字符0用ASCII編碼是十進制的48,二進制的00110000,注意字符'0'和整數0是不一樣的;
漢字中已經超出了ASCII編碼的範圍,用Unicode編碼是十進制的20013,二進制的01001110 00101101。
若是統一成Unicode編碼,亂碼問題今後消失了。可是,若是你寫的文本基本上所有是英文的話,用Unicode編碼比ASCII編碼須要多一倍的存儲空間,在存儲和傳輸上就十分不划算。 因此,本着節約的精神,又出現了把Unicode編碼轉化爲「可變長編碼」的UTF-8編碼。UTF-8編碼把一個Unicode字符根據不一樣的數字大小編碼成1-6個字節,經常使用的英文字母被編碼成1個字節,漢字一般是3個字節,只有很生僻的字符纔會被編碼成4-6個字節。若是你要傳輸的文本包含大量英文字符,用UTF-8編碼就能節省空間
字符 | ASCII | Unicode | UTF-8 |
---|---|---|---|
A | 01000001 | 00000000 01000001 | 01000001 |
中 | x | 01001110 00101101 | 11100100 10111000 10101101 |
計算機系統通用的字符編碼工做方式: 在計算機內存中,統一使用Unicode編碼,當須要保存到硬盤或者須要傳輸的時候,就轉換爲UTF-8編碼。
在Python中, ord()函數獲取字符的整數表示; chr()函數把編碼轉換爲對應的字符。
>>> ord('A') 65 >>> ord('中') 20013 >>> chr(66) 'B' >>> chr(25991) '文'
因爲Python的字符串類型是str,在內存中以Unicode表示,一個字符對應若干個字節。若是要在網絡上傳輸,或者保存到磁盤上,就須要把str變爲以字節爲單位的bytes。對bytes類型的數據用帶b前綴的單引號或雙引號表示:x = b'ABC'。要注意區分'ABC'和b'ABC',前者是str,後者雖然內容顯示得和前者同樣,但bytes的每一個字符都只佔用一個字節
以Unicode表示的str經過encode()方法能夠編碼爲指定的bytes。要把bytes變爲str,就須要用decode()方法
>>> 'ABC'.encode('ascii') b'ABC' >>> '中文'.encode('utf-8') b'\xe4\xb8\xad\xe6\x96\x87'
Python源代碼也是一個文本文件,因此,當你的源代碼中包含中文的時候,在保存源代碼時,就須要務必指定保存爲UTF-8編碼。當Python解釋器讀取源代碼時,爲了讓它按UTF-8編碼讀取,咱們一般在文件開頭寫上這兩行。#!/usr/bin/env python3# -*- coding: utf-8 -*-。
第一行註釋是爲了告訴Linux/OS X系統,這是一個Python可執行程序,Windows系統會忽略這個註釋;第二行註釋是爲了告訴Python解釋器,按照UTF-8編碼讀取源代碼,不然,你在源代碼中寫的中文輸出可能會有亂碼。
4.2格式化
採用的格式化方式和C語言是一致的,用%實現。
>>> 'Hello, %s' % 'world''Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you have $1000000.'
%運算符就是用來格式化字符串的。在字符串內部,%s表示用字符串替換,%d表示用整數替換,有幾個%?佔位符,後面就跟幾個變量或者值,順序要對應好。若是隻有一個%?,括號能夠省略
常見佔位符:%d(整數),%f(浮點數),%s(字符串),%x(十六進制整數)
格式化整數和浮點數還能夠指定是否補0和整數與小數的位數
>>> '%2d-%02d' % (3, 1) ' 3-01'>>> '%.2f' % 3.1415926'3.14'
有些時候,字符串裏面的%
是一個普通字符,這個時候就須要轉義,用%%來表示一個%
>>> 'growth rate: %d %%' % 7'growth rate: 7 %'
5.寫在最後
以上就是Python的一些基本語法、數據類型、編碼知識,有存在錯誤或不足的地方,及時溝通改正。下篇的時間可能要稍微朝後推遲了,週末須要去作個身體檢查,也但願你們的身體棒棒的!