1. 程式人生 > 實用技巧 >Python範例總結

Python範例總結

一、基礎功能

  1、操作符

  • and 擁有更高優先順序,會先行運算。
  • 優先順序順序為 NOT、AND、OR。

  2、列表

    1)列表拼接
l1 = [1,2,3]
l2 = [4,5,6]

# 方法1
# l1 = l1 + l2

# 方法2
# l1[len(l1):len(l1)] = l2

# 方法3
l1.extend(l2)
print(l1)

  3、函式

    1)範例1
def greetPerson(*name):
    print('Hello', name)
  
greetPerson('Runoob', 'Google')

##結果為Hello ('Runoob', 'Google')
    2)範例2

  加了星號 * 的引數會以元組(tuple)的形式匯入,存放所有未命名的變數引數。

x = True
def printLine(text):
    print(text, ' Runoob')
printLine('Python')

##Python  Runoob
    3)範例3
def Foo(x):
    if (x==1):
        return 1
    else:
        return x+Foo(x-1)

#n+n-1+1
print(Foo(100)) 

##結果是5050

二、進階功能

  1、函式

    1)偏函式
import functools
def func(a1,a2):
    print(a1,a2)


new_func = functools.partial(func, 666) ##666 傳給第一個引數
new_func(999)

##結果
666 999
    2)__開頭的函式有很多

  當把面向物件中的所有__函式__實現時,物件做任何操作時,都會執行其中對應的方法

  舉例1__add__


class Foo(object):
def __init__(self, num):
self.num = num

def __add__(self, other):
data = self.num + other.num
return Foo(data)


obj1 = Foo(1)
obj2 = Foo(2)

v = obj1.num + obj2.num

print(v)

## 結果是3
    3)鏈chain

  將每個列表的函式(功能)拼接到一個大的列表中,依次執行

from itertools import chain

def f1(x):
    return x + 1

func1_list = [f1,lambda x:x-1]

def f2(x):
    return x + 10

new_fun_list = chain([f2], func1_list)
for func in new_fun_list:
    print(func)

  列表也可以直接使用chain

from itertools import chain


l1 = [11,22,33]
l2 = [44,55,66]


new_list = chain(l1,l2)
for item in new_list:
    print(item)

  2、類

    1)繼承字典
class MyDict(dict):
    def __init__(self, *args, **kwargs):
        super(MyDict,self).__init__(*args, **kwargs)
        self['modify'] = True
        

obj = MyDict()
print(obj)
繼承字典

  2、web框架的本質

  https://www.cnblogs.com/wupeiqi/articles/5237672.html

    1)werkzeug
from werkzeug.wrappers import Request, Response

@Request.application
def hello(request):
return Response('Hello World!')

if __name__ == '__main__':
from werkzeug.serving import run_simple
run_simple('127.0.0.1', 40000, hello)
    2)wsgi

  WSGI(Web Server Gateway Interface)是一種規範,它定義了使用python編寫的web app與web server之間介面格式,實現web app與web server間的解耦。

  python標準庫提供的獨立WSGI伺服器稱為wsgiref。

from wsgiref.simple_server import make_server
 
 
def RunServer(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [bytes('<h1>Hello, web!</h1>', encoding='utf-8'), ]
 
 
if __name__ == '__main__':
    httpd = make_server('', 8000, RunServer)
    print("Serving HTTP on port 8000...")
    httpd.serve_forever()