01/10/2018, 10:11

Python "from sys import argv" là gì

mình đang học cuốn “Learn Python The Hard Ways” cho mình hỏi: “4 dòng đầu của đoạn code này làm gì dậy?”:

1.from sys import argv
2.
3.script, user_name = argv
4.prompt = '> '
5.
6.print "Hi %s, I'm the %s script." % (user_name, script)
7.print "I'd like to ask you a few questions."
8.print "Do you like me %s?" % user_name
9.likes = raw_input(prompt)
10.
11.print "Where do you live %s?" % user_name
12.lives = raw_input(prompt)
13.
14.print "What kind of computer do you have?"
15.computer = raw_input(prompt).

Ai trả lời giúp mình dới! Cảm ơn

Henry viết 12:18 ngày 01/10/2018

Nói đơn giản là như thế này. Nó sẽ nhận từ hệ thống một vài arguments. Mặc định luôn luôn sẽ có một cái khi chạy chương trình đó chính là tên của file script và chứa tất cả những arguments đó được gói gọn gàng trong một cái tuple (na ná giống list)

# file hello.py
from sys import argv
print(argv)

Khi bạn chạy chương trình này với command python hello.py thì bạn sẽ có kết quả

('hello.py')

Thêm một vài ví dụ nữa nào

Command: python hello.py haha
Result: ('hello.py', 'haha')

Command: python hello.py haha hihi
Result: ('hello.py', 'haha', 'hihi')

Vậy là bạn đã biết argv như thế nào rồi. Do đó sẽ dễ hiểu đoạn tiếp theo
Với đoạn code trên của bạn thì khi. (Giả sử file của bạn là hello.py luôn nhé )
Command: python hello.py An
Result: ('hello.py', 'An')
Thế nên

script, user_name = argv

Sẽ tương đương với

script, user_name = ('hello.py', 'An')
# tương đương với
script, user_name = 'hello.py', 'An'
# và cũng tương tự
script = 'hello.py'
user_name = 'An'
An Thúy viết 12:24 ngày 01/10/2018

Cmơn bạn Grak-Tgraktung

Bài liên quan
0