Python基本語法總結

来源:http://www.cnblogs.com/Msh0923/archive/2017/12/18/8059840.html
-Advertisement-
Play Games

對Python的基本知識進行了重溫和總結。(省略和C++相近的以及深刻瞭解的內容) 1.一般用反斜杠 / 將Python的一行語句分為多行顯示 2.raw_input 輸入內容 遇見回車終止並跳出 3.數據類型之List -- 列表 個人理解類似C++中的數組 4.數據類型之 Tuple -- 元組 ...


對Python的基本知識進行了重溫和總結。(省略和C++相近的以及深刻瞭解的內容)

1.一般用反斜杠 / 將Python的一行語句分為多行顯示

total = item_one + \
        item_two + \
        item_three

2.raw_input 輸入內容 遇見回車終止並跳出

raw_input("\n\nPress the enter key to exit.")

3.數據類型之List -- 列表

個人理解類似C++中的數組

list = [ 'Ma', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
 
print list               # 輸出完整列表
print list[0]            # 輸出列表的第一個元素
print list[1:3]          # 輸出第二個至第三個元素 
print list[2:]           # 輸出從第三個開始至列表末尾的所有元素
print tinylist * 2       # 輸出列表兩次
print list + tinylist    # 列印組合的列表

4.數據類型之 Tuple -- 元組

相當於一個只讀的List

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
 
print tuple               # 輸出完整元組
print tuple[0]            # 輸出元組的第一個元素
print tuple[1:3]          # 輸出第二個至第三個的元素 
print tuple[2:]           # 輸出從第三個開始至列表末尾的所有元素
print tinytuple * 2       # 輸出元組兩次
print tuple + tinytuple   # 列印組合的元組

5.數據類型之Dictionary -- 字典

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
 
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
 
 
print dict['one']          # 輸出鍵為'one' 的值
print dict[2]              # 輸出鍵為 2 的值
print tinydict             # 輸出完整的字典
print tinydict.keys()      # 輸出所有鍵
print tinydict.values()    # 輸出所有值

6.判斷數據類型 之 type 與 isinstance

>>> class A:
...     pass
... 
>>> class B(A):
...     pass
... 
>>> isinstance(A(), A)
True
>>> type(A()) == A
False
>>> isinstance(B(), A)
True
>>> type(B()) == A 
False

區別就是:

 type()不會認為子類是一種父類類型。

 isinstance()會認為子類是一種父類類型。

7.邏輯運算符

x and y -- x為False , 返回False,反之,返回y

x or y -- x非零,返回x,否則返回y

not x -- x為True,返回False,x為False,返回True

8.成員運算符

in 如果在指定的序列中找到值返回 True,否則返回 False。

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

9.身份運算符

is -- is 是判斷兩個標識符是不是引用自一個對象

is not -- is not 是判斷兩個標識符是不是引用自不同對象

10.條件語句(if)

if 判斷條件1:
    執行語句1……
elif 判斷條件2:
    執行語句2……
elif 判斷條件3:
    執行語句3……
else:
    執行語句4……

11.迴圈之while

count = 0
while (count < 9):
   print 'The count is:', count
   count = count + 1
 
print "Good bye!"

12.迴圈之for

for letter in 'Python':     # 第一個實例
   print '當前字母 :', letter
 
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二個實例
   print '當前水果 :', fruit
 
print "Good bye!"

13.迴圈嵌套

嵌套迴圈求出100以內的素數

i = 2
while(i < 100):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : print i, " 是素數"
   i = i + 1
 
print "Good bye!"

14.Python字元串的三引號

python中三引號可以將複雜的字元串進行複製:

python三引號允許一個字元串跨多行,字元串中可以包含換行符、製表符以及其他特殊字元。

三引號的語法是一對連續的單引號或者雙引號(通常都是成對的用)。

15.關於Python中 Unicode 和 ASCII

電腦只能處理數字,如果要處理文本,就必須先把文本轉換為數字才能處理。Unicode把所有語言都統一到一套編碼里,這樣就不會再有亂碼問題了。Unicode標準也在不斷發展,但最常用的是用兩個位元組表示一個字元(如果要用到非常偏僻的字元,就需要4個位元組)。現代操作系統和大多數編程語言都直接支持Unicode。

ASCII編碼和Unicode編碼的區別:

ASCII編碼是1個位元組,而Unicode編碼通常是2個位元組,舉例如下。

  字母 A 用ASCII編碼是十進位的65,二進位的01000001;

  字元 0 用ASCII編碼是十進位的48,二進位的00110000,註意字元 '0' 和整數   

0 是不同的;

  漢字 中 已經超出了ASCII編碼的範圍,用Unicode編碼是十進位的20013,二進位的01001110 00101101。

  如果把ASCII編碼的 A 用Unicode編碼,只需要在前面補0就可以,因此, A 的Unicode編碼是00000000 01000001。

16.datetime模塊獲取時間

import datetime
i = datetime.datetime.now()
print ("當前的日期和時間是 %s" % i)
print ("ISO格式的日期和時間是 %s" % i.isoformat() )
print ("當前的年份是 %s" %i.year)
print ("當前的月份是 %s" %i.month)
print ("當前的日期是  %s" %i.day)
print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )
print ("當前小時是 %s" %i.hour)
print ("當前分鐘是 %s" %i.minute)
print ("當前秒是  %s" %i.second)

17.Python函數

函數參數的說明:

在 python 中,strings, tuples, 和 numbers 是不可更改的對象,而 list,dict 等則是可以修改的對象。

  • 不可變類型:變數賦值 a=5 後再賦值 a=10,這裡實際是新生成一個 int 值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當於新生成了a。

  • 可變類型:變數賦值 la=[1,2,3,4] 後再賦值 la[2]=5 則是將 list la 的第三個元素值更改,本身la沒有動,只是其內部的一部分值被修改了。

python 函數的參數傳遞:

  • 不可變類型:類似 c++ 的值傳遞,如 整數、字元串、元組。如fun(a),傳遞的只是a的值,沒有影響a對象本身。比如在 fun(a)內部修改 a 的值,只是修改另一個複製的對象,不會影響 a 本身。

  • 可變類型:類似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改後fun外部的la也會受影響

lamda匿名函數:只包含一個語句

# 可寫函數說明
sum = lambda arg1, arg2: arg1 + arg2;
 
# 調用sum函數
print "相加後的值為 : ", sum( 10, 20 )
print "相加後的值為 : ", sum( 20, 20 )

18.變數的作用域

定義在函數內部的變數擁有一個局部作用域,定義在函數外的擁有全局作用域。

局部變數只能在其被聲明的函數內部訪問,而全局變數可以在整個程式範圍內訪問。調用函數時,所有在函數內聲明的變數名稱都將被加入到作用域中。如下實例:

total = 0; # 這是一個全局變數
# 可寫函數說明
def sum( arg1, arg2 ):
   #返回2個參數的和."
   total = arg1 + arg2; # total在這裡是局部變數.
   print "函數內是局部變數 : ", total
   return total;
 
#調用sum函數
sum( 10, 20 );
print "函數外是全局變數 : ", total 

結果 局部變數為 30 全局變數為0

## 全局變數想作用於函數內,需加 global ##

19.導入模塊相關

當你導入一個模塊,Python 解析器對模塊位置的搜索順序是:

1、當前目錄

2、如果不在當前目錄,Python 則搜索在 shell 變數 PYTHONPATH 下的每個目錄。

3、如果都找不到,Python會察看預設路徑。UNIX下,預設路徑一般為/usr/local/lib/python/。

模塊搜索路徑存儲在 system 模塊的 sys.path 變數中。變數里包含當前目錄,PYTHONPATH和由安裝過程決定的預設目錄。

20.包

包是一個分層次的文件目錄結構,它定義了一個由模塊及子包,和子包下的子包等組成的 Python 的應用環境。

簡單來說,包就是文件夾,但該文件夾下必須存在 __init__.py 文件, 該文件的內容可以為空。__int__.py用於標識當前文件夾是一個包。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • urllib庫對照速查表 Python2.X Python3.X urllib urllib.request, urllib.error, urllib.parse urllib2 urllib.request, urllib.error urllib2.urlopen urllib.request ...
  • C++中rand()函數可以用來產生隨機數,但是是屬於偽隨機數。 rand()函數用法: 在使用rand()函數的時候,首先需要包含頭文件#include<stdlib.h>,用法是int rand(void),產生的隨機數範圍是0~65536,類型為unsigned int,不能超過範圍。rand ...
  • [ERROR] COMPILATION ERROR : [INFO] [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?[INFO] 1 er ...
  • CookiesMiddleware預設情況下實現了cookie在請求 響應之間的流轉和填充. 又可以通過 來實現單Spider多cookie. 通過讀源碼也解答了上一篇博文" "Scrapy框架 cookie的獲取/傳遞/本地保存" "中的疑惑. ...
  • 本節對Python Web框架學習 一、MTVModel: 存放所有資料庫相關文件Template:模板文件,存放html文件View: 業務處理,即函數文件 二、MVCmodel: 存放資料庫相關文件view: 存放所有的html文件controler: 存放所有的函數文件 三、DjangoDja ...
  • 最近在看公司項目源碼(Java)的時候,發現項目的結構非常清晰,後期維護非常便捷,原因就是運用了很多巧妙的開發技巧,在這裡也和大家分享一下,希望對你們有幫助。 ...
  • 1 import random 2 import os,shutil #文件的高級操作 3 import glob 4 5 print(random.choice('abcdefggh')) #隨機取一個字母 6 print(random.choice(["apple","beer","banana ...
  • Django內置admin 1.配置路由 2.定製admin 在admin.py中只需要講Mode中的某個類註冊,即可在Admin中實現增刪改查的功能,如: 但是,這種方式比較簡單,如果想要進行更多的定製操作,需要利用ModelAdmin進行操作,如: 3.ModelAdmin中提供了大量的可定製功 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...