天天看點

【Python】基礎用法

文章目錄

    • 字元串拼接
      • %
      • %+字典
      • format()
      • ()
      • 面向對象模闆拼接
      • +
      • join
      • f-string
    • 字元串查找
      • 擷取GET請求的參數
      • 擷取POST請求的參數

字元串拼接

%

%号格式化字元串的方式繼承自古老的C語言,這在很多程式設計語言都有類似的實作。上例的%s是一個占位符,它僅代表一段字元串,并不是拼接的實際内容。實際的拼接内容在一個單獨的%号後面,放在一個元組裡。類似的占位符還有:%d(代表一個整數)、%f(代表一個浮點數)、%x(代表一個16進制數),等等

print('%s %s' % ('hello','python'))
           

%+字典

str='%(start_time)s -- %(end_time)s 測試字元串拼接' % {'start_time': start_time, 'end_time': end_time}
           

format()

這種方式使用花括号{}做占位符,在format方法中再轉入實際的拼接值。容易看出,它實際上是對%号拼接方式的改進。

s1 = 'Hello {}! My name is {}.'.format('World', 'Python貓')
s1 = 'Hello {0}! My name is {1}.'.format('World', 'Python貓')
print(s1)
           

()

s_tuple = ('Hello', ' ', 'world')
s_like_tuple = ('Hello' ' ' 'world')

print(s_tuple) 
>>>('Hello', ' ', 'world')
print(s_like_tuple) 
>>>Hello world

type(s_like_tuple) >>>str
           

面向對象模闆拼接

from string import Template
s = Template('${s1} ${s2}!') 
print(s.safe_substitute(s1='Hello',s2='world')) 
>>> Hello world!
           

+

str_1 = 'Hello world! ' 
str_2 = 'My name is Python貓.'
print(str_1 + str_2)
>>>Hello world! My name is Python貓.
           

join

str_list = ['Hello', 'world']
str_join1 = ' '.join(str_list)
str_join2 = '-'.join(str_list)
print(str_join1) >>>Hello world
print(str_join2) >>>Hello-world
           

如果是連接配接數值清單,像上面這麼寫,會報錯。如下寫能解決:

','.join(map(str, a)) 
           

f-string

name = 'world'
myname = 'python_cat'
words = f'Hello {name}. My name is {myname}.'
print(words)
>>> Hello world. My name is python_cat.
           

當要處理字元串清單等序列結構時,采用join()方式;拼接長度不超過20時,選用+号操作符方式;長度超過20的情況,高版本選用f-string,低版本時看情況使用format()或join()方式。

字元串查找

判斷一個字元串,是否包含 字元串a,字元串b,字元串c中的其中任何一個 可以用any()函數

a = "I Love Crystal!And I Hate Tom!"
name_list = ["Jessie", "Tom", "Crystal"]
 print(any(name in a for name in name_list))
True
 name_list = ["Jessie", "Tomi", "Rose"]
print(any(name in a for name in name_list))
False
           

擷取GET請求的參數

param=request.GET.get('college')
           

擷取POST請求的參數

param=request.data