Xây dựng với hàm dựng sẵn

Viết mã Python hiệu quả

Logan Thomas

Scientific Software Technical Trainer, Enthought

Thư viện chuẩn Python

  • Python 3.6 Standard Library
    • Có trong mọi bản cài đặt Python tiêu chuẩn
  • Kiểu dữ liệu dựng sẵn
    • list, tuple, set, dict, và khác
  • Hàm dựng sẵn
    • print(), len(), range(), round(), enumerate(), map(), zip(), và khác
  • Mô-đun dựng sẵn
    • os, sys, itertools, collections, math, và khác
Viết mã Python hiệu quả

Hàm dựng sẵn: range()

Gõ tường minh một danh sách số

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Viết mã Python hiệu quả

Dùng range() để tạo cùng danh sách

# range(start,stop)
nums = range(0,11)

nums_list = list(nums)
print(nums_list)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# range(stop)
nums = range(11)

nums_list = list(nums)
print(nums_list)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Viết mã Python hiệu quả

Hàm dựng sẵn: range()

Dùng range() với bước nhảy

even_nums = range(2, 11, 2)

even_nums_list = list(even_nums)
print(even_nums_list)
[2, 4, 6, 8, 10]
Viết mã Python hiệu quả

Hàm dựng sẵn: enumerate()

Tạo danh sách có chỉ số cho đối tượng

letters = ['a', 'b', 'c', 'd' ]

indexed_letters = enumerate(letters)

indexed_letters_list = list(indexed_letters)
print(indexed_letters_list)
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
Viết mã Python hiệu quả

Hàm dựng sẵn: enumerate()

Có thể chỉ định giá trị bắt đầu

letters = ['a', 'b', 'c', 'd' ]

indexed_letters2 = enumerate(letters, start=5)

indexed_letters2_list = list(indexed_letters2)
print(indexed_letters2_list)
[(5, 'a'), (6, 'b'), (7, 'c'), (8, 'd')]
Viết mã Python hiệu quả

Hàm dựng sẵn: map()

Áp dụng một hàm lên một đối tượng

nums = [1.5, 2.3, 3.4, 4.6, 5.0]

rnd_nums = map(round, nums)

print(list(rnd_nums))
[2, 2, 3, 5, 5]
Viết mã Python hiệu quả

Hàm dựng sẵn: map()

map() với lambda (hàm ẩn danh)

nums = [1, 2, 3, 4, 5]

sqrd_nums = map(lambda x: x ** 2, nums)

print(list(sqrd_nums))
[1, 4, 9, 16, 25]
Viết mã Python hiệu quả

Bắt đầu xây dựng với hàm dựng sẵn!

Viết mã Python hiệu quả

Preparing Video For Download...