天天看點

Python基礎學習-小小知識點

紙上得來終覺淺,絕知此事要躬行。

将理論應該到實踐中,才會發現以為很簡單的問題卻很容易混淆或者出錯,特記錄下Python學習中的小小知識點。

以下内容是在學習 程式設計入門—Python 的部分筆記

學習網址:http://mooc.study.163.com/learn/1000002017?tid=2001464005#/learn/announce”

1.Python中變量、函數、子產品命名規則

  • 可以任意長、大小寫敏感
  • 首個字元必須是字母或下劃線
  • 不能是關鍵字
2.range()函數

rang(2,10)----[2,3,4,5,6,7,8,9]

rang(2,10,3)----[2,5,8]

rang(10,2,-1)----[10,9,8,7,6,5,4,3]

備注:range()函數為“左閉右開”,即左邊起始值包含在内,右邊終止值不包含。

3.标準鍵盤輸入函數raw_input()與标準控制台輸出 print

可以轉換為需要的資料類型:radius=float(raw_input('R: '));注意如果寫提示字元,使用單引号。

\n 回車;  \t  Tab;  \\  一個\;   \'   單引号’;\" 雙引号”;  

4.  多分支結構 if/elif/else

elif相當于 else:if

if - elif - else 語句中else條件要放到最後;

5.函數

       關鍵字__函數名__參數

例:def printString(count):             -----函數頭

            print 'hello world!'    -----函數體

            count=1

            return count

6.字元串String

strName='xiao ming'

strName="xiao ming"

strNamr='''xiao ming'''  #可以儲存所有格式資訊

s=‘I\'m a student.’注意要使用轉義字元

  • 長度函數len()
  • 拼接 (+) 例:print " s+'ABC' "   其中s内容并沒有改變
  • 重複 (*)  例:s="abc"    p=s*3  print p  輸出 abcabcabc
  • 成員運算符(in) 傳回值為True 或者False[大小寫敏感]    例 name='xiao ming'   'ao' in name   輸出 True
  • 枚舉每個字元  for c in 'abcde':
  • 字元串索引(index)  索引可以前向(0開始)或者後向(-1開始)
  • Python基礎學習-小小知識點
  • 切片(Slicing)  [start:finish] 、[start:finish:countBy]

        start:子序列開始位置的索引值

        finish:子序列結束位置的下一個字元的索引值(索引值要比想要字元的索引值最大值+1)

        也可以加計算參數 s='hello world'  s=[0:11:2]     輸出 hlowrd

        獲得逆字元串  s=[::-1]    輸出

注意:

字元串一旦生成,内容是不能被改變的 例如 s='abc' s[1]='1'  會提示錯誤

通過切片操作,生成一個新的字元串 s=s[:1]+'1'+s[2:] (得将結果指派給s ,s的内容才回更新)

字元串方法(Methods)

s.replace(src,dst)  使用dst替換src的内容

s.find()

s.split()

dir(s)擷取其他更多方法的使用

  • 讀檔案
#mode 有r(讀,預設),w(寫)等
f=open(filename,mode)
#按行讀檔案内容
for line in f:
    pass
#關閉檔案
f.close()
#寫檔案
f.write(str)
           
字元串比較

【任何一個字元都對應一個數字】可以直接比較數字大小

【字元串比較】字典序

Python基礎學習-小小知識點
字元串格式化
#簡單的例子
print "he {} a boy {}".format('is','!')
#還可以在{}中定義格式
           
正規表達式 import re
Python基礎學習-小小知識點
清單(List)用來存儲一系列元素
Python基礎學習-小小知識點
#讀取30個數字,并計算平均數
nums=[]
for i in rang(30):
    nums,append(float(raw_input()))
s=0
for num in nums:
    s+=nums
avg = s/30
print avg
           
時間複雜度
Python基礎學習-小小知識點
排序
#冒泡排序
def bubble_sort(list_t):
    exchanged = True
    lenT = len(list_t)-1
    while exchanged:
        exchanged = False
        for i in range(lenT):
            if list_t[i]>list_t[i+1]:
               s=list_t[i]
               list_t[i]=list_t[i+1]
               list_t[i+1]=s
               exchanged = True
        lenT -= 1
    return list_t

nums=[2,7,9,8,6,0,3]       
bubble_sort(nums)
print nums
           
元組(Tule)
Python基礎學習-小小知識點

字典與集合

使用{}建立字典   鍵:值

聲明:歡迎大家一起學習交流,如有錯誤請及時指正,謝謝大家~~~