Hướng dẫn can a main function take arguments python? - chức năng chính có thể lấy đối số python không?

Ví dụ hôm nay là chương trình

$ python3 affirm.py -affirm Lisa
1 mà bạn có thể tải xuống nếu bạn muốn tự mình thử. Một số mã được thực hiện như một bài tập trong tệp
$ python3 affirm.py -affirm Lisa
2.

affirm.zip

Đối số dòng lệnh -Tên xác nhận

Chương trình

$ python3 affirm.py -affirm Lisa
1 có một vài tùy chọn để nói những điều tốt đẹp về một cái tên. Dưới đây là ba lần chạy của chương trình trong dòng lệnh. Những gì người dùng là in đậm, theo sau là đầu ra in của chương trình.

$ python3 affirm.py -affirm Lisa
Everything is coming up Lisa
$ python3 affirm.py -affirm Bart
Looking good Bart
$ python3 affirm.py -affirm Maggie
Today is the day for Maggie
$

Đối số dòng lệnh, hoặc "args", là thông tin bổ sung được gõ trên dòng khi một chương trình được chạy. Hệ thống này đơn giản một cách quyết liệt - các đối số dòng lệnh là các từ được gõ sau

$ python3 affirm.py -affirm Lisa
4 trên dòng lệnh, được tách ra với nhau bằng khoảng trắng. Vì vậy, trong lần đầu tiên trong dòng lệnh này:

$ python3 affirm.py -affirm Lisa

Các từ

$ python3 affirm.py -affirm Lisa
5 và
$ python3 affirm.py -affirm Lisa
6 là 2 dòng lệnh arg.

Hướng dẫn can a main function take arguments python? - chức năng chính có thể lấy đối số python không?

Các đối số dòng lệnh như

$ python3 affirm.py -affirm Lisa
5 thường chọn một chế độ hoặc tùy chọn để chạy chương trình và các tùy chọn này thường bắt đầu bằng dấu gạch ngang như chúng ta có ở đây.

-Hello Tên

Với tùy chọn

$ python3 affirm.py -affirm Lisa
8, chương trình in một lời chào đơn giản như thế này:

$ python3 affirm.py -hello Bart
Hello Bart

-n tên num

Với tùy chọn

$ python3 affirm.py -affirm Lisa
9, chương trình in tên một số lần, như thế này.

$ python3 affirm.py -n 10 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
$ python3 affirm.py -n 100 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 

Trong các ví dụ trên, số lượng đối số dòng lệnh là ba: -n, số, tên

Dòng lệnh args mã python

def main()
    args = sys.argv[1:]
    # args is a list of the command line args

Main () ở trên bắt đầu với dòng tiêu chuẩn CS106A

$ python3 affirm.py -hello Bart
Hello Bart
0 thiết lập một danh sách có tên
$ python3 affirm.py -hello Bart
Hello Bart
1 để chứa các chuỗi ARG dòng lệnh. Dòng này hoạt động và bạn luôn có thể sử dụng nó. Nếu bạn muốn biết "sys.argv" là gì, hãy xem phần cuối của tài liệu này.

Danh sách

$ python3 affirm.py -hello Bart
Hello Bart
1 chứa một chuỗi cho mỗi đối số dòng lệnh.

1. Đối với dòng lệnh này:

$ python3 affirm.py -affirm Lisa

Args là danh sách

$ python3 affirm.py -hello Bart
Hello Bart
3

2. Đối với dòng lệnh này

$ python3 affirm.py -n 10 Maggie

Args là danh sách

$ python3 affirm.py -hello Bart
Hello Bart
4

Tuy nhiên, nhiều đối số dòng lệnh mà người dùng đã nhập vào, họ sẽ điền vào danh sách

$ python3 affirm.py -hello Bart
Hello Bart
1. Lưu ý rằng các arg trong danh sách luôn luôn là chuỗi.strings.

Cách viết Main ()

Mã trong main () có thể sử dụng một chuỗi các statators đơn giản để phát hiện các tùy chọn khác nhau, chẳng hạn như

$ python3 affirm.py -affirm Lisa
5 và chạy mã thích hợp cho mỗi tùy chọn.

Ví dụ: xem xét việc chạy chương trình với tùy chọn

$ python3 affirm.py -affirm Lisa
5 như thế này:

$ python3 affirm.py -affirm Lisa

Dưới đây là if-satement trong main () phát hiện tùy chọn dòng lệnh này và chạy mã cho nó. Mã kiểm tra xem số lượng ARGS là 2 và ARG đầu tiên (nghĩa là

$ python3 affirm.py -hello Bart
Hello Bart
8) là
$ python3 affirm.py -affirm Lisa
5. Nếu vậy, nó in tên trong
$ python3 affirm.py -n 10 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
$ python3 affirm.py -n 100 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
0 với một sự khẳng định ngẫu nhiên.

def main()
    args = sys.argv[1:]
    
    # 1. Check for the arg pattern:
    #   python3 affirm.py -affirm Bart
    #   e.g. args[0] is '-affirm' and args[1] is 'Bart'
    if len(args) == 2 and args[0] == '-affirm':
        # Select random nice phrase
        affirmation = random.choice(AFFIRMATIONS)
        # Print with the name in args[1]
        print(affirmation, args[1])

    # .. later if statements for -hello and -n ...

Hỏi: Tại sao kiểm tra xem

$ python3 affirm.py -hello Bart
Hello Bart
8 có bằng
$ python3 affirm.py -n 10 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
$ python3 affirm.py -n 100 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
2 không?

A: Danh sách

$ python3 affirm.py -hello Bart
Hello Bart
1 giữ dòng lệnh ARG. Trong trường hợp này, chúng tôi muốn kiểm tra xem dòng lệnh đầu tiên ARG là chuỗi
$ python3 affirm.py -n 10 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
$ python3 affirm.py -n 100 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
2 và
$ python3 affirm.py -hello Bart
Hello Bart
8 là ARG đầu tiên.

Chuỗi chính ()

Xem xét việc sử dụng tùy chọn -N

python3 affirm.py -n 10 Maggie

Các giá trị trong danh sách Args luôn luôn là chuỗi. Trong trường hợp này ARGS [0] là chuỗi '-n' và args [1] là chuỗi '100'. Mã cần chuyển đổi chuỗi '100' thành giá trị int 100 bằng hàm int ().strings. In this case args[0] is the string '-n' and args[1] is the string '100'. The code needs to convert the string '100' to the int value 100 using the int() function.

Ví dụ và bài tập

Tệp

$ python3 affirm.py -affirm Lisa
1 có cả ba tùy chọn dòng lệnh hoạt động: -affirm, -hello, -n

Bạn có thể chạy chương trình để xem nó làm gì và xem mã chính () làm ví dụ.

Tệp

$ python3 affirm.py -affirm Lisa
2 là như nhau, nhưng không có mã cho -hello và -n, vì vậy bạn có thể thực hành mã hóa các trường hợp đó.

Có gì với sys.argv?

Mô -đun

$ python3 affirm.py -n 10 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
$ python3 affirm.py -n 100 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
8 giữ các giao diện cho hệ điều hành và đặc biệt là nó chứa một danh sách với tên không may
$ python3 affirm.py -n 10 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
$ python3 affirm.py -n 100 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
9 giữ các đối số dòng lệnh. Cái tên
$ python3 affirm.py -n 10 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
$ python3 affirm.py -n 100 Maggie
Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie 
9 đã được chọn vào khoảng năm 1974, và kể từ đó, các ngôn ngữ lập trình liên tiếp chỉ giữ tên đó. Theo quy ước, danh sách Argv chứa một chuỗi bổ sung tại INDEX 0, tên của chính tập lệnh, ví dụ: 'Assirm.py'. Chuỗi bổ sung này không hữu ích cho chúng tôi. Do đó, chúng tôi tạo danh sách Args như thế này:

$ python3 affirm.py -affirm Lisa
0

Chúng tôi chọn tên hợp lý hơn "Args" để giữ dòng lệnh ARGS và chúng tôi sử dụng một lát để bỏ qua chuỗi không có ích tại INDEX 0, do đó tạo danh sách

$ python3 affirm.py -hello Bart
Hello Bart
1 chính xác chỉ là các đối số dòng lệnh. & nbsp;

Bản quyền 2020 Nick Parlante

Chức năng chính có thể có đối số trong Python không?

Nhiều ngôn ngữ lập trình có một chức năng đặc biệt được tự động thực hiện khi một hệ điều hành bắt đầu chạy một chương trình.Hàm này thường được gọi là main () và phải có một loại trả về cụ thể và các đối số theo tiêu chuẩn ngôn ngữ.must have a specific return type and arguments according to the language standard.

Chức năng chính có thể lấy đối số không?

Có, chúng ta có thể đưa ra các đối số trong hàm chính ().Các đối số dòng lệnh trong C được chỉ định sau tên của chương trình trong dòng lệnh của hệ thống và các giá trị đối số này được truyền vào chương trình của bạn trong quá trình thực hiện chương trình.ARGC và ARGV là hai đối số có thể chuyển sang chức năng chính.. Command line arguments in C are specified after the name of the program in the system's command line, and these argument values are passed on to your program during program execution. The argc and argv are the two arguments that can pass to main function.

Chính có thể trả về một giá trị python không?

Điều đó là có thể.Ví dụ, bạn có thể trả lại từ điển (hoặc danh sách hoặc tuple, hoặc bất cứ điều gì) trong tiện ích.main () và sau đó grub tất cả các từ điển và lưu trữ chúng trong một danh sách trong Rollup.main (), bên trong vòng lặp, để xây dựng thêm.. You could, for instance, return a dictionary (or list, or tuple, or whatever) in utility. main() and then grub all the dictionaries and store them in a list in rollup. main() , inside the for loop, for further elaboration.