1. Trang chủ
  2. » Tất cả

Bài 22_Nhập xuất trong Python - Hàm nhập _Howkteam.com

9 3 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 418,64 KB

Nội dung

1|9 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Bài 22: NHẬP XUẤT TRONG PYTHON - HÀM NHẬP Xem học website để ủng hộ Kteam: Nhập xuất Python – Hàm nhập Mọi vấn đề lỗi website làm ảnh hưởng đến bạn thắc mắc, mong muốn khóa học mới, nhằm hỗ trợ cải thiện Website Các bạn vui lòng phản hồi đến Fanpage How Kteam nhé! Dẫn nhập Trong trước, Kteam giới thiệu đến bạn HÀM PRINT – hàm giúp bạn xuất kết hình (Shell) Ở Kteam tiếp tục giới thiệu với bạn việc Nhập xuất Python Cụ thể việc nhập! Nội dung Để đọc hiểu tốt bạn cần:       Cài đặt sẵn MÔI TRƯỜNG PHÁT TRIỂN CỦA PYTHON Xem qua CÁCH CHẠY CHƯƠNG TRÌNH PYTHON Nắm CÁCH GHI CHÚ BIẾN TRONG PYTHON KIỂU DỮ LIỆU LIST, KIỂU DỮ LIỆU TUPLE, KIỂU DỮ LIỆU SET, KIỂU DỮ LIỆU DICT Python Biết cách XỬ LÍ FILE TRONG PYTHON Biết CÁCH SỬ DỤNG HÀM PRINT TRONG PYTHON Copyright © Howkteam.com KHÓA PYTHON CƠ BẢN HOWKTEAM.COM 2|9 Bạn Kteam tìm hiểu nội dung sau     Vì cần hàm input? Tìm hiểu cách sử dụng hàm input Hàm input Python 3.X raw_input Python 2.X Lưu ý giành cho hàm input Python 2.X Vì cần hàm input Tèo Kter “bờ rào” Kteam Hơm trước, Tèo có làm chương trình đơn giản Đó in dòng chữ “Xin chào Tiên” Và code Tèo name = 'Tien' print('Xin chao', name) Mọi chuyện diễn tốt đẹp, chương trình chạy theo ý Tèo nhờ Tèo tạo cảm tình với Tiên Thu thấy thế, muốn Tèo viết cho chương trình Tiên phải in dịng chữ “Xin chào Thu” Tèo lại mở code lên mà sửa lại: name = 'Thu' print('Xin chao', name) Sau đó, số bạn nữ khác muốn Tèo viết cho chương trình Thu Tiên bao gồm Quỳnh, Nhi, Giao, Như, Uyên, Hương, Loan, Trung, Nam,… Kể không Và bạn thấy vấn đề nảy sinh Tèo phải sửa code hết lần đến lần khác Có thể việc khơng q nhiều thời gian, Tèo viết cho bạn chương trình riêng lần viết Tèo viết cho bạn thay đổi mã nguồn Nhưng dung lượng máy Tèo có hạn, khơng thể chứa nhiều chương trình Tèo khơng có đủ thời gian để chỉnh sửa code hết lần tới lần khác sao? Tèo muốn viết mà lại cho nhiều người Copyright © Howkteam.com 3|9 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Điều đưa cho Tèo u cầu, biến name phải biến có liệu nhập chạy chương trình thay đưa sẵn cho giá trị Và nhờ hàm có tên input Tèo giải vấn đề nan giải sau ba ngày ba đêm tìm kiếm GOOGLE Tìm hiểu cách sử dụng hàm input Theo Tèo tìm kiếm tài liệu trang chủ Python, hàm input có cú pháp sau input(prompt=None) Lưu ý: Có lúc bạn nhìn thấy cú pháp input(prompt=None, /) Cái phần thêm vào kí tự / kí tự cho biết parameter prompt nhận giá trị dạng positional argument Nghĩa bạn truyền vào cho hàm, bạn không phép điền thêm chữ prompt >>> input('string') # hợp lệ >>> input(prompt='string') # không hợp lệ Traceback (most recent call last): File "", line 1, in TypeError: input() takes no keyword arguments Parameter prompt parameter tùy chọn Bạn nhập khơng có giá trị mặc định None Công dụng: Hàm giúp đọc chuỗi từ standard input (hiểu nôm na việc bạn nhập liệu lên Shell) sau trả cho Và đọc chuỗi, nên dù bạn có nhập chuỗi dù số, list, tuple, set, dictionary,… Copyright © Howkteam.com 4|9 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Việc nhập kết thúc sau bạn nhấn phím enter Ở đây, bạn nhấn phím enter (phím return) đồng nghĩa với việc bạn gửi vào kí tự newline Nhưng kí tự newline bị bỏ Nếu lúc nhập bạn nhấn EOF *nix: Ctrl + D, Windows: Ctrl + Z > Return (Enter) Ctrl + C sinh lỗi EOFError Nếu prompt khác None, có nghĩa bạn gửi cho prompt giá trị Thì giá trị in mà khơng có kí tự newline kèm trước đọc giá trị nhập vào Chúng ta đến với ví dụ Hãy tạo file có nội dung sau value = input() # prompt để None print('first value is =>', value) next_value = input('please enter one more value: ') print('The second value is =>', next_value) Đây hình ảnh chạy chương trình Trong đó:   Những dịng có mũi tên màu đỏ dòng thực hàm input Những chữ gạch chân màu vàng giá trị nhập vào Đầu tiên, ta yêu cầu nhập liệu vào cho biến value Ở đây, Kteam nhập vào giá trị Kteam Copyright © Howkteam.com KHĨA PYTHON CƠ BẢN HOWKTEAM.COM 5|9 Và điều kiểm chứng việc dòng tiếp theo, giá trị Kteam in hình Tiếp đế, tiếp tục yêu cầu nhập liệu Bạn thấy khác so với lần sử dụng hàm input không truyền giá trị vào cho parameter prompt Giờ đây, có dịng ghi u cầu nhập liệu Và với giá trị nhập vào Free Education, giá trị in dịng cuối Kteam xin lưu ý thêm lần bạn nhập giá trị trả LUÔN LUÔN LÀ CHUỖI Hãy thử đoạn code sau: # reading input int_num = input('Enter an integer: ') float_num = input('Enter a float: ') lst = input('Enter a list: ') tup = input('Enter a tuple: ') set_ = input('Enter a set: ') dict_ = input('Enter a dict: ') # print out output print('Type of int_num', type(int_num)) print('Type of float_num', type(float_num)) print('Type of lst', type(lst)) print('Type of tup', type(tup)) print('Type of set_', type(set_)) print('Type of dict_', type(dict_)) Copyright © Howkteam.com 6|9 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Như bạn thấy, tất thuộc lớp chuỗi Kteam tiếp tục thêm số ví dụ với hàm input value = input('Enter something => ') print('You just entered', value) print(' repr method: %r' %value) Lần này, Kteam nhấn phím Enter Khi bạn khơng nhập thứ nhấn phím Enter Chuỗi bạn nhân từ hàm input chuỗi rỗng (số kí tự chuỗi 0) Tiếp tục với đoạn code trên, lần Kteam nhấn EOF  Lỗi EOFError lên Chương trình kết thúc Copyright © Howkteam.com 7|9 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Hàm input Python 3.X raw_input Python 2.X Hàm raw_input khơng tồn Python 3.X, đổi tên thành input phiên Python 3.X Lưu ý: giành cho hàm input Python 2.X Trong Python 2.X, hàm gần giống với hàm raw_input (chính hàm input Python 3.X) hàm input Cú pháp hàm hoàn toàn tương tự với hàm input Python 3.X Nó nhận vào chuỗi hàm input Python 3.X (raw_input Python 2.X) Tuy nhiên, chuỗi truyền vào hàm eval Do input Python 2.X có cú pháp input(prompt=None) Sẽ tương tự eval(raw_input(prompt=None)) Và tương đương Python 3.X Copyright © Howkteam.com 8|9 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM eval(input(prompt=None)) Hàm eval có khả thực thi expression với expression đưa vào dạng chuỗi Một expression giá trị số, chuỗi, list Sau vài ví dụ hàm eval: >>> eval('123') 123 >>> eval('[1, 2, 3]') [1, 2, 3] >>> x = >>> eval('x + 2') >>> eval('print("This is exec by eval fucntion")') # hàm print expression với giá trị None This is exec by eval fucntion >>> eval('a = 3') # statement Không phải expression Traceback (most recent call last): File "", line 1, in File "", line a=3 ^ SyntaxError: invalid syntax Lưu ý: Ở đây, Kteam có lưu ý với bạn không nên sử dụng hàm eval trừ thực cần thiết Có số lí để bạn nên tránh sử dụng hàm eval:     Khiến việc debug khó khăn Làm chậm chương trình Ln có cách tốt thay Rất nguy hiểm khơng an tồn Copyright © Howkteam.com 9|9 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Nếu bạn thắc mắc lại nguy hiểm Thì Kteam đưa số ví dụ đơn giản Ví dụ: bạn cho phép người dùng sử dụng chương trình bạn Bạn yêu cầu họ nhập số thứ lại sử dụng hàm eval bọc lên hàm input Thế nên, họ sử dụng để phá chương trình bạn Giả sử bạn có ứng dụng web Nếu kẻ xấu nhập vào với nội dung dạng coi ứng dụng bạn toi Enter something: import ('shutil').rmtree('/root') Câu lệnh dưới, xóa thư mục bạn Đó dạng command injection Điều nguy hiểm cho hệ thống bạn >>> import ('shutil').rmtree('/root') Do đó, việc sử dụng eval phải cân nhắc Đương nhiên có trường hợp eval khơng nguy hiểm trên, bạn phải dùng tới Nhưng hạn chế! Kết luận Qua viết này, Bạn biết việc yêu cầu người dùng NHẬP NỘI DUNG từ bàn phím Python Ở viết sau Kteam nói KIỂU DỮ LIỆU BOOLEAN TRONG PYTHON Cảm ơn bạn theo dõi viết Hãy để lại bình luận góp ý để phát triển viết tốt Đừng quên “Luyện tập – Thử thách – Khơng ngại khó” Copyright © Howkteam.com ... KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Hàm input Python 3.X raw_input Python 2.X Hàm raw_input không tồn Python 3.X, đổi tên thành input phiên Python 3.X Lưu ý: giành cho hàm input Python 2.X Trong Python. .. Python 2.X, hàm gần giống với hàm raw_input (chính hàm input Python 3.X) hàm input Cú pháp hàm hoàn toàn tương tự với hàm input Python 3.X Nó nhận vào chuỗi hàm input Python 3.X (raw_input Python. ..KHÓA PYTHON CƠ BẢN HOWKTEAM.COM 2|9 Bạn Kteam tìm hiểu nội dung sau     Vì cần hàm input? Tìm hiểu cách sử dụng hàm input Hàm input Python 3.X raw_input Python 2.X Lưu ý giành cho hàm input Python

Ngày đăng: 17/12/2021, 22:48

w