1. 程式人生 > >【語法01】Python基本語法.md

【語法01】Python基本語法.md

基本語法

#Python保留字
import keyword
keyword.kwlist
['False',
 'None',
 'True',
 'and',
 'as',
 'assert',
 'break',
 'class',
 'continue',
 'def',
 'del',
 'elif',
 'else',
 'except',
 'finally',
 'for',
 'from',
 'global',
 'if',
 'import',
 'in',
 'is',
 'lambda',
 'nonlocal',
 'not',
 'or',
 'pass',
 'raise',
 'return',
 'try',
 'while',
 'with',
 'yield']
#註釋
print("Hello Python")
#註釋1
'''
註釋2
'''
"""
註釋3
"""
Hello Python





'\n註釋3\n'
#行與縮排

#縮排的空格數是可變的,但是同一個程式碼塊的語句必須包含相同的縮排空格數

if True:
    print("True")
else:
    print("False")
True
if True:
    print("True1")
    print("True2")
else:
    print("False")
print("Ecust")
True1
True2
Ecust
#多行語句
#語句過長可以使用反斜槓(\)來實現多行語句 total = 1 + \ 2 + 3 print(total) #在[],{},()中的多行語句,不需要使用反斜槓 total1 = ['a', 'b','c'] print(total1)
6
['a', 'b', 'c']
#數字型別
#int(整數),表示為長整型,沒有long
#bool
#float
#complex 複數
#字串
#單引號和多引號使用完全相同
#轉義符'\'
#反斜槓可以用來轉義,使用r可以使反斜槓不轉義
print("\nEcust\n")
print(r"\nEcust\n"
) #字串可以用+運算子連線在一起 Ecust = "Ecust" + "Handsome" print(Ecust) #字串有兩種索引方式,從左往右從0開始,從右往左從-1開始 #字串不能改變 #python沒有單獨的字元型別 #字串的擷取語法:變數[頭下標:尾下標] str = "ECUST" print(str) print(str[0:-1]) print(str[2:4]) print(str[2:]) print(str[:-2]) print(str * 2) print(str + "NB")
Ecust

\nEcust\n
EcustHandsome
ECUST
ECUS
US
UST
ECU
ECUSTECUST
ECUSTNB
#使用者輸入
input("\n\n按下enter鍵後退出")
按下enter鍵後退出





''
#同一行顯示多條語句
#可以使用分號(;)分割以使用多條語句
import sys; x = 'ECUST'; sys.stdout.write(x + '\n')
ECUST
#程式碼組
if expression:
    suite
elif expression:
    suite
else:
    suite
#print輸出
x = 'a'
y = 'b'
print(x)
print(y)
#不換行輸出
print(x,end = ' ')
print(y,end = ' ')
a
b
a b 
#將整個模組匯入 import somemodule
#將某個模組中匯入某個函式 from somemodule import somefunction
#將某個模組中匯入多個函式 from somemodule import firstfunc,secondfunc,thirdfunc
#將某個模組中的全部函式匯入 from somemodule import *

#匯入sys模組
import sys
for i in sys.argv:
    print(i)
print('\n python 路徑為',sys.path)

from sys import argv,path
print('path:',path)#因為已經匯入path成員,所以此處引用時不需要加sys.path
G:\Anaconda3\lib\site-packages\ipykernel_launcher.py
-f
C:\Users\asus\AppData\Roaming\jupyter\runtime\kernel-129790c9-1b68-4f46-a22f-3f22c933a8d2.json

 python 路徑為 ['', 'G:\\Anaconda3\\python36.zip', 'G:\\Anaconda3\\DLLs', 'G:\\Anaconda3\\lib', 'G:\\Anaconda3', 'G:\\Anaconda3\\lib\\site-packages', 'G:\\Anaconda3\\lib\\site-packages\\win32', 'G:\\Anaconda3\\lib\\site-packages\\win32\\lib', 'G:\\Anaconda3\\lib\\site-packages\\Pythonwin', 'G:\\Anaconda3\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\asus\\.ipython']
path: ['', 'G:\\Anaconda3\\python36.zip', 'G:\\Anaconda3\\DLLs', 'G:\\Anaconda3\\lib', 'G:\\Anaconda3', 'G:\\Anaconda3\\lib\\site-packages', 'G:\\Anaconda3\\lib\\site-packages\\win32', 'G:\\Anaconda3\\lib\\site-packages\\win32\\lib', 'G:\\Anaconda3\\lib\\site-packages\\Pythonwin', 'G:\\Anaconda3\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\asus\\.ipython']

基本資料型別

#多個變數賦值
a = 100
b = 100.02
c = "ECUST"
print(a,b,c)
a = b = c = 1#允許同時為多個變數賦值
print(a,b,c)
a,b,c = 1,2,32
print(a,b,c)
100 100.02 ECUST
1 1 1
1 2 32
#標準資料型別
#Number String List Tuple(元祖) Set(集合) Dictionary(字典)
#不可變資料:Number,String,Tuple
#可變資料:List,Dictionary,Set
#Number
#int,float,bool,complex    沒有long

a,b,c,d = 20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))

#還可以通過isinstance來判斷:
a = 1.1
isinstance(a,float)

<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>





True
#del語句刪除一些物件引用
var = 1
print(var)
del var
print(var)
1



---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-64-70d2bd7b4b56> in <module>()
      3 print(var)
      4 del var
----> 5 print(var)


NameError: name 'var' is not defined
#數值計算
a = 2 / 4 #除法,得到一個浮點數
b = 2 // 4 #除法,得到一個整數
c = 17 % 3 #求餘
d = 2 ** 5 #乘方
print(a,b,c,d)

#在混合運算時Python會把整形轉換成為浮點數
0.5 0 2 32
#字串

str = 'Runoob'

print (str)          # 輸出字串
print (str[0:-1])    # 輸出第一個到倒數第二個的所有字元
print (str[0])       # 輸出字串第一個字元
print (str[2:5])     # 輸出從第三個開始到第五個的字元 (左閉右開)
print (str[2:])      # 輸出從第三個開始的後的所有字元
print (str * 2)      # 輸出字串兩次
print (str + "TEST") # 連線字串
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
word = 'Python'
print(word[0],word[5])
print(word[-1],word[-6])
P n
n P
#列表
#Python中使用最頻繁的資料型別
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
 
print (list)            # 輸出完整列表
print (list[0])         # 輸出列表第一個元素
print (list[1:3])       # 從第二個開始輸出到第三個元素
print (list[2:])        # 輸出從第三個元素開始的所有元素
print (tinylist * 2)    # 輸出兩次列表
print (list + tinylist) # 連線列表
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']
#列表中元素是可以改變的
a = [1,2,3,4,5,6]
a[0] = 9
a[2:5] = [13,15,45]
print(a)
a[2:5] = ["xuhuan"]
print(a)
[9, 2, 13, 15, 45, 6]
[9, 2, 'xuhuan', 6]
#Tuple(元祖)
#元祖與列表相似,不同之處在於元祖的元素不能修改

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')
 
print (tuple)             # 輸出完整元組
print (tuple[0])          # 輸出元組的第一個元素
print (tuple[1:3])        # 輸出從第二個元素開始到第三個元素
print (tuple[2:])         # 輸出從第三個元素開始的所有元素
print (tinytuple * 2)     # 輸出兩次元組
print (tuple + tinytuple) # 連線元組
('abcd', 786, 2.23, 'runoob', 70.2)
abcd
(786, 2.23)
(2.23, 'runoob', 70.2)
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')
tup = (1,2,3,4,5,6)
print(tup[0])
print(tup[0,5])
tup[0] = 15 #修改元祖元素的操作是非法的
1



---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-77-5a5b7e999565> in <module>()
      1 tup = (1,2,3,4,5,6)
      2 print(tup[0])
----> 3 print(tup[0,5])
      4 tup[0] = 15 #修改元祖元素的操作是非法的


TypeError: tuple indices must be integers or slices, not tuple
tup1 = ()    # 空元組
tup2 = (20,) # 一個元素,需要在元素後新增逗號

#String、list、Tuple 都屬於 sequence(序列)
#元組也可以使用+操作符進行拼接
#與字串一樣,元組的元素不能修改。
#Set(集合)
#集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或物件稱作元素或是成員。基本功能是進行成員關係測試和刪除重複元素。
#可以使用大括號 { } 或者 set() 函式建立集合
#注意:建立一個空集合必須用 set() 而不是 { },因為 { } 是用來建立一個空字典。

student = {'zhang','yan','chen','zhang','yi','xu'}
print(student)
#輸出集合,重複的元素被自動去掉

if 'xu' in student:
    print("xu在集合中")
else:
    print("xu不在集合中")

# set可以進行集合運算
a = set('abracadabra')
b = set('alacazam')
 
print(a)
print(b)
 
print(a - b)     # a和b的差集
print(a | b)     # a和b的並集
print(a & b)     # a和b的交集
print(a ^ b)     # a和b中不同時存在的元素
{'xu', 'zhang', 'chen', 'yan', 'yi'}
xu在集合中
{'r', 'a', 'b', 'c', 'd'}
{'m', 'l', 'a', 'c', 'z'}
{'d', 'r', 'b'}
{'r', 'm', 'z', 'l', 'a', 'b', 'c', 'd'}
{'c', 'a'}
{'l', 'd', 'r', 'b', 'm', 'z'}
#Dictionary(字典)
#列表是有序的物件集合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
#字典是一種對映型別,字典用"{ }"標識,它是一個無序的鍵(key) : 值(value)對集合。
#鍵(key)必須使用不可變型別。
#在同一個字典中,鍵(key)必須是唯一的。

dict = {}
dict['one'] = "Ecust"
dict[2.2] = 'Xuhuan'
print(dict['one'])
print(dict[2.2])

tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (tinydict)          # 輸出完整的字典
print (tinydict.keys())   # 輸出所有鍵
print (tinydict.values()) # 輸出所有值


#建構函式dict()可以直接從鍵值對序列中構造字典:
del(dict)
a = dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
print(a)

b = {x:x**2 for x in(2,4,6)}
print(b)

c = dict(Runoob = 1,Google = 2,Facebook = 3)
print(c)
Ecust
Xuhuan
{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
{2: 4, 4: 16, 6: 36}
{'Runoob': 1, 'Google': 2, 'Facebook': 3}

Python資料型別轉換

int(x [,base])

將x轉換為一個整數

float(x)

將x轉換到一個浮點數

complex(real [,imag])

建立一個複數

str(x)

將物件 x 轉換為字串

repr(x)

將物件 x 轉換為表示式字串

eval(str)

用來計算在字串中的有效Python表示式,並返回一個物件

tuple(s)

將序列 s 轉換為一個元組

list(s)

將序列 s 轉換為一個列表

set(s)

轉換為可變集合

dict(d)

建立一個字典。d 必須是一個序列 (key,value)元組。

frozenset(s)

轉換為不可變集合

chr(x)

將一個整數轉換為一個字元

ord(x)

將一個字元轉換為它的整數值

hex(x)

將一個整數轉換為一個十六進位制字串

oct(x)

將一個整數轉換為一個八進位制字串

註釋

#單引號註釋
'''
ECUST
'''
#雙引號註釋
"""
Xuhuan
"""
'\nXuhuan\n'

運算子

#算術運算子

a = 21
b = 10
c = 0

c = a + b
print(c)

c = a - b
print(c)

c = a * b
print(c)

c = a / b#除法,輸出浮點數
print(c)

c = a % b
print(c)

a = 2
b = 3
c = a ** b
print(c)

a = 10
b = 4
c = a // b#除法,輸出整數
print(c)
31
11
210
2.1
1
8
2
#比較運算子

a = 21
b = 10
c = 0

if(a == b):
    print('a等於b')
else:
    print('a不等於b')
    
if(a != b):
    print('a不等於b')
else:
    print('a等於b')
    
if(a < b):
    print('a小於b')
else:
    print('a大於等於b')
    
if(a >= b):
    print('a大於等於b')
else:
    print('a小於b')
a不等於b
a不等於b
a大於等於b
a大於等於b
#賦值運算子

a = 21
b = 10
c = 0

c = a + b
print(c)

c += a
print(c)

c *= a
print(c)

c /= a
print(c)

c = 2
c %= a
print(c)

c **= a
print(c)

c //= a
print(c)
31
52
1092
52.0
2
2097152
99864
#位運算子

a = 60    # 60 = 00111100
b = 13    # 13 = 00001101
c = 0

c = a&b
print(c)    # 12 = 00001100

c = a|b
print(c)    # 61 = 00111101

c = a^b    # 異或
print(c)    # 49 = 00110001

c = ~a
print(c)    # -61 = 11000011

c = a << 2
print(c)    # 240 = 11110000

c = a >> 2
print(c)    # 15 = 00001111
12
61
49
-61
240
15
a = 10
b = 20

if(a and b):
    print('a和b都是true')
else:
    print('有一個不是true')
    
if(a or b):
    print('一個以上是true')
else:
    print('有一個不是true')
    
a = 0

if(a and b):
    print('a和b都是true')
else:
    print('有一個不是true')
    
if(a or b):
    print('一個以上是true')
else:
    print('有一個不是true')
    
if not(a and b):
    print('不全是true')
else:
    print('全是true')
a和b都是true
一個以上是true
有一個不是true
一個以上是true
不全是true
# 成員運算子

# 【in】 如果在指定的序列中找到值返回 True,否則返回 False。 
# 【not in】 如果在指定的序列中沒有找到值返回 True,否則返回 False。

#包括字串,列表和元祖

a = 10
b = 20
list = [1,2,3,4,5]

if(a in list):
    print("yes")
else:
    print("no")
    
if(a not in list):
    print("no")
else:
    print("yes")
    
a = 2

if(a in list):
    print("yes")
else:
    print("no")
no
no
yes
# 身份運算子

# 【is】 x is y, 類似 id(x) == id(y) , 如果引用的是同一個物件則返回 True,否則返回 False
# 【not is】 x is not y , 類似 id(a) != id(b)。如果引用的不是同一個物件則返回結果 True,否則返回 False。

a = 20
b = 20

if(a is b):
    print('有相同的標識')
else:
    print('沒有相同的標識')
    
if(id(a) == id(b)):
    print('有相同的標識')
else:
    print('沒有相同的標識')
    
a = 15

if(a is b):
    print('有相同的標識')
else:
    print('沒有相同的標識')
    
if(id(a) == id(b)):
    print('有相同的標識')
else:
    print
            
           

相關推薦

語法01Python基本語法.md

基本語法 #Python保留字 import keyword keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue

語法03Python基本語句

條件控制 ''' if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3 ''' a = 'Xuhuan

圖文詳細 Scala——基本語法

3、Scala 基礎語法  3.1、Hello Scala  package com.mazh.scala.helloworld /** * 作者: 李濤: https://blog.csdn.net/qq_42246689 */ object H

Pythonpython基礎語法 編碼

finall ont 實現 tro out 程序 port 其他 pytho 編碼 默認情況下,python以UTF-8編碼,所有的字符串都是Unicode字符串,可以為代碼定義不同的的編碼。 #coding:UTF-8 #OR #-*- coding:UTF-8 -

web前端第十篇jQuery基本語法

== gre doctype color asc div .com nextall file 一、jQuery基礎1.為什麽要用jquery? 寫起來簡單,省事,開發效率高,兼容性好2、什麽是jQuery? jQuery是一個兼容多瀏覽器的JavaScript庫

Python基礎語法

特定 文檔字符串 目前 特性 sta 邏輯運算符 path 之一 不能 【轉】Python基礎語法 學習一門編程語言,通常是學習該語言的以下幾個部分的內容: 基礎語法:如,變量的聲明與調用、基本輸出語句、代碼塊語法、註釋等; 數據類型:通常都為 數字、字符串、布爾

Python關鍵語法-閉包:函式中的函式用法例項

本文例項講述了Python閉包的用法。分享給大家供大家參考,具體如下: Python函式中也可以定義函式,也就是閉包。跟js中的閉包概念其實差不多,舉個Python中閉包的例子。 def make_adder(addend): def adder(augend

Pythonpython 基礎語法之列表、n維陣列的變換(取反(逆序)\切片等)

【筆記】 二維陣列取反: 執行a[::-1],上下行交換。同樣的看成一維陣列的話,一行就是一個元素。 執行a[:, ::-1],上下前後交換。相當於對行取逆序,對列取逆序。 a=np.arange(12).reshape(3,4) a array([[ 0, 1, 2, 3],

語法02Python資料型別

數字(Number) # 使用del語句刪除一些數字物件的引用 # del var1[,var2[,var3[....,varN]]]] # 通過使用del語句刪除單個或多個物件的引用 # del var # del var_a, var_b #Pytho

語法07Python檔案方法

open()方法 Python open() 方法用於開啟一個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 OSError。 ''' 注意:使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方

語法09Python錯誤和異常

作為Python初學者,在剛學習Python程式設計時,經常會看到一些報錯資訊,在前面我們沒有提及,這章節我們會專門介紹。 Python有兩種錯誤很容易辨認:語法錯誤和異常。 語法錯誤 ''' Python 的語法錯誤或者稱之為解析錯,是初學者經常碰到的,如下例

語法12Python正則表示式

正則表示式 正則表示式是一個特殊的字元序列,它能幫助你方便的檢查一個字串是否與某種模式匹配。 Python 自1.5版本起增加了re 模組,它提供 Perl 風格的正則表示式模式。 re 模組使 Python 語言擁有全部的正則表示式功能。 compile 函式

語法14Python-mysql-connector驅動

MySQL 是最流行的關係型資料庫管理系統。 本章節我們為大家介紹使用 mysql-connector 來連線使用 MySQL, mysql-connector 是 MySQL 官方提供的驅動器。 我們可以使用 pip 命令來安裝 mysql-connector

已解決Python指令碼執行出現語法錯誤:IndentationError: unindent does not match any outer indentation level

原創出處:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ 【問題】  一個python指令碼,本來都執行好好的,然後寫了幾行程式碼,而且也都確保每行都對齊了,但是執行的

Shell編程Shell基本語法

執行命令 find 命令 引號 替換 unset 腳本 comm 程序 logged in Shell 語法 ??Shell程序設計作為一種腳本語言,在Linux系統中有廣泛的應用,本文記錄了關於Shell程序設計的基礎語法知識和常用命令,方便查詢,熟練使用shell也需要

python測試開發棧python基礎語法大盤點

周邊很多同學在用python,但是偶爾會發現有人對python的基礎語法還不是特別瞭解,所以幫大家梳理了python的基礎語法(文中的介紹以python3為例)。如果你已然是python大牛,可以跳過這篇文章。 編碼 python3的預設編碼格式是:UTF-8 ,換句話說也就是:如果不在檔案頭部宣告編碼格式,

python 基本語法速覽,快速入門

我們 method adding ger monk use gre 數據類型 struct https://zhuanlan.zhihu.com/p/24536868 學習參考於這個博文。 我做一個筆記。 關於python一些常用的語法快速的預覽,適合已經掌握一門編程語

Python基本語法

重要 能開 命名 賦值 單行註釋 不能 strong 代碼 空格 Python基本語法 1.第一個Python代碼 print(‘Hello Word!‘) 2.註釋 1.定義:註釋即解釋,主要用於提示相關代碼的信息。 2.註釋分類:單行註釋和多行註釋 單行註釋:# 註釋

python 基本語法1

input gb2312 第一個字符 bytes Coding str1 use -- finall 一、Hello World   python下的Hello World寫法:   1 #!/usr/bin/env python 2 # _*_ coding: UTF-

python基本語法練習

算數 九九乘法 div ase eas 斐波那契數 pre 一個 pri 1、打印九九乘法表 #只打印結果 for i in range(1,10): for j in range(1,i+1): print(i*j,end=" ") pr