Theo Python 2, đầu vào hàm thực hiện một eval trên chuỗi đầu vào:
Python 2.7.7 [default, Jun 14 2014, 23:12:13]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2
>>> x
2
>>> type[x]
>>> x*5
10
Và một chiếc phao:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
Vì nó được coi là không khôn ngoan để lấy mã tùy ý từ người dùng trong một ứng dụng, hành vi này đã được thay đổi theo Python 3.
Theo Python 3, đầu vào luôn trả về một chuỗi:
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
Giải thích kết quả của bạn:
>>> x*5
'2.2.2.2.2.'
Nếu bạn muốn có chức năng tương tự một cách an toàn trong Python 3, bạn có thể kết thúc
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
7 trong một cuộc gọi đến AST.Literal_Eval:>>> from ast import literal_eval
>>> x=literal_eval[input['Enter x: ']]
Enter x: 2.2
>>> x
2.2
>>> type[x]
Hoặc, chỉ cần chuyển đổi đầu vào của người dùng thành kiểu dữ liệu mong muốn với
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
8 hoặc Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
9 Nhân phao trong Python rất dễ dàng. Bạn chỉ cần nhân chúng giống như cách bạn sẽ số nguyên. Kết quả sẽ là một chiếc phao. Nó hoạt động hoàn toàn bằng trực giác. Ví dụ, trong đoạn mã sau, chúng tôi nhân lên các biến float ‘A và và’ B, dẫn đến ‘C, cũng là một chiếc phao.
a = 12.4
b = 5.24
c = a * b
print[c]
Nếu bạn thích bạn cũng có thể in loại cho mỗi biến liên quan. Điều này xác nhận rằng tất cả chúng đều là phao và nó hoạt động chính xác như bạn mong đợi.
a = 12.4
b = 5.24
c = a * b
print[type[a],type[b],type[c]]
print[c]
Python hỗ trợ một số loại và hoạt động tích hợp. Hướng dẫn này bao gồm các loại phổ biến nhất, nhưng thông tin về các loại bổ sung có sẵn ở đây
Các loại số cơ bản
Các loại số dữ liệu cơ bản tương tự như các loại được tìm thấy trong các ngôn ngữ khác, bao gồm:
Số nguyên [int]:int]:
Giá trị điểm nổi [Float]:float]:
Các giá trị phức tạp [phức tạp]:complex]:
Thao tác với những hành vi này theo cách bạn mong đợi, vì vậy một thao tác [+, -, /, *, **, v.v.] trên hai giá trị của cùng một loại tạo ra một giá trị khác của cùng một loại, trong khi một hoạt động trên hai giá trị với các giá trị khác nhau Các loại tạo ra giá trị của loại 'nâng cao' hơn:+, -, /, *, **, etc.] on two values of the same type produces another value of the same type, while an operation on two values with different types produces a value of the more ‘advanced’ type:
Thêm hai số nguyên cho một số nguyên:
Nhân hai chiếc phao cho một chiếc phao:
Trừ hai số phức cho một số phức:
>>> complex[2.,4.] - complex[1.,6.] [1-2j]
Nhân một số nguyên với một chiếc phao cho một chiếc phao:
>>> 3 * 9.2 27.599999999999998 # int * float = float
Nhân một chiếc phao với số phức cho một số phức:
>>> 2. * complex[-1.,3.] [-2+6j] # float * complex = complex
Nhân một số nguyên và số phức cho số phức:
0>>> x=input['Enter x: '] Enter x: 2.2 >>> type[x] >>> x*5 11.0
Tuy nhiên, có một trường hợp điều này xảy ra nhưng không mong muốn và bạn nên biết, đó là sự phân chia của hai số nguyên:
Đây là hành vi được coi là một sai lầm thiết kế khổng lồ và Python 3.x đã được cố định để hành xử như bạn mong đợi [nhiều hơn trên Python 3.x sau đó]. Một cách để ngăn chặn điều này là bỏ ít nhất một trong các số nguyên trong bộ phận để nổi:float:
or:
Danh sách, bộ dữ liệu và bộ
Có hai loại trình tự xuất hiện tương tự nhau từ cái nhìn đầu tiên, cả hai đều có thể chứa các loại dữ liệu không đồng nhất:
Danh sách [danh sách]:list]:
1>>> x=input['Enter x: '] Enter x: 2.2 >>> type[x] >>> x*5 11.0
Tuples [tuple]:tuple]:
2>>> x=input['Enter x: '] Enter x: 2.2 >>> type[x] >>> x*5 11.0
Sự khác biệt giữa hai loại này là danh sách là có thể thay đổi và các bộ dữ liệu là bất biến:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
3Có nhiều lý do tại sao Tuples là một tính năng hữu ích [nhanh hơn và có thể băm là hai cái chính], nhưng bây giờ, nó đủ để bạn biết có một sự khác biệt như vậy.
Một hoạt động hữu ích với danh sách và bộ dữ liệu là +, có thể được sử dụng để kết hợp:+, which can be used for concatenation:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
4Ghi chú
Không giống như các mảng Numpy:
- Danh sách Python có thể chứa bất cứ điều gì, bao gồm các danh sách, đối tượng hoặc cấu trúc dữ liệu phức tạp khác.
- Khi bạn cắt một danh sách python, nó sẽ trả về một bản sao.
- Toán học vector không hoạt động trong danh sách. Ví dụ: nhân một danh sách với int n đưa ra n bản sao của danh sách, thêm một danh sách khác liên kết và nhân với một float gây ra lỗi.n gives n copies of the list, adding another list concatentates, and multiplying by a float gives an error.
Các bộ [bộ] là loại chuỗi thứ ba mà bạn có thể thực hiện từ một tuple hoặc một danh sách:set] are a third type of sequence which you can make from a tuple or a list:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
5Lưu ý rằng các mục trùng lặp đã được gỡ bỏ. Đây là định nghĩa toán học của một tập hợp, tức là một tập hợp các đối tượng riêng biệt. Thứ tự của các đối tượng là tùy ý [thứ tự không được bảo tồn]. Các toán tử khác nhau có thể được sử dụng để biểu diễn các hoạt động đã đặt:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
6Dây¶
Chuỗi [STR] sẽ quen thuộc từ các ngôn ngữ lập trình khác:str] will be familiar from other programming languages:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
7Bạn có thể sử dụng một trích dẫn đơn ['], dấu ngoặc kép ["] hoặc trích dẫn ba [' ''] để gửi một chuỗi [bản cuối cùng được sử dụng cho các chuỗi đa dòng]. , bạn có thể sử dụng trích dẫn đối diện để gửi lại chuỗi:'], double quotes ["], or triple quotes ['''] to enclose a string [the last one is used for multi-line strings]. To include single or double quotes inside a string, you can either use the opposite quote to enclose the string:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
8Hoặc bạn có thể thoát khỏi họ:
>>> x=input['Enter x: ']
Enter x: 2.2
>>> type[x]
>>> x*5
11.0
9Bạn có thể truy cập các ký tự riêng lẻ hoặc khối nhân vật:
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
0Lưu ý rằng các chuỗi là bất biến [như bộ dữ liệu], đó là bạn không thể thay đổi giá trị của một số ký tự nhất định mà không tạo ra một chuỗi mới:
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
1Đối với danh sách và bộ dữ liệu, kết hợp được thực hiện với +:+:
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
2Cuối cùng, các chuỗi có nhiều phương pháp liên quan đến chúng, đây là một vài ví dụ:
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
3Từ điển bài
Một trong những loại còn lại là từ điển [dict] mà bạn có thể nghĩ là bảng tra cứu:dict] which you can think of as look-up tables:
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
4Một lưu ý về các đối tượng Python
Hầu hết mọi thứ trong Python là đối tượng. Nhưng một đối tượng là gì?
Mỗi hằng số, biến hoặc chức năng trong Python thực sự là một đối tượng có loại và các thuộc tính và phương thức liên quan. Một thuộc tính Một thuộc tính của đối tượng mà bạn nhận được hoặc đặt bằng cách đưa ra + DOT +, ví dụ: Img.Shape. Một phương thức là một hàm mà đối tượng cung cấp, ví dụ: img.argmax [trục = 0] hoặc img.min [].img.shape. A method is a function that the object provides, for example img.argmax[axis=0] or img.min[].
Sử dụng hoàn thành tab trong ipython để kiểm tra các đối tượng và bắt đầu hiểu các thuộc tính và phương thức. Để bắt đầu, hãy tạo danh sách 4 số:
Điều này sẽ hiển thị các thuộc tính và phương thức có sẵn cho danh sách Python a. Sử dụng -Completion và trợ giúp là một cách rất hiệu quả để học và sau đó hãy nhớ các phương thức đối tượng!a. Using -completion and help is a very efficient way to learn and later remember object methods!
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
5Đối với hầu hết các phần, bạn có thể bỏ qua tất cả những thứ bắt đầu bằng __ vì chúng thường là các phương pháp nội bộ không được gọi trực tiếp. Cuối cùng, bạn thấy các chức năng trông hữu ích như nối hoặc sắp xếp mà bạn có thể nhận được trợ giúp và sử dụng:__ since they are generally are internal methods that are not called directly. At the end you see useful looking functions like append or sort which you can get help for and use:
Python 3.4.1 [default, May 19 2014, 13:10:29]
[GCC 4.2.1 Compatible Apple LLVM 5.1 [clang-503.0.40]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input['Enter x: ']
Enter x: 2.
>>> type[x]
6