Python學習心得


1.

Python 作為一個近年備受好評的語言,它的一些優點讓人無法忽視。

代碼簡潔、可移植性強、可代入c,c++語言,或自身作為包供其他語言使用。復制代碼不必考慮轉義直接就能運行,這些都是他的優勢。

python的數據類型和大多語言相似,創建變量卻很簡單,無需顯示創建,直接變量名加類型表示,如“”、‘’都表示創建字符串,數字表示integral,加.表示float,false、true表示布爾類型。

和數組相似的列表,並且其值可以是不同類型。不可修改值但可以合並的元組。鍵值一一對應的字典。

刪除變量用del關鍵字。

輸出語句的關鍵字是:Print,使用方法是Print “內容”,變量;

運算符多了幾個如:冪運算符(**),and'or'not,in'notin,is'isnot,另外**運算符的優先級最高。

2.

Python提供了順序、條件、循環  三種流程語句。

If=>單條件語句,true執行false不執行。

  示例-&  判斷用戶輸入  iuputStr=input("請輸入一個數字")   \r   inputNum=int(inputStr)   \r

   if  inputNum==13 :  input "您輸入的為13" 

如果要進行不同判斷的結果的不同執行方式  用 if elif  兩個結果用 if else 

相比C#Python沒有do while 循環,break 終止循環  、continue 跳出當前循環 、pass占位符 、whlie 循環。 

死循環用ctrl+c來退出 , for 循環遍歷列表    for  標識符  in  對象名      

fol else   \else 在for 正常循環結束之后執 行操作       

這幾種語句可以嵌套使用 

try:except:else: -異常處理   示例-&  try :  \r  可能異常的代碼  \r  except : \r  異常處理代碼  \r  else : 沒有發生異常的代碼 

try:fimally :   -  有沒有異常都被執行 

raise 自己產生的異常,后面代碼不被執行

3.

    Python函數類似於方法,定義是由[]def關鍵字 + 函數名(形參名) :  函數體    \r    return  #不加則返回None

調用是[]函數名(實參)

 

    傳遞參數有四種方式  1.(arg1,arg2)這個必須傳入數量相等且順序一至的參數

                                  2. (arg1,arg2=value2)這種可以只傳arg1,arg2則為value2

                                  3.(*arg)這種參數數量可以是0~N個

                                  4.(**arg)這種以字典形式傳入

    Python不像C#區分按值傳遞還是按引用傳遞,而是根據傳入對象自動划分。 Python變量作用域->def,calss,lanba最小為函數。順序語句並不包括在內。global能將局部變量轉化為全局變量

 

    Python也有一套自己的字符處理函數,機本都已str.為前綴,如下:

  []con() 獲取字符長度、[]opper() 全部大寫、[]lower() 全部小寫、 []swapcase() 大小寫轉換、[]capitalize() 首字母大寫其余全部小寫、[]title() 首字母大寫、 []str="%d%s",%(數字)%("字符")、 []find("a") 搜索指定的字符,找不到返回-1  下面是它的幾種格式

[]find("a",下標) 以定位下標起查、[]find("a",下標,下標) 以定位下標起始查

[]count() 搜索有多少個指定的字符串、 []replace("a","b") 替換字符串、[]strip() 去除空格、 []split("a") 以指定字符分割文本、

[]startswitch("a")  判斷是否以指定字符開頭、 []endswitch("a") 判斷是否以指定字符結尾

 

    集合和列表的區別是:列表是有序的,集合是無序的。所以集合不能添加索引。

    用newset=set(%對象) 來創建集合

    用遍歷的方法查看內容元素。

    []add() 添加元素、 update() 修改元素、 remove() 刪除元素、 list(%集合) 將集合轉換為列表、 str(%集合) 將集合轉換為字符、 tuple(%集合) 將集合轉換為元組

 

    Python反射,簡單來說就是引用函數對象。在C#中需要繼承或者導入命名空間,但在Python中只要記住函數名就行了。

(1)引用內部函數  []    funName=globals()[%函數名](參數)  \r   funName

(2)引用外部函數  []    模塊名=_import_("%文件名")    \r   className= getattr(%模塊名,%類名)    \r    className.%函數名(%參數)

   

    Python時間模塊是由time類提拱的,每個時間戳都以1970年1月1日0點0分到最多2038年

    time類的函數以time.作為前綴

    [] time()獲取當前時間綴、 localtime(time.time()) 時間綴向時間元組轉換、

 strftime("%Y-%m-%d %H:%M:%S",time.localtime()) 將時間元組轉換成‘2016-01-01 00:00:00’的格式

  strptime(%字符串,"%Y-%m-%d %H:%M:%S") 把字符串轉換為時間元組

  mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")) 將格式字符串轉化為時間綴

  %y年份(00-99) %I小時(01-12)

4.

    Python 的程序設計思想既包含面向對象也包含面向過程

  類的語法:[] class   className():    \r    "類的說明"    \r   class_suite #類的成員體

  class_suite 由 成員、方法、屬性 組成。構造方法 [] def _init_(self)

  創建類對象 [] 類對象Name=%className()

 

    Python也包含繼承,它是面向對象的一個重要思想,子類可以繼承父類的行為特征也可以擴展新的行為特征。因為如果出現兩個相似的類會出現很多的重復代碼。

   繼承類的語法:[]  class className(%另一個類Name)

  如果需要重寫父類的方法來保證自己的先進 []  def 父類方法Name()  def_suite   

5.

Python數據庫連接

Python支持很多的數據庫如 》SqlServer、Oracle、MySql。

那它是如何連接的呢?

    A。在指定官網下載安裝。(示例為MySql)  B。測試有沒有安裝成功,新建Other工程,修改編碼格式為UTF-8。*導包import MySql*如果沒有報異常則安裝成功。  C。使用MySqldb的connect 方法連接數據庫。

  新建數據庫方法—— 用Navicat 工具 建立連接,沒有特別的要求。右鍵新建數據庫  字符集選則utf-8,排列方試選第一個

   連接方法——conn=MySqldb.Connect(host  ="localhost",user="%用戶名",password="%用戶密碼",db="%數據庫名",charset="%字符編碼格式")#utf8沒有"-"

  

 用Python語言對數據庫操作

[]增刪改——

  用conn對象,使用.cursor()方法 獲取游標對象,定義sql執行語句和輸入參數,使用游標對象的execute(,)方法執行Sql語句,用.colse()方法將conn連接對象and游標對象關閉。、

 示例 ——&

  cursor=conn.cursor()   \r   sql="insert into User(UserName,password) values (%s,%d)"  \r  paramTuple=("jack",123456)  \r  cursor.execute(sql,param)  \r  conn.close()  \r  cursor.colse()

 

[]查詢 ——

  前面都一致,但查詢需要輸岀結果。用獲取到的游標對象的.fetch()方法得到查詢結果列表。用for 循環輸岀下標對象

示例 ——&

  result=cursor.fetch()  \r  for  row  in  result : \r  name=row[0]  \r  password=row[1]

 

JSON 是一個輕量級的JavaScript數據交換格式,是近幾年岀現的。Python2.6之后的版本不需要下載JSON包

  視頻里介紹了JSON字符串和Python字典的互轉

 示例 ——&

 data={"name":"張三","age":"20"}   \r  jsonstr=json.dumps(pydict)

  pydict=json.loads(jonstr)

 

 

 

 

 

 

                                 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM