Published on

Chương trình đầu tiên với python

Authors

I.Viết dòng code python đầu tiên

Để chạy được code python hãy tạo một file có đuôi .py (Vd test.py)

test.py
print('Learn python')
print('Hello world!\nHello world!\nHello world!')

Ấn run chương trình sẽ in ra và kết thúc bằng Process finished with exit code 0

Trong python, coding conventions thường tuân theo quy tắc PEP 8. Đặc điểm dễ thấy nhất của quy tắc này là các biến (variable), hàm (function) thường được viết theo quy tắc snake_case

test.py
my_var = 123
print(my_var)
def my_func():
    print('Hello from my_func')
my_func()

II. print() và các mẹo với print()

print trong python cũng giống như console trong javascript khi chúng ta muốn in ra gì đó trong console

1. Xem doc của print

test.py
print(print.__doc__)

2. Thiết lập sep, end

test.py
print(123,456,789)

Khi có nhiều giá trị được in ra, dấu phẩy sẽ ngăn cách các giá trị. Nó được quyết định bởi thuộc tính sep trong hàm print(). Thuộc tính sep mặc định là space. Có thể thay đổi sep bằng cách:

test.py
print(123,456,789, sep = '-')

Mặc định kết thúc hàm print(), newline sẽ xuất hiện. Lí do bởi vì thuộc tính end mặc định là \n. Có thể thay đổi sep bằng cách:

test.py
print(123,4556, sep = '-', end = '\t')
print(121,4556, sep = '-', end = '\t')
print(122,4556, sep = '-', end = '\t')

3. In theo format tuỳ ý với ''' (hoặc """)

test.py
print('''
a
b
c
''')

4. f-string

Muốn in biến trong print có thể kết hợp với f-string

test.py
a = 123
print(f"a = {a}")

f-string này rất giống với Template literals của es6

test.js
let a = 123
console.log(`a=${a}`)

5. % đại điện cho các ký tự in ra

test.py
a = 123
b = 456
print('tong cua %d va %d la %d' % (a, b, a + b))

% cũng được sử dụng để định dạng chuỗi với các giá trị được chèn vào chuỗi. Tuy nhiên, từ Python 3, cách định dạng này đã bị coi là lỗi thời và thay thế bằng các phương pháp hiện đại hơn như sử dụng phương thức str.format() hoặc f-strings

test.py
a = 123
b = 456
print('tong cua %d va %d la %d' % (a, b, a + b))
print('tong cua {} va {} la {}'.format(a, b, a + b)) # Python 3, format string
print(f'tong cua {a} va {b} la {a + b}') # Python 3, f-string

6. In ra có định dạng

test.py
a = 12.3456
print("%.2f" % a)

a = 12.3456
b = 123
print("a = %.3f, b = %d" % (a, b))

III. input()

Hàm input() được sử dụng để nhận dữ liệu nhập từ bàn phím từ người dùng. Hàm input() sẽ đọc dữ liệu nhập từ bàn phím dưới dạng chuỗi và trả về chuỗi đó

test.py
your_name = input("What is your name? ")
print("Hello " + your_name + "!")  # 2 cach su dung tuong tu nhau
print(f"Hello {your_name}!") # 2 cach su dung tuong tu nhau

your_number = int(input("What is your number? "))
print(f"Your number {your_number}")

IV. Lệnh và khối lệnh

Khối lệnh trong python được xác định bằng indent (thường là 4 spaces)

TH1. Bình thường 1 lệnh viết trên một dòng, muốn 1 lệnh viết trên nhiều dòng phải dùng dấu nối dòng \

test.py
a = 1
b = 2
c = 3
d = a + \
    b + \
    c
print(d)

Tuy nhiên lệnh viết trong (), {}, [] thì không cần dấu \

test.py
day_of_week = ['Monday', 'Tuesday',
               'Wednesday', 'Thursday',
               'Friday', 'Saturday',
               'Sunday'
               ]
print(day_of_week[0])

TH2: dòng nhiều lệnh sử dụng dấu ;

test.py
a = 1
b = 2
c = 3

# hoac
d = 5; e = 6; f = 7

V. Comment

Có 2 dạng comment trong python cũng như bất kỳ ngôn ngữ nào khác đó là Inline CommentDocument String comments. Khi thông dịch thì chương trình sẽ bỏ qua những comment này

1. Dạng inline comment

test.py
x = 3
x = x + 1                 # Compensate for border

2. Dạng document string comments (sử dụng """ hoặc ''')

test.py
'''Return a foobang

Optional plotz says to frobnicate the bizbaz first.
'''
x = 3
x = x + 1