Tìm kiếm Blog này

Thứ Tư, 29 tháng 3, 2017

Python - Day 7

29/3/2017
Class trong Python:
I. Các khái niệm:
  • Lớp (Class): Là một kiểu dữ liệu do người dùng định nghĩa, tập hợp nhiều thuộc tính đặc trưng cho mọi đối tượng được tạo ra từ lớp đó. Các thuộc tính là các biến thành viên hoặc phương thức. - Hay nói cách khác : 
    • Class như một bản vẻ cơ bản bản của một ngôi nhà - Nó chỉ chứa đựng các thiết kế để cho ra một ngôi nhà nếu có đầy đủ các phương tiện cũng như vật liệu cần thiết
  • Đối tượng (Object): Một thể hiện cụ thể của cấu trúc dữ liệu được định nghĩa trong lớp. Một đối tượng bao gồm cả các biến thành viên và phương thức.
    • Object như một ngôi nhà đã được tạo ra từ Class với các vật liệu và phương thức cần thiết - Nhưng bên trong ngôi nhà thì khác nhau phụ thuộc vào ng sở hữu chúng (chỉ giống nhau bề ngoài).
  • Biến thành viên (Data member): Biến được định nghĩa trong lớp hoặc trong đối tượng.
  • Phương thức (Method): Hàm được định nghĩa trong lớp nhằm thực hiện một công việc nào đó.
  • Kế thừa (Inheritace): Một tính chất của các ngôn ngữ lập trình hướng đối tượng cho phép các lớp kế thừa, thừa hưởng các đặch trưng của lớp được kế thừa.
II. Cấu trúc tạo một class:

  1. class ClassName:
  2. statement_1
  3. .
  4. .
  5. statement_n

Ví dụ thực tế:

    1. #!/usr/bin/python
    2. class Animal:  # tạo một lớp
    3.  def __init__(self, genus, age)
    4. # __init__ : Animal(genus,age) | self: dung để tham chiếu đến các đối tượng Animal.genus
    5.   self.genus = genus          # self để trỏ đến đối tượng được tham chiếu - như this trong C++
    6.   self.age = age
    7.  def foot(self):
    8.   print ("Goodbyle")
    9.  def say(self):
    10.   pass
   Có thể có hoặc không có __init__Nếu không có __init__ thì không thêm self và không thể truy cập đối tượng trong class được
II. Gọi Class và thao tác với đối tượng trong class:

  1. #Gọi Class Animal
  2. animals  = Animal("Big", 10)
  3. # Truy xuất đến các đối tượng genus và age trong Animal
  4. animals.genus
  5. animals.age
  6. # Thay đổi giá trị các đối tượng:
  7. big.genus = "Big Big"
  8. big.age = 100
  9. animals.foot()
  10. ===> Goodbyle
  11. animals.color = "Red"  ===> thêm thuộc tính màu
  12. animals.color
  13. ==> Red
  14. del.animals.color   # Xóa thuộc tính màu

Thứ Tư, 15 tháng 3, 2017

Think Python - Day 6

15/3/2017

Module:

Module được sử dụng để phân loại code thành các phần nhỏ hơn liên quan với nhau. Hay nói cách khác, Module giúp bạn tổ chức Python code một cách logic để giúp bạn dễ dàng hiểu và sử dụng code đó hơn. Module là một file.py trong đó có chứa các hàm, class hoặc câu lệnh thực thi được.


Ví dụ tạo một module và import vào file.py:

Tạo một module calcul.py

  1. # Khai bao ham
  2. def add(a,b):
  3.     return a+b
  4. def sub(a,b):
  5.     return (a - b)
Tạo một file python test_module.py


  • Import "phần vỏ module"

  1. # Import module vào file
  2. import calcul # tên module
  3. print (calcul.add(10,10)) # calcul là tên module | add() là tên hàm (hoặc một phương thức) trong module calcul
  4. print (calcul.sub(20,10))
  • Import "sâu bên trong - từng thuộc tính cụ thể của module"
  1. from calcul import add
  2. print(add(10,10))
  3. from calcul import add
  4. print(sub(20,10))       # Trình biên dịch báo lỗi
  • Import "sâu bên trong - tất cả thuộc tính của module"
  1. from calcul import *
  2. print(add(10,10))
  3. print(sub(20,10))



Package:
Package trong python là một tập hợp các module hoặc sub-package được xắp xếp có thứ tự

  • Các bước tạo một package:
1.Tạo thư mục package chứa các module hoặc sub-package:   
  1. from os import *
  2. mkdir ("C:/../Package-name") #tạo thư mục package

2.Đặt các module hoặc sub-package vào thư mục vừa tạo:
  • Ta có các module calcul sau:
          calcul
  1. # Khai bao ham
  2. def add(a,b):
  3.     return a+b
  4. def sub(a,b):
  5.     return (a - b)
      calcul1
  1. # Khai bao ham
  2. def add1(a,b):
  3.     return a+b
  4. def sub1(a,b):
  5.     return (a - b)
           calcul2
  1. # Khai bao ham
  2. def add2(a,b):
  3.     return a+b
  4. def sub2(a,b):
  5.     return (a - b)

3.Tạo một file __init__.py tại thư mục package :
  1. # __init__
  2. # import tất cả các thuộc tính của từng module
  3. from calcul import *
  4. from calcul1 import *
  5. from calcul2 import *

4.Import package và sử dụng các thuộc tính:
 ** Lưu ý là file import package này phải nằm ngoài thư mục package
  1. # import package
  2. import Package-name  #Package-name là tên thư mục package vừa tạo
  3. print(package-name.calcul.add(10,10))
  4. print(package.add(20,10))
  5. # from package import *
  6. from package import *  # import tất cả các module có trong package
  7. print (calcul.add(10,10))
  8. print (add(10,10))


File __init__.py thực chất là một file để khởi tạo thuộc tính package cho Package-name. Báo cho trình biên dịch biết thư mục Package-name là thư mục Package chứa các module calcul calcul1 calcul2