Trung trong Python

Cấu trúc dữ liệu Python linh hoạt, có thể mở rộng để sử dụng chung. Nhận dữ liệu vào và ra một cách đáng tin cậy, không cần soạn sẵn và với tốc độ

middle đứng trên vai của attrs và nhằm mục đích đơn giản nhất có thể để lấy dữ liệu từ các đối tượng phức tạp sang nguyên hàm Python và ngược lại, với trình xác thực, trình chuyển đổi, nhiều đường và các tiện ích khác. trung gian có thể được sử dụng với khung web ưa thích của bạn, ứng dụng công việc nền, trình phân tích cú pháp cấu hình, v.v.

xem lén

Ví dụ đơn giản nhất về phần giữa và một số tính năng của nó [sử dụng Python 3. 6+ cú pháp]

>>> import typing
>>> import middle

>>> class Address[middle.Model]:
..     street_name: str
..     number: typing.Optional[int]
..     city: str

>>> class Person[middle.Model]:
..     name: str
..     age: int
..     address: typing.Dict[str, Address]

>>> data = {
..     "name": "John Doe",
..     "age": 42,
..     "address": {
..         "home": {
..             "street_name": "Foo St",
..             "number": None,
..             "city": "Python Park"
..         },
..         "work": {
..             "street_name": "Bar Blvd",
..             "number": "1337",
..             "city": "Park City"
..         }
..     }
.. }

>>> person = Person[data]

>>> person
Person[name='John Doe', age=42, address={'home': Address[street_name='Foo St', number=None, city='Python Park'], 'work': Address[street_name='Bar Blvd', number=1337, city='Park City']}]

>>> middle.asdict[person]
{'name': 'John Doe', 'age': 42, 'address': {'home': {'street_name': 'Foo St', 'number': None, 'city': 'Python Park'}, 'work': {'street_name': 'Bar Blvd', 'number': 1337, 'city': 'Park City'}}}

Muốn có một ví dụ phức tạp hơn, với Python 3. 5 cú pháp tương thích?

>>> from typing import Dict, List
>>> import middle

>>> class Game[middle.Model]:
..     name: str = middle.field[]
..     score: float = middle.field[minimum=0, maximum=10]
..     resolution_tested: str = middle.field[pattern="^\d+x\d+$"]
..     genre: List[str] = middle.field[unique_items=True]
..     rating: Dict[str, float] = middle.field[max_properties=5]

>>> data = {
..     "name": "Cities: Skylines",
..     "score": 9.0,
..     "resolution_tested": "1920x1200",
..     "genre": ["Simulators", "City Building"],
..     "rating": {
..         "IGN": 8.5,
..         "Gamespot": 8.0,
..         "Steam": 4.5
..     }
.. }

>>> game = Game[**data]

>>> game
Game[name='Cities: Skylines', score=9.0, resolution_tested='1920x1200', genre=['Simulators', 'City Building'], rating={'IGN': 8.5, 'Gamespot': 8.0, 'Steam': 4.5}]

>>> middle.asdict[game]
{'name': 'Cities: Skylines', 'score': 9.0, 'resolution_tested': '1920x1200', 'genre': ['Simulators', 'City Building'], 'rating': {'IGN': 8.5, 'Gamespot': 8.0, 'Steam': 4.5}}

ở giữa đủ linh hoạt để hiểu Enum, các mô hình lồng nhau và nhiều loại khác nhau được khai báo trên mô-đun đánh máy. Ngoài ra, bạn có thể mở rộng nó cho các lớp học của riêng bạn

Sử dụng cắt chuỗi để lấy các ký tự từ giữa chuỗi, e. g. result = my_str[start_index:stop_index]. Phần của chuỗi sẽ bắt đầu tại chỉ mục đã chỉ định và sẽ tăng lên, nhưng không bao gồm chỉ mục stop đã chỉ định

Ví dụ đầu tiên sử dụng cắt chuỗi để trích xuất các ký tự từ giữa chuỗi

Cú pháp cắt chuỗi là my_str[start:stop:step]

Chỉ số start là bao gồm, trong khi chỉ số stop là loại trừ [tối đa, nhưng không bao gồm]

Các chỉ mục của Python dựa trên số 0, vì vậy ký tự đầu tiên trong chuỗi có chỉ mục là 0 và ký tự cuối cùng có chỉ mục là -1 hoặc len[my_str] - 1

Phương thức trả về chỉ mục của lần xuất hiện đầu tiên của chuỗi con được cung cấp trong chuỗi

Lát cắt bắt đầu tại chỉ mục 5 và đi lên nhưng không bao gồm chỉ mục 9

Một cách dễ dàng để nghĩ về nó là lát cắt bắt đầu tại chỉ mục đã chỉ định và đi đến chỉ mục dừng đã cho trừ đi 1

Nếu bạn cần lấy ký tự giữa của chuỗi, hãy sử dụng hàm sau

Nếu chuỗi trống, chúng tôi trả về một chuỗi trống

Nếu chuỗi có số ký tự chẵn, chúng tôi trả về ký tự ở giữa bên trái

Nếu chuỗi có số ký tự lẻ ta trả về ký tự ở giữa

Chúng ta đã sử dụng toán tử chia sàn [//] vì phép chia stop0 của số nguyên cho kết quả là một số thực, trong khi phép chia sàn stop1 của số nguyên cho kết quả là một số nguyên

Trong hướng dẫn lập trình python này, chúng ta sẽ tìm hiểu cách tìm số ở giữa trong danh sách số. Ví dụ: nếu danh sách là [1,6,5,4,3] thì phần tử ở giữa là 4. Vì hai số 1,3 bé hơn 4 và hai phần tử 5,6 lớn hơn 4. Danh sách của chúng tôi sẽ chứa một số phần tử lẻ

thuật toán

Bạn có thể giải quyết vấn đề này bằng cách lần lượt duyệt qua từng phần tử của danh sách và kiểm tra từng phần tử xem nó có phải là phần tử ở giữa hay không. Chúng ta có thể kiểm tra nó bằng cách so sánh số lượng của tất cả các phần tử nhỏ hơn và lớn hơn trong danh sách. Nếu đối với một số, danh sách chứa số lượng nhỏ hơn và số lớn hơn bằng nhau, thì nó sẽ là số ở giữa trong danh sách đó. Vấn đề chính của giải pháp này là chúng ta cần lặp lại danh sách nhiều lần

Một cách khác và cách ưa thích nhất để giải quyết vấn đề này là sắp xếp danh sách. Nếu chúng ta sắp xếp danh sách, nó sẽ di chuyển phần tử ở giữa vào giữa. Sử dụng độ dài của danh sách, chúng ta có thể dễ dàng tìm ra phần tử ở giữa

Sắp xếp danh sách trong python

Python đi kèm với một phương thức sẵn có 'sort[]' để sắp xếp các phần tử của danh sách theo thứ tự tăng dần hoặc giảm dần. Nó không nhận bất kỳ tham số nào nhưng bạn có thể tùy chọn chuyển một tham số 'đảo ngược' để sắp xếp danh sách theo thứ tự đảo ngược

Nếu 'reverse' là 'True', danh sách sẽ được sắp xếp theo thứ tự đảo ngược. Mặt khác, nó sẽ sắp xếp danh sách theo thứ tự tăng dần, đây là hành vi mặc định

phương thức sort[] không trả về bất kỳ giá trị nào. Nó sẽ sửa đổi danh sách ban đầu

Trong ví dụ này, chúng tôi sẽ sắp xếp danh sách theo thứ tự mặc định. Trên thực tế, chúng ta có thể sắp xếp nó theo bất kỳ thứ tự nào chúng ta muốn. Phần tử mid sẽ luôn được đặt ở giữa nếu danh sách được sắp xếp

Làm cách nào để gọi một hàm trong Python?

Để gọi một hàm, bạn viết tên hàm theo sau là dấu hai chấm . N. B. Đảm bảo rằng bạn không chỉ định lệnh gọi hàm bên trong khối chức năng. Nó sẽ không hoạt động theo cách đó vì cuộc gọi sẽ được coi là một phần của chức năng để chạy.

Len hoạt động như thế nào?

Định nghĩa và cách sử dụng . Khi đối tượng là một chuỗi, hàm len[] trả về số ký tự trong chuỗi. returns the number of items in an object. When the object is a string, the len[] function returns the number of characters in the string.

Chủ Đề