Đầu vào thường có nghĩa là dữ liệu được nhập bởi người dùng cuối của chương trình. Khi bạn sử dụng Microsoft Word, bạn đang đóng vai trò của người dùng cuối [đôi khi được rút ngắn thành 'người dùng' đơn giản]. Khi bạn chơi trò chơi điện tử, bạn là 'người dùng cuối' của nó
Khi lập trình, chúng ta thường chuyển đổi giữa vai trò lập trình viên và người dùng cuối. Chúng tôi là người dùng cuối khi chúng tôi đang kiểm tra xem chương trình có hoạt động không. Chúng ta thường gọi chính chương trình là hệ thống, như trong
'khi người dùng cuối nhập một số, hệ thống sẽ phản hồi bằng cách. '
Đầu vào cũng có thể đến từ một tập tin. Ví dụ: khi bạn nhập 'python someprog. py', chương trình có tên 'python' đang nhận đầu vào từ một tệp có tên someprog. py
Đầu ra là những gì chương trình tạo ra. Đối với các chương trình dòng lệnh, nó chỉ là bất cứ thứ gì được in trên màn hình. Tất nhiên, đối với các chương trình có giao diện người dùng đồ họa, đầu ra phức tạp hơn nhiều
Trong Python, câu lệnh in được sử dụng cho đầu ra dòng lệnh
print 45 # chỉ in số 45
print 'my mother said' # in các từ không có dấu ngoặc kép
interestRate=. 4
in interestRate # in giá trị của biến interestRate, 0. 4
lãi suất in+. 2 # in biểu thức đã đánh giá, 0. 6
Đầu vào của người dùng trong Python
Python có hai chức năng chính để xử lý đầu vào của người dùng cuối, một chức năng được gọi là raw_input[] và một chức năng được gọi là input[]. Khi một chương trình đang chạy và các chức năng này được gọi, hệ thống sẽ đóng băng, chờ người dùng cuối nhập nội dung nào đóKhi người dùng nhập nội dung nào đó và nhấn 'enter', một chuỗi được trả về từ các hàm này. Vì vậy, khi thực hiện tuyên bố
Python sẽ đợi người dùng cuối nhập nội dung nào đó. Nếu người dùng nhập abc, thì kết quả của biến sẽ có 'abc' trong đó
Nói chung, chúng tôi muốn nhắc người dùng nhập liệu. Bạn có thể thực hiện việc này bằng cách thêm tham số vào lệnh gọi 'raw_input[]'. Nếu bạn đang hỏi tên của một người, bạn sẽ viết câu
name=raw_input['vui lòng nhập tên của bạn. ']
Đầu vào của người dùng và các loại dữ liệu
Hàm raw-input[] luôn trả về một chuỗi. Vì vậy, nếu người dùng nhập 7, Python sẽ hiểu nó là chuỗi '7'.Đôi khi điều này không sao, nhưng chúng ta thường muốn thực hiện các phép tính trên các con số và đối với máy tính, '7' là ký hiệu chứ không phải số.
Nếu bạn muốn 'diễn giải' đầu vào dưới dạng số nguyên, bạn cần chuyển đổi nó. Python cung cấp một số hàm chuyển đổi kiểu để làm như vậy, chẳng hạn như int và float
Về nguyên tắc, mọi chương trình máy tính đều phải giao tiếp với môi trường hay "thế giới bên ngoài". Vì mục đích này, gần như mọi ngôn ngữ lập trình đều có các chức năng I/O đặc biệt, tôi. e. đầu ra đầu vào. Điều này đảm bảo sự tương tác hoặc giao tiếp với các thành phần khác e. g. cơ sở dữ liệu hoặc người dùng. Đầu vào thường đến - như chúng ta đã thấy - từ bàn phím và lệnh Python tương ứng, hoặc tốt hơn, hàm Python tương ứng để đọc từ đầu vào tiêu chuẩn là input[]
Chúng ta cũng đã thấy trong các ví dụ trước của hướng dẫn rằng chúng ta có thể ghi vào đầu ra tiêu chuẩn bằng cách sử dụng print. Trong chương này của hướng dẫn của chúng tôi, chúng tôi muốn có một cái nhìn chi tiết về chức năng in. Vì một số người có thể đã bỏ qua nó, chúng tôi muốn nhấn mạnh rằng chúng tôi đã viết "hàm in" chứ không phải "câu lệnh in". Bạn có thể dễ dàng tìm ra sự khác biệt quan trọng như thế nào, nếu bạn sử dụng một chương trình Python tùy ý được viết trong phiên bản 2. x và nếu bạn cố để nó chạy bằng trình thông dịch Python3. Trong hầu hết các trường hợp, bạn sẽ nhận được thông báo lỗi. Một trong những lỗi xảy ra thường xuyên nhất sẽ liên quan đến bản in, vì hầu hết các chương trình đều có bản in. Chúng tôi có thể tạo lỗi điển hình nhất trong trình bao Python tương tác
print 42 File "", line 1 print 42
ĐẦU RA
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?
Đây là một thông báo lỗi quen thuộc với hầu hết chúng ta. Chúng tôi đã quên dấu ngoặc đơn. "print" là - như chúng tôi đã đề cập - một chức năng trong phiên bản 3. x. Giống như bất kỳ hàm nào khác, print mong muốn các đối số của nó được bao quanh bởi dấu ngoặc đơn. Vì vậy, dấu ngoặc đơn là một cách khắc phục dễ dàng cho lỗi này
print[42]
ĐẦU RA
42
Nhưng đây không phải là sự khác biệt duy nhất đối với bản in cũ. Hành vi đầu ra cũng đã thay đổi
Đào tạo Python trực tiếp
Thưởng thức trang này?
Nhìn thấy. Tổng quan về các khóa học Python trực tiếp
đăng ký tại đây
chức năng in
Các đối số của hàm in là những đối số sau
print[value1, ..., sep=' ', end='\n', file=sys.stdout, flush=False]
Hàm in có thể in một số lượng giá trị tùy ý ["giá trị1, giá trị2,. "], cách nhau bởi dấu phẩy. Các giá trị này được phân tách bằng khoảng trắng trong đầu ra. Trong ví dụ sau, chúng ta có thể thấy hai cuộc gọi in. Chúng tôi đang in hai giá trị trong cả hai trường hợp, tôi. e. một chuỗi và một số float
a = 3.564 print["a = ", a]
ĐẦU RA
a = 3.564
print["a = \n", a]
ĐẦU RA
________số 8
Chúng ta có thể học được từ bản in thứ hai của ví dụ rằng một khoảng trống giữa hai giá trị, i. e. "a = \textbackslash n" và "3. 564", luôn được in, ngay cả khi đầu ra được tiếp tục ở dòng sau. Điều này khác với Python 2, vì sẽ không có dòng trống nào được in ra, nếu một dòng mới đã được bắt đầu. Có thể xác định lại dấu phân cách giữa các giá trị bằng cách gán một chuỗi tùy ý cho tham số từ khóa "sep", tôi. e. một chuỗi trống hoặc một mặt cười
print["a","b"]
ĐẦU RA
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?0
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?1
ĐẦU RA
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?2
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?3
ĐẦU RA
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?4
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?5
ĐẦU RA
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?6
Một cuộc gọi in được kết thúc bằng một dòng mới, như chúng ta có thể thấy trong cách sử dụng sau
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?7
ĐẦU RA
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?8
Để thay đổi hành vi này, chúng ta có thể gán một chuỗi tùy ý cho tham số từ khóa "end". Chuỗi này sẽ được sử dụng để kết thúc đầu ra của các giá trị của lệnh in
File "", line 1 print 42 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print[42]?9
ĐẦU RA
print[42]0
print[42]1
ĐẦU RA
print[42]2
Đầu ra của chức năng in được gửi đến luồng đầu ra tiêu chuẩn [sys. thiết bị xuất chuẩn] theo mặc định. Bằng cách xác định lại tham số từ khóa "tệp", chúng tôi có thể gửi đầu ra vào một luồng khác e. g. hệ thống. stderr hoặc một tập tin
print[42]3
Chúng tôi có thể thấy rằng chúng tôi không nhận được bất kỳ đầu ra nào trong trình bao tương tác. Đầu ra được gửi đến tệp "data. txt". Cũng có thể chuyển hướng đầu ra sang kênh lỗi tiêu chuẩn theo cách này