Bài 4: Nhận dạng nhanh một số kiểu Biến - Variables trong Python

Học lập trình Python
  • Tiếp theo bài Cú pháp trong Python, mình xin giới thiệu tới các bạn một số kiểu biến quan trong trong ngôn ngữ Python. Đã làm lập trình thì phải biết đến Biến, cách sử dụng Biến nó như thế nào cho linh hoạt. Bài viết này rất quan trọng nên các bạn chú ý nhé.

    Biến là gì?

    Variables are containers for storing data values.

    Đó, khái niệm về Biến chính là như vậy đó. Nó là nơi, khu vực, thùng phi lưu trữ, công-tai-ner lưu trữ những giá trị dữ liệu.

    Ví dụ: bạn có 2 biến a và b. Biến a = 2, biến b = 3 và một biểu thức phép tính a + b = c. Vậy thì c trong chương trình của bạn sẽ bằng 5. Đúng chứ?

    Biến chính là như vậy, bất kể là chuỗi hay là số, là dài hay là ngắn nó đều có thể lưu trữ được cho bạn.

    Biến được khởi tạo ra ngay khi bạn gắn cho nó một giá trị. Ví dụ nhé:

    x = 5
    y = "John"
    print(x)
    print(y)
    

    Biến trong Python không cần bạn phải khai báo kiểu cho nó. Thậm chí, bạn có thể đổi kiểu của Biến trong chương trình của bạn luôn cũng được.

    x = 4 # x đang có kiểu là int, tức là kiểu số
    x = "Sally" # lúc sau gắn x là kiểu str cũng được, chương trình vẫn hoạt động. Hay chưa?
    print(x)
    

    Casting - Ép kiểu

    Nếu bạn muốn chỉ định kiểu dữ liệu của một biến, điều này có thể được thực hiện bằng cách ép kiểu.

    x = str(3) # x có giá trị là chuỗi '3'
    y = int(3) # y có giá trị là số nguyên 3
    z = float(3) # z là số thưc 3.0
    

    Đại loại bạn ghét thằng nào, không muốn cho nó sống theo cách của nó thì ép nó. Biến thẳng thành cong cũng được nhé, tuỳ ý bạn sử dụng để thuận tiện cho chương trình của bạn.

    Lấy kiểu của Biến

    Đôi lúc bạn muốn biết giá trị mà bạn đang có nó thuộc kiểu gì. String hay Int? Để biết được chính xác thì Python cung cấp cho bạn một chức năng đó là type()

    x = 5
    y = "John"
    print(type(x))
    print(type(y))
    

    Chạy thử mà xem, thú vị lắm đấy.

    Dấu nháy - Dùng 1 hay 2?

    Dù bạn dùng 1 dấu nháy ' hay là 2 dấu nháy " thì Python vẫn hiểu đó là String. Hay chưa?

    x = "John"
    # is the same as
    x = 'John'
    

    Thử đi, cái gì cũng phải thử mới biết được nhé các tình iu.

    Viết Hoa đầu biến

    Viết thế nào thì Python hiểu thế ấy, nó phân biện cả chữ Hoa và chữ thường nên các bạn chú ý khi khai báo biến nhé.

    a = 4
    A = "Sally"
    # giá trị của A sẽ không ghi đè lên a đâu. Yên tâm mà dùng nhé
    

    Hết phần 1, còn nữa

  • Mình xin phép viết tiếp luôn seri bài học về Biến trong Python ở đây nhé. Sau khi đã nghiên cứu thế nào là Biến trong Python, mời các bạn cùng tham khảo cách đặt tên Biến trong Python ở bài viết dưới đây của mình.

    Cách đặt tên cho Biến trong Python

    Có chăm kiểu đường đặt tên biến, nói chung là tuỳ theo phương pháp của mỗi người hoặc quy định của cá nhân hay tổ chức mà ta có quy tắc đặt tên cho biến.

    Tên biến có thể siêu ngắn như: x hoặc y. Hoặc có thể được mô tả kĩ càng hơn như: age, carname, total_volume, gioi_tinh, que_quan,... chẳng hạn. Nhưng mà cái gì cũng phải có luật chơi của nó nhé:

    • Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới.
    • Tên biến không được bắt đầu bằng số.
    • Tên biến chỉ có thể chứa các ký tự chữ và số và dấu gạch dưới (A-z, 0-9 và _ ).
    • Tên biến phân biệt chữ hoa chữ thường (age, Age và AGE là ba biến khác nhau).
    • Tên biến không thể là bất kỳ từ khóa Python nào.

    Ví dụ:

    # đúng về cách đặt tên biến
    myvar = "John"
    my_var = "John"
    _my_var = "John"
    myVar = "John"
    MYVAR = "John"
    myvar2 = "John"
    
    # sai về cách đặt tên biến
    2myvar = "John"
    my-var = "John"
    my var = "John"
    

    Nói chung là đặt nó cũng dễ, miễn sao bạn thấy thoải mái và đúng là được rồi. Có cả tá kiểu đặt tên biến, ví dụ:

    Camel Case

    myVariableName = "John"
    

    Pascal Case

    MyVariableName = "John"
    

    Snake Case

    my_variable_name = "John"
    

    Và các kiểu khác do bạn sáng tạo ra. Thấy vui là được rồi.

    Chúc bạn thành công!-|

  • Tiếp theo chương trình Biến trong Python, ngày hôm nay diễn giả mr386 xin được gửi đến bạn đọc một tiêu đề khá là khù khoằm:

    Python Variables - Assign Multiple Values

    Khởi tạo nhiều biến, nhiều giá trị. Tại sao lại như thế? Vì có lẽ nhiều khi bạn cần sử dụng tới nhiều Biến, mỗi Biến có một giá trị và nếu viết chúng nó cùng một dòng với nhau có lẽ code của bạn sẽ nhìn ngắn gọn và sạch sẽ thoáng mát hơn.

    Ví dụ:

    x, y, z = "Orange", "Banana", "Cherry"
    print(x)
    print(y)
    print(z)
    

    Ta có kết quả:

    Orange
    Banana
    Cherry
    

    Như vậy theo ví dụ trên, ta thấy được với cách khai báo 3 biến x, y, z trên ta được 3 giá trị tương ứng. Với cách viết liền dòng ngắn gọn khiến cho code của chúng ta nhìn thông thoáng.

    Hãy nhớ Python cho phép bạn gán giá trị cho nhiều biến trong cùng một dòng.

    One Value to Multiple Variables

    Nôm na tiếng Việt có nghĩa là 1 giá trị cho nhiều Biến. Ví dụ:

    x = y = z = "Orange"
    print(x)
    print(y)
    print(z)
    

    Kết quả là:

    Orange
    Orange
    Orange
    

    Hay chưa? Cách này cũng là cách viết ngắn gọn cho code, và bạn có thể gán cùng một giá trị cho nhiều biến trong một dòng. Chỉ cần nhớ là được.

    Unpack a Collection

    Kiểu kiểu như giải nén ấy ha? Nếu như bạn có một tập hợp nhiều giá trị trong một danh sách, Python giúp bạn bung các giá trị ra các biến dễ dàng. Đơn giản thì các bạn xem ví dụ sau:

    fruits = ["apple", "banana", "cherry"]
    x, y, z = fruits
    print(x)
    print(y)
    print(z)
    

    Kết quả:

    apple
    banana
    cherry
    

    Hay! Bạn có 1 biến fruits là 1 mảng gồm 3 phần tử. Sau đó lần lượt bạn có 3 biến x, y, x được gắn giá trị bằng fruits. Và thế là các giá trị trong mảng lần lượt được gắn vào 3 biến x, y, x.

    Thử đi nhé, từ những ví dụ đơn giản này chúng ta hãy liên tưởng tới những vấn đề phức tạp hơn trong nhưng dự án cụ thể. Cũng đường hoang mang về các cách khai báo và sử dụng biến. Trời sinh ra Voi thì ắt sẽ sinh ra Cỏ. Có Du rồi vẫn phải có Lượng. Nên là code liền tay nó mới nóng, mới dễ hiểu.

    Chúc các bạn thành công!-|

  • Bài viết này cụ thể là hướng dẫn các bạn cách xuất Biến ra bên ngoài.

    Output Variables

    Output Variables - Đầu ra của Biến hay là hiển thị giá trị của biến ra màn hình (chương trình của bạn). Có những cách nào giúp bạn biết được giá trị của Biến trong chương trình? Hãy cùng mình nghiên cứu dưới đây nhé.

    x = "Python is awesome"
    print(x)
    

    Kết quả hiện ra trên màn hình là:

    Python is awesome
    

    Hiển thị giá trị của biến ra ngoài màn hình giúp chúng ta hiểu được chương trình đang xảy ra tới đâu, đang đúng hay là đang sai? Giá trị tính toán đã đúng? Hoặc thậm chí chỉ là biết được chương trình của mình viết đã thực sự chạy tới khúc nào rồi.

    In giá trị của Biến ra giúp chúng ta kiểm soát được lỗi.

    Hàm print() của Python thường được chúng ta sử dụng để in các biến ra màn hình. print() thật sự là một hàm thần thánh, không có nó chắc mình không sống nổi.

    Tương tự chúng ta cũng có thể in được nhiều biến ra cùng một lúc bằng cách dùng dấy ",". Ví dụ:

    x = "Python"
    y = "is"
    z = "awesome"
    print(x, y, z)
    

    Kết quả là:

    Python is awesome
    

    Kaka, hoặc là nếu không dùng dấu "," thì các bạn có thể dùng dấu "+" cũng ok nha. Cách dùng hơi khác một xíu. Ví dụ:

    x = "Python "
    y = "is "
    z = "awesome"
    print(x + y + z)
    

    Mặc dù kết quả vẫn vậy, nhưng các bạn để ý giá trị của các biến x, y lúc này có thêm dấu cách (khoảng trắng). Kết quả:

    Python is awesome
    

    Một số ví dụ khác về cách tính và in giá trị của Biến trong Python

    In tổng của 2 biến x, y

    x = 5
    y = 10
    print(x + y)
    

    Kết quả:

    15
    

    Hay là:

    x = 5
    y = "John"
    print(x, y)
    

    Ta được:

    5 John
    

    Chú ý: Python không thể ép kiểu number + kiểu string. Ví du sau đây chương trình sẽ báo lỗi.

    x = 5
    y = "John"
    print(x + y)
    

    Lỗi:

    TypeError: unsupported operand type(s) for +: 'int' and 'str'
    

    Nên là các bạn để ý nhé, không là dễ bị nhầm lắm đấy.

  • Nhắc tới Global Variables là nhắc tới một hình thức Biến siêu kinh điển. Biến này có mặt ở khắp mọi nơi trong dự án của bạn, làm được những điều thần kì trong dự án. Vậy sự tồn tại của nó có ý nghĩa như thế nào? Hãy cùng mr386 nghiên cứu về Global Variables nhé.

    Global Variables - Biến toàn cục

    Các biến được tạo bên ngoài Hàm (như trong tất cả các ví dụ ở trên) được gọi là biến toàn cục. Các biến toàn cục có thể được sử dụng bởi tất cả mọi người, cả bên trong và bên ngoài Hàm (function). Ví dụ:

    x = "awesome"
    
    def myfunc():
      print("Python is " + x)
    
    myfunc()
    

    x là một biến toàn cục, nó hoàn toàn nằm ở ngoài hàm, và được sử dụng trong hàm. Kết quả chúng ta có:

    Python is awesome
    

    Bây giờ là đặc điểm của Biến toàn cục

    Nếu như bạn tạo một biến bên trong một hàm mà lại có cùng tên với biến toàn cục, thì biến này sẽ là biến cục bộ và chỉ có thể được sử dụng bên trong hàm đó mà thôi. Biến toàn cục có cùng tên sẽ vẫn giữ nguyên như cũ, toàn cục và nguyên giá trị ban đầu.

    Ví dụ:

    x = "awesome"
    
    def myfunc():
      x = "fantastic"
      print("Python is " + x)
    
    myfunc()
    
    print("Python is " + x)
    

    Kết quả là:

    Python is fantastic
    Python is awesome
    

    Các bạn thấy đấy, chúng ta có 2 biến x ở ví dụ trên. Một biến x là toàn cục, và một biến x là cục bộ - nó nằm trong hàm myfunc(). Và hàm này chỉ nhận biến cục bộ, không nhận biến toàn cục vì nó đã bị đè lên. Nhưng ra khỏi hàm myfunc() thì biến x được sử dụng như một biến toàn cục, có nghĩa là nó về lại giá trị nguyên xi của nó mà không bị thay đổi.

    Ảo diệu hơn với từ khoá global

    Nếu bạn sử dụng từ khoá global cho biến thì biến này dù được khai báo trong 1 hàm nào đó thì nó đã thành biến toàn cục mất rồi. Thử ví dụ sau:

    def myfunc():
      global x
      x = "fantastic"
    
    myfunc()
    
    print("Python is " + x)
    

    Ta được kết quả:

    Python is fantastic
    

    Rõ ràng biến x được khai báo global trong hàm myfunc(), và rồi nó được gọi ra bên ngoài hàm myfunc() mà vẫn chạy tốt.

    Đáng chú ý là, ngoài ra bạn hãy sử dụng từ khóa global nếu bạn muốn thay đổi một biến toàn cục bên trong một hàm. Ví dụ:

    x = "awesome"
    
    def myfunc():
      global x
      x = "fantastic"
    
    myfunc()
    
    print("Python is " + x)
    

    Đỉnh chưa?

    Python is fantastic
    

    Chúc các bạn học Python vui vẻ và thành công!-|

  • Kết thúc của bài học

    Trong seri bài học về Biến của Python chúng ta đã có khái niệm về Biến, các cách khai báo và sử dụng biến linh hoạt trong Python. Điều quan trọng là chúng ta phải thực hành từng ví dụ, cho chạy thử các chương trình con để hiểu cách Python vận hành Biến như thế nào.

    Chúc các bạn thành công!-|

Chủ đề liên quan

0

Trực tuyến

44

Người dùng

95

Chủ Đề

221

Bài Viết