1. 程式人生 > >用了這麽久的python,這些零碎的基礎知識,你還記得多少?

用了這麽久的python,這些零碎的基礎知識,你還記得多少?

hello 函數 urn 還記得 運算符優先級 指定位置 local 推薦 個數

python內置的數據類型

技術分享圖片

Python3.7內置的關鍵字

[‘False‘, ‘None‘, ‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘async‘, ‘await‘, ‘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‘]

格式化輸出

A = ‘dog‘
print(‘It is a %s‘ % A ) # --> It is a dog
# 格式符可以是 %d整數 %f浮點數
print(‘%06d‘% 1111) #-->001111 # 拿0補全6位,不寫0就是拿空格補全6位
print(‘%.3f‘ %1.2) #-->1.200 # 保留3位小數
print(‘It is a {}‘.format(A) ) # --> It is a dog

關於format函數還可以設置參數,傳遞對象:format多種用法

邏輯運算符優先級and or not

當not和and及or在一起運算時,優先級為是not>and>or

字符串常見操作

<1>find
檢測 str 是否包含在 mystr中,如果是返回開始的索引值,否則返回-1
mystr.find(str, start=0, end=len(mystr))
<2>index
跟find()方法一樣,只不過如果str不在 mystr中會報一個異常.
mystr.index(str, start=0, end=len(mystr))?
<3>count
返回 str在start和end之間 在 mystr裏面出現的次數
mystr.count(str, start=0, end=len(mystr))
<4>replace
把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.

mystr.replace(str1, str2, mystr.count(str1))
<5>split
以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 個子字符串
mystr.split(str=" ", 2)?
<6>capitalize
把字符串的第一個字符大寫
mystr.capitalize()
<7>title
把字符串的每個單詞首字母大寫

>>> a = "hello world"
>>> a.title()
‘Hello world‘

<8>startswith
檢查字符串是否是以 hello 開頭, 是則返回 True,否則返回 False
mystr.startswith(hello)
<9>endswith
檢查字符串是否以obj結束,如果是返回True,否則返回 False.
mystr.endswith(‘.jpg‘)
<10>lower
轉換 mystr 中所有大寫字符為小寫
mystr.lower()?
<11>upper
轉換 mystr 中的小寫字母為大寫
mystr.upper()?
<12>ljust
返回一個原字符串左對齊,並使用空格填充至長度 width 的新字符串
mystr.ljust(width)?
<13>rjust
返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串
mystr.rjust(width)?
<14>center
返回一個原字符串居中,並使用空格填充至長度 width 的新字符串
mystr.center(width)?
<15>lstrip
刪除 mystr 左邊的空白字符
mystr.lstrip()
<16>rstrip
刪除 mystr 字符串末尾的空白字符
mystr.rstrip()?
<17>strip
刪除mystr字符串兩端的空白字符

>>> a = "\n\t hello \t\n"
>>> a.strip()
‘hello ‘

<18>rfind
類似於 find()函數,不過是從右邊開始查找.
mystr.rfind(str, start=0,end=len(mystr) )
<19>rindex
類似於 index(),不過是從右邊開始.
mystr.rindex( str, start=0,end=len(mystr))
<20>partition
把mystr以str分割成三部分,str前,str和str後
mystr.partition(str)
<21>rpartition
類似於 partition()函數,不過是從右邊開始.
mystr.rpartition(str)
<22>splitlines
按照行分隔,返回一個包含各行作為元素的列表
mystr.splitlines()?
<23>isalpha
如果 mystr 所有字符都是字母 則返回 True,否則返回 False
mystr.isalpha()?
<24>isdigit
如果 mystr 只包含數字則返回 True 否則返回 False.
mystr.isdigit()?
<25>isalnum
如果 mystr 所有字符都是字母或數字則返回 True,否則返回 False
mystr.isalnum()?
<26>isspace
如果 mystr 中只包含空格,則返回 True,否則返回 False.
mystr.isspace()?
<27>join
mystr 中每個元素後面插入str,構造出一個新的字符串
mystr.join(str)

列表相關操作

  • 修改元素
    修改元素的時候,要通過下標來確定要修改的是哪個元素,然後才能進行修改
  • 查找元素("查"in, not in, index, count)

    index和count與字符串中的用法相同
    >>> a = [‘a‘, ‘b‘, ‘c‘, ‘a‘, ‘b‘]
    >>> a.index(‘a‘, 1, 3) # 註意是左閉右開區間
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: ‘a‘ is not in list
    >>> a.index(‘a‘, 1, 4)
    3
    >>> a.count(‘b‘)
    2
    >>> a.count(‘d‘)
    0
  • 刪除元素("刪"del, pop, remove)
    del:根據下標進行刪除,關鍵字del list[1]
    pop:刪除並返回最後一個元素list.pop()還可以指定位置刪除list.pop(0)
    remove:根據元素的值進行刪除,函數list.remove(‘dog‘)
  • 排序(sort, reverse)
    reverse方法是將list逆置list.reverse()
    sort是將原list排序,a.sort(reverse=True)?# reverse=True 是對倒序排序
    sorted是返回一個新列表
    sorted和sort都有個參數key,key可以是lambda函數,來指定排序排序規則

    •   >>> sorted(L, key=lambda x:x[1])     # 利用key按照每個元素的1下標的子元素排序
        [(‘a‘, 1), (‘b‘, 2), (‘c‘, 3), (‘d‘, 4)]

字典

  • 查找元素

    a = {‘a‘:1}
    print(a.setdefault(‘b‘, 2)) # --> 2 # 找不添加到字典中
    print(a.get(‘c‘))           # --> None # 找不到不報錯
    print(a)                    # --> {‘a‘: 1, ‘b‘: 2}
  • 刪除元素

    a = {‘a‘: 1, ‘b‘: 2}
    del a[‘a‘] # 刪除指定key
    del a      # 刪除整個字典在內存裏清除
    clear a    # 清空字典,a={}
  • 字典常見操作?
    <1>dict.len()
    測量字典中,鍵值對的個數
    <2>dict.keys()
    返回一個包含字典所有KEY的列表
    <3>dict.values()
    返回一個包含字典所有value的列表
    <4>dict.items()
    返回一個包含所有(鍵,值)元祖的列表

       - 後三個功for遍歷使用
    

枚舉enumerate()

enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。

>>> chars = [‘a‘, ‘b‘, ‘c‘, ‘d‘]
>>> for i, chr in enumerate(chars):
...     print i, chr # 輸出下標和對應的元素

集合

集合是無序的,集合中的元素是唯一的,集合一般用於元組或者列表中的元素去重。
定義一個集合set1=set(),註意:不能使用{}這是字典

  • 添加元素(add,update)
set1 = {1, 2, 4, 5}
set1.add(6) # 添加一個元素
set1.update("abcd") #是把要傳入的元素拆分,做為個體傳入到集合中
  • 刪除元素(remove,pop,discard)

    • set1.remove(22)刪除集合中的元素 如果有 直接刪除 如果沒有 程序報錯
    • set1.pop()隨機刪除集合中的元素 如果set1沒有元素講程序報錯
    • set1.discard(2)如果元素存在 直接刪除 如果元素不存在 不做任何操作
  • 交並差集(&|-) 都是返回一個新集合

數據類型的公共方法

運算符 Python 表達式 結果 描述 支持的數據類型
+ [1, 2] + [3, 4] [1, 2, 3, 4] 合並 字符串、列表、元組
* [‘Hi!‘] * 4 [‘Hi!‘, ‘Hi!‘, ‘Hi!‘, ‘Hi!‘] 復制 字符串、列表、元組
in 3 in (1, 2, 3) True 元素是否存在 字符串、列表、元組、字典
not in 4 not in (1, 2, 3) True 元素是否不存在 字符串、列表、元組、字典

python內置函數

  • max() 返回最大元素
  • min() 返回最小元素
  • len(容器)
  • del(變量) 刪除變量
  • map(function, iterable, ...)?
    根據提供的函數對指定序列做映射
  • reduce(function, iterable[, initializer]) # initializer是初始參數
    對參數序列中元素進行累積
  • filter(function, iterable)
    用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的叠代器對象(py3)。py2返回列表

大家在學python的時候肯定會遇到很多難題,以及對於新技術的追求,這裏推薦一下我們的Python學習扣qun:784758214,這裏是python學習者聚集地!!同時,自己是一名高級python開發工程師,從基礎的python腳本到web開發、爬蟲、django、數據挖掘等,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每日分享一些學習的方法和需要註意的小細節

技術分享圖片

用了這麽久的python,這些零碎的基礎知識,你還記得多少?