### Python基本語法
#### 編碼規范
默認情況下,python3源文件以UTF-8編碼,所有字符串都是unicode字符串。同時可以可以指定源文件的不同編碼文件開頭加上。
> \# -*- coding: UTF-8 -*-
>
> \# coding=utf-8(等號兩邊不能有空格)
允許在源文件中使用utf-8字符集中的字符編碼,對應的適合語言為中文等。
#### print()函數
1. 字符串和數值類型可以直接輸出
2. 無論什么類型,數值,布爾,列表,字典...都可以直接輸出
3. 格式化輸出 如:%s :表示字符串 ;%d表示十進制整數;%f 表示十進制浮點數
4. Python中總是默認換行的
如:
```
print("Hello World")
s = 'Hello'
print(s)
name = 'John'
print('%s是最棒噠!' % name)
print('我真的是換行的,若不想換行,添加end參數')
print('我是不換行噠!',end="")
```
#### 變量
變量:值會發生變化的的量,與常量相對.
聲明變量的格式:變量名 = 值 (值的類型決定變量的類型)
比如:
```
name = ‘John’ # 聲明了變量name
age = 20
```
注釋:
(1)單行注釋:#
(2)多行注釋:''' '''
Python允許你同時為多個變量賦值。
例如:
```
a = b = c = 1
```
以上實例,創建一個整型對象,值為 1,從后向前賦值,三個變量被賦予相同的數值。
可以為多個對象指定多個變量。
例如:
```
a, b, c = 1, 2, "running"
a,b = b,a
```
#### 標識符
在程序中自定義的類名、函數名、變量等符號和名稱,叫做標識符。
標識符的命名需要符合如下規范:
```
(1)標識符由字母、數字和下劃線組成
(2)不能使用數字開頭,即第一個字符必須是字母或下劃線_
(3)標識符對大小寫敏感
(4)不可以使用關鍵字,可以使用下面代碼查看關鍵字:
import keyword
print(keyword.kwlist)
```
比如:合法的標識符
```
name
User
user_name
user_age
GOODS
student_name
book20
```
不合法的標識符
```
user&name # & 不屬于標識符的組成字符,即包含非法字符
8name # 不能以數字開頭
yield # yield是關鍵字,不能作為標識符
```
標識符的命名,除了要遵守上文所述的幾條規則外,在不同場景中其命名也是有一定規則的,如下所示:
- 函數名、類中屬性名、類中的方法名:全部使用小寫字母,多個字母之間可用下劃線`_`分隔,例如`user_age`
- 常量名:全部使用大寫字母,多個字母之間可用下劃線`_`分隔,例如`YEAR`
- 類名:單詞首字母大寫,例如`Goods`
- 包名:應盡量簡短,全部使用小寫字母,多個字母間可用`.`分隔,例如`com.python`
- 模塊名:應盡量簡短,全部使用小寫字母,多個字母間可用下劃線`_`分隔,例如 `user_login`
#### 數據類型
對于**數值類型**Python3 支持 **int、float、complex(復數)**。
**整型**
Python 整數數據類型,簡稱整型,在 Python 中用 `int`表示。
整數指的是沒有小數部分的數字,在 Python 中的整數包括正整數、0(數字零) 和負整數。
比如:
```
money = 100
age = 19
```
當然也會分成:**二進制、八進制、十六進制**
> 二進制形式,由 0 和 1 兩個數字組成,書寫時以`0b`或`0B`開頭
>
> 八進制形式,由 0~7 共八個數字組成,以`0o`或`0O`開頭
>
> 十六進制形式,由 0~9 十個數字以及 A~F(或 a~f)六個字母組成,書寫時以`0x`或`0X`開頭
如:
```
print(0b101)
print(0o22)
print(0xc)
```
**浮點型**
浮點數數據類型,可以簡稱為浮點類型。小數通常以浮點數的形式存儲,在 Python 中用 `float` 表示。可以理解為浮點數是用來描述小數的。
比如:
```
height = 5.8
width = 6.2
```
**復數**
復數數據類型,簡稱復數類型。在 Python 中用`complex`表示。復數類型是 Python 的內置類型,直接書寫即可。復數由實部(real part)和虛部(imaginary part)構成,分別以一個浮點數表示。在 Python 中,復數的虛部以小寫字母`j`或者大寫字母`J`作為后綴(虛數單位)具體格式為:a + bj
比如:
```
c1 = 12 + 0.2j
```
**字符串類型**
python 中的字符串字面量由單引號或雙引號括起。'hello' 等同于 "hello"。通過使用變量名稱后跟等號和字符串,把字符串賦值給變量:
比如:
```
name = ‘John’
```
多行字符串:您可以使用三個引號將多行字符串賦值給變量
比如:
```
message = ''' hello
world!'''
```
**布爾型**
布爾表示兩值之一:True 或 False。
如果有內容,則幾乎所有值都將為 True。除 ()、[]、{}、""、數字 0 和值 None外,任何字符串均為 True。
比如:
```
print(True)
print(3>4)
```
當然還有其他類型后面我們在逐一介紹,更詳細的內容請看:https://mp.weixin.qq.com/s/oWT8KGheWfX3awfDFfk0ag
**類型轉換**
類型轉換涉及到的函數:
> int(x [,base]) 將x轉換為一個整數
> float(x) 將x轉換到一個浮點數
> str(x) 將對象 x 轉換為字符串
> eval(str) 用來計算在字符串中的有效Python表達式,并返回一個對象
> tuple(s) 將序列 s 轉換為一個元組
> list(s) 將序列 s 轉換為一個列表
> set(s) 轉換為可變集合
> dict(d) 創建一個字典。d 必須是一個序列 (key,value)元組。
> chr(x) 將一個整數轉換為一個字符
> ord(x) 將一個字符轉換為它的整數值
> hex(x) 將一個整數轉換為一個十六進制字符串
> oct(x) 將一個整數轉換為一個八進制字符串
比如:
```
a = 0x18
print(int(a))
x = 7
print(eval('2*x'))
print(chr(48))
money = 5.89
print(int(money))
```
### 學習Python的方法
三句話:
```
多動手:“紙上得來終覺淺,絕知此事要躬行。”
多搜索:隨著互聯網越來越普及,大量的學習者已經把互聯網作為一個重要的學習平臺。
多總結:一名成功的學習者應該是一位善于總結的高手。
```