Ngôn ngữ lập trình Python 3. Ngôn ngữ lập trình Python cho người mới bắt đầu. Sử dụng phương pháp POST

Thật đáng để học ngôn ngữ Lập trình Python? Rốt cuộc, bạn thường có thể nghe thấy rằng ngôn ngữ này đang chết dần. Người dùng Quora đã thảo luận về vấn đề này và chia sẻ ý kiến ​​của họ.

Bill Carven, nhà phát triển, nhà tư vấn, huấn luyện viên và tác giả SQL

Hợp ngữ mang đến cho bạn cơ hội tuyệt vời để viết mã nhỏ gọn, hiệu quả và được tối ưu hóa cho dự án. Với mã được viết bằng ngôn ngữ này, chỉ chiếm vài kilobyte, bạn có thể làm được những điều đáng kinh ngạc. Nhưng mức độ hiệu quả có thể đạt được bằng cách sử dụng ngôn ngữ hợp ngữ không chứng minh được công việc làm thêm, thời gian thêm và các kỹ năng cần thiết.

Đúng là ngôn ngữ ngày càng phổ biến. Năng suất là đây nhiệm vụ chinh trong lập trình, vì vậy các ngôn ngữ mới thỉnh thoảng được tạo ra để tăng năng suất cho ít nhất một số loại công việc.

Hầu hết các lập trình viên ngày nay đều sử dụng các ngôn ngữ cấp cao hơn - họ cần làm việc hiệu quả hơn. Ngôn ngữ cấp cao nhất có thể biên dịch thành mã máy(C hoặc C++) hoặc có thể được biên dịch thành mã byte với kiến ​​trúc độc lập và chạy trong máy ảo(Java) hoặc được xử lý (JavaScript, PHP, Ruby, Python, Perl, v.v.).

Quan niệm sai lầm cho rằng cần phải học hợp ngữ vì “nó tốt hơn Python" Đây là một quan điểm ngu ngốc dựa trên dữ liệu lỗi thời.

Người đóng gói hóa đơn, Giám đốc điều hành ICPC, phần mềm trong lĩnh vực năng lượng, di truyền tổng hợp, v.v.

Tìm hiểu Python. Cung cấp cho mình kinh nghiệm lập trình. Ngôn ngữ này có sự sang trọng riêng của nó.

Tìm hiểu C như một ngôn ngữ cho máy Unix. Hiểu UNIX tương đối dễ dàng.

Học MIX để hiểu Knuth.

Học Java để không phải lo lắng khi làm việc với người khác và còn có thể học lập trình hướng đối tượng.

Học C++ để bạn có thể lập trình theo bất kỳ phong cách nào bạn muốn. Điểm mạnh của nó là nó là ngôn ngữ lập trình cơ bản. Điểm yếu của nó là để lập trình trong đó bạn cần hiểu phong cách của nó.

Tìm hiểu LISP để củng cố sự hiểu biết của bạn về đệ quy.

Tôi đã nói rằng nó không đáng để học ít nhất một cái gì đó? KHÔNG. Bởi vì điều duy nhất bạn phải làm là rèn luyện bản thân để nghiên cứu liên tục bất cứ điều gì, đặc biệt là học cách giải quyết vấn đề.

Shiva Shinde, Python dễ viết mã nhưng khó đọc

Ngôn ngữ lập trình Python không chết; nó là một trong những ngôn ngữ phát triển nhanh nhất.

  1. Thật dễ dàng để học
  • TRÊN khoảnh khắc này 8 trong số 10 chương trình máy tính hàng đầu của Mỹ sử dụng ngôn ngữ này (Philip Guo, CACM)
  • Các chương trình Python có xu hướng có tối thiểu các mẫu thường thấy trong các ngôn ngữ lập trình khác. Do đó, bạn có thể sử dụng các giải pháp không chuẩn cho các vấn đề thường xuyên hơn.
  • Nếu bạn có kinh nghiệm lập trình, ngay cả khi không sử dụng ngôn ngữ này, thì bạn sẽ nhanh chóng thành thạo Python.

2. Đầy đủ chức năng

  • Nó không chỉ là một ngôn ngữ để thống kê. Python có tất cả các khả năng thu thập và làm sạch dữ liệu, làm việc với cơ sở dữ liệu và tính toán hiệu năng cao, v.v.
  • Đây là ngôn ngữ lập trình được chấp nhận rộng rãi với số lượng lớn các thư viện tích hợp. Nó tốt cho việc quản lý dữ liệu và cơ sở dữ liệu cũng như để làm việc với lập trình mạng. Đó là một ngôn ngữ chu đáo với lượng tài nguyên khổng lồ có sẵn.

3. Thư viện dữ liệu khoa học nghiêm túc

  • Python có các thư viện khoa học quan trọng với lượng dữ liệu khổng lồ để sử dụng.
  • Cơ sở của những điều này thư viện khoa học là Hệ sinh thái SciPy, thậm chí còn tổ chức các hội nghị của riêng mình.
  • Pandas và Matplotlib là các thành phần của SciPy. Họ cung cấp dữ liệu tuyệt vời nhất Các chủ đề khác nhau, ví dụ như học máy, phân tích tiên đoán phân tích văn bản và mạng.

Hernan Soulages, lập trình viên thực dụng

Ngôn ngữ này khá phổ biến, tầm quan trọng của nó ngày càng tăng trong giới học thuật. Cũng đúng là tính hữu dụng của ngôn ngữ lập trình phụ thuộc vào những gì bạn muốn làm với nó.

Tôi không thích PHP chút nào, nhưng tôi không đủ ngu ngốc để phủ nhận tính linh hoạt và sức mạnh của nó, đồng thời đó là một ngôn ngữ dễ học.
Đối với việc học hợp ngữ, ngôn ngữ này phụ thuộc trực tiếp vào bộ xử lý bạn đang làm việc.

Nếu bạn biết cách làm việc với một cái, thì bạn chắc chắn có thể sử dụng nó trong dòng bộ xử lý của mình một thời gian. Nhưng theo thời gian, họ cũng trải qua một số thay đổi. Theo nghĩa này, đây là họ ngôn ngữ kém bền vững nhất.

Magnus Lychka, nhà phát triển phần mềm và cố vấn ở Gothenburg

Nhiều người dùng thích Python. Đối với một số ứng dụng, nó sẽ quá chậm và chẳng hạn như chúng sẽ hoạt động nhanh hơn với hợp ngữ, nhưng những ứng dụng này sẽ hoạt động nhanh như vậy trong C, mặc dù thực tế là mã được viết bằng C sẽ hoạt động trên mọi nền tảng.

Nhiều công ty khởi nghiệp đã thành công với Python, sau đó họ phải viết lại một số chương trình bằng Java, C++ hoặc C. Và nếu những công ty khởi nghiệp này bắt đầu làm việc với ngôn ngữ hợp ngữ, thì rất có thể họ sẽ hết vốn từ lâu trước khi rất nhanh nhưng khó khăn. đọc mã sẽ hoàn tất.

Nhưng khi làm việc với hợp ngữ, bạn sẽ không chỉ phải giải quyết kiến trúc khác nhau bộ xử lý mà còn có các chi tiết kỹ thuật khác với bộ xử lý các hệ điều hànhỒ.

Kể từ khi bắt đầu dạy Python vào năm 2011, tôi đã tìm thấy một số tài nguyên mà tôi sử dụng thường xuyên. Khi tôi mới bắt đầu học ngôn ngữ này, tôi đã rất ngạc nhiên trước sự chào đón của cộng đồng Python. Bằng chứng của điều này là số lượng lớn vật liệu chất lượng cao miễn phí. Dưới đây tôi sẽ đưa ra ví dụ về những tài nguyên sẽ không tồn tại nếu không có sự hỗ trợ của cộng đồng.

1. Phát minh trò chơi máy tính của riêng bạn bằng Python

Có thể bạn đã có cuốn sách Python yêu thích của riêng mình, nhưng tôi khuyến khích bạn đọc cuốn sách này. Bạn có thể mua nó, đọc trực tuyến hoặc tải xuống miễn phí dưới dạng PDF. Tôi thích cấu trúc các chương giống nhau: đầu tiên vấn đề được đặt ra, sau đó là các ví dụ về giải pháp cho các vấn đề với giải thích chi tiết. Cùng một tác giả đã viết thêm 3 cuốn sách tuyệt vời.

2. Điêu khắc

Tôi đã làm việc ở những trường học mà vì lý do này hay lý do khác (thường là lý do bảo mật) Python không có sẵn. Skulpt chạy các tập lệnh Python trong trình duyệt và bao gồm một số ví dụ. Cái đầu tiên sử dụng mô-đun Turtle để xuất hình dạng hình học. Tôi thường dùng nó để kiểm tra kiến ​​thức của học sinh.

3. Đoán số

8. Ngẫu nhiên

Python có một số hàm tích hợp hữu ích, chẳng hạn như in và nhập liệu. Mặt khác, mô-đun ngẫu nhiên cần phải được nhập trước khi sử dụng. Nó cho phép sinh viên thêm một chút khó đoán vào dự án của họ.

Nhập xu ngẫu nhiên = ['ngửa','đuôi'] lật = ngẫu nhiên.choice(xu) in(lật)

9. Chống trọng lực

Tôi hiếm khi sử dụng mô-đun chống trọng lực. Nhưng khi tôi phải làm điều này, tôi hỏi học sinh điều gì sẽ xảy ra khi họ nhập nó. Thông thường, tôi nhận được nhiều câu trả lời khác nhau, đôi khi họ thậm chí còn gợi ý rằng tác dụng thực sự của tình trạng không trọng lượng sẽ bắt đầu - họ nghĩ rằng Python rất mạnh mẽ :) Bạn có thể tự mình thử và cung cấp nó cho học sinh của mình.

Nhập khẩu phản lực hấp dẫn

10. Phá hoại

Khó khăn lớn nhất đối với tôi với tư cách là một giáo viên là tìm lỗi cú pháp trong các chương trình sinh viên. May mắn thay, trước khi kiệt sức hoàn toàn, tôi đã nghĩ ra

Ngày 27 tháng 8 năm 2012 lúc 03:18 chiều

Học Python hiệu quả

  • Python

Xin chào tất cả mọi người!

Cú pháp dễ đọc, dễ học, ngôn ngữ cấp cao Ngôn ngữ lập trình hướng đối tượng (OOP), chế độ tương tác mạnh mẽ, nhiều thư viện. Nhiều lợi ích khác... Và tất cả điều này chỉ bằng một ngôn ngữ.
Đầu tiên, chúng ta hãy đi sâu vào các khả năng và tìm hiểu xem Python có thể làm được những gì?

Tại sao tôi cần Python của bạn?

Nhiều lập trình viên mới hỏi những câu hỏi tương tự. Giống như mua một chiếc điện thoại, hãy cho tôi biết tại sao tôi nên mua chiếc điện thoại này mà không phải chiếc điện thoại này?
Chất lượng phần mềm
Đối với nhiều người, bao gồm cả tôi, ưu điểm chính là cú pháp dễ đọc. Không có nhiều ngôn ngữ có thể tự hào về nó. Mã Python dễ đọc hơn, điều đó có nghĩa là việc sử dụng lại và bảo trì nó dễ dàng hơn nhiều so với việc sử dụng Mã chương trình trong các ngôn ngữ kịch bản khác. Python chứa các cơ chế hiện đại nhất để sử dụng lại mã chương trình, đó là OOP.
Thư viện hỗ trợ
Python đi kèm với một số lượng lớn các ngôn ngữ được biên dịch và di động chức năng, được biết như thư viện chuẩn. Thư viện này cung cấp cho bạn rất nhiều tính năng được yêu cầu trong chương trình ứng dụng, bắt đầu từ việc tìm kiếm văn bản bằng mẫu và kết thúc bằng chức năng mạng. Python cho phép mở rộng cả bằng chi phí của bạn thư viện riêng và gây thiệt hại cho các thư viện do các nhà phát triển khác tạo ra.
Tính di động của chương trình
Hầu hết các chương trình Python chạy không thay đổi trên tất cả các nền tảng chính. Việc chuyển mã chương trình từ Linux sang Windows bao gồm sao chép đơn giản tập tin chương trình từ máy này sang máy khác. Python cũng mang đến cho bạn rất nhiều cơ hội để tạo giao diện đồ họa di động.
Tốc độ phát triển
So với các ngôn ngữ được biên dịch hoặc gõ mạnh như C, C++ hoặc Java, Python tăng năng suất của nhà phát triển lên nhiều lần. Mã Python thường có kích thước bằng 1/3 hoặc thậm chí 1/5 kích thước của mã C++ hoặc Java tương đương, nghĩa là gõ ít hơn, ít thời gian gỡ lỗi hơn và ít nỗ lực bảo trì hơn. Ngoài ra, các chương trình Python chạy ngay lập tức mà không cần thực hiện các bước biên dịch và liên kết tốn thời gian như một số ngôn ngữ lập trình khác, giúp tăng thêm năng suất của lập trình viên.

Python được sử dụng ở đâu?

  • Google sử dụng Python trong máy tìm kiếm và trả tiền cho công việc của người tạo ra Python - Guido van Rossum
  • Các công ty như Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm và IBM sử dụng Python để kiểm tra phần cứng
  • Dịch vụ chia sẻ video YouTube đến một mức độ lớnđược triển khai bằng Python
  • NSA sử dụng Python để mã hóa và phân tích thông tin tình báo
  • JPMorgan Chase, UBS, Getco và Citadel sử dụng Python để dự báo thị trường tài chính
  • Chương trình BitTorrent phổ biến để trao đổi tệp trên mạng ngang hàng được viết bằng Python
  • Máy ứng dụng khung web phổ biến từ Google sử dụng Python làm ngôn ngữ lập trình ứng dụng
  • NASA, Los Alamos, JPL và Fermilab sử dụng Python cho tính toán khoa học.
và các công ty khác cũng sử dụng ngôn ngữ này.

Văn học

Vì vậy, chúng tôi đã hiểu rõ hơn về ngôn ngữ lập trình Python. Có thể nói riêng rằng ưu điểm của Python là nó có nhiều tài liệu chất lượng cao. Không phải mọi ngôn ngữ đều có thể tự hào về điều này. Ví dụ, ngôn ngữ Lập trình JavaScript không thể làm hài lòng người dùng với nhiều tài liệu, mặc dù ngôn ngữ thực sự tốt.

Dưới đây là những nguồn sẽ giúp bạn hiểu rõ hơn về Python và có thể trở thành Guido van Rossum trong tương lai.
* Một số nguồn có thể bằng tiếng Anh. Bạn không nên ngạc nhiên về điều này, hiện nay có rất nhiều tác phẩm văn học xuất sắc được viết bằng tiếng anh. Và để tự lập trình bạn cần biết ít nhất kiến ​​thức cơ bản về tiếng Anh.

Tôi thực sự khuyên bạn nên đọc cuốn sách này trước - Mark Lutz. Học Python, tái bản lần thứ 4. Sách đã được dịch sang tiếng Nga nên đừng lo nếu bạn đột nhiên không biết tiếng Anh. Nhưng đây là phiên bản thứ tư.

Đối với những người biết tiếng Anh, bạn có thể đọc tài liệu trên trang web chính thức của Python. Mọi thứ đều được mô tả ở đó khá rõ ràng.

Và nếu bạn thích thông tin từ video thì tôi có thể giới thiệu các bài học từ Google, do Nick Parlante, một sinh viên đến từ Stanford, giảng dạy. Sáu video bài giảng trên YouTube. Nhưng có một giọt thuốc mỡ trong thùng thuốc mỡ... Anh ấy thực hiện nó bằng tiếng Anh với phụ đề tiếng Anh. Nhưng tôi hy vọng rằng điều này sẽ dừng lại một số.

Đọc sách nhưng không biết vận dụng kiến ​​thức thì phải làm sao?

Không hoảng loạn!
Tôi khuyên bạn nên đọc cuốn sách của Mark Lutz. Lập trình Python (Ấn bản thứ 4). Trước đây là “học”, nhưng ở đây là “Lập trình”. Trong phần “Học” - bạn có được kiến ​​thức về Python, trong phần “Lập trình” - Mark dạy bạn cách áp dụng nó vào các chương trình tương lai của bạn. Cuốn sách rất hữu ích. Và tôi nghĩ một cái là đủ cho bạn.

Tôi muốn luyện tập!

Một cách dễ dàng.
Ở trên tôi đã viết về các video bài giảng của Nick Parlante trên YouTube, nhưng họ cũng có một số video

Giới thiệu


Do những gì hiện đang được quan sát phát triển nhanh chóng công nghệ máy tính cá nhân, có sự thay đổi dần dần về yêu cầu đối với ngôn ngữ lập trình. Các ngôn ngữ thông dịch đang bắt đầu đóng một vai trò ngày càng quan trọng khi sức mạnh ngày càng tăng những máy tính cá nhân bắt đầu cung cấp đủ tốc độ thực thi của các chương trình được giải thích. Và ưu điểm đáng kể duy nhất của các ngôn ngữ lập trình được biên dịch là mã tốc độ cao. Khi tốc độ thực hiện chương trình không phải là một giá trị quan trọng, sự lựa chọn đúng đắn sẽ có một ngôn ngữ được thông dịch như một công cụ lập trình đơn giản và linh hoạt hơn.

Về vấn đề này, điều đáng quan tâm là xem xét ngôn ngữ lập trình tương đối mới Python (Python), được tạo ra bởi tác giả Guido van Rossum vào đầu những năm 90.

Thông tin chung về Python. Ưu điểm và nhược điểm


Python là một ngôn ngữ lập trình hướng đối tượng được giải thích nguyên bản. Nó cực kỳ đơn giản và chứa một số lượng nhỏ từ khóa nhưng cũng rất linh hoạt và giàu tính biểu cảm. Đây là ngôn ngữ cấp cao hơn Pascal, C++ và tất nhiên là C, ngôn ngữ này đạt được chủ yếu thông qua các cấu trúc dữ liệu cấp cao tích hợp sẵn (danh sách, từ điển, bộ dữ liệu).

Ưu điểm của ngôn ngữ.
Một lợi thế không thể nghi ngờ là trình thông dịch Python được triển khai trên hầu hết các nền tảng và hệ điều hành. Ngôn ngữ đầu tiên như vậy là C, nhưng kiểu dữ liệu của nó là những chiếc xe khác nhau có thể chiếm nhiều lượng bộ nhớ khác nhau và điều này gây trở ngại cho việc viết một chương trình di động thực sự. Python không có nhược điểm như vậy.

Đặc điểm quan trọng tiếp theo là khả năng mở rộng của ngôn ngữ; tầm quan trọng lớn được gắn liền với điều này và, như chính tác giả đã viết, ngôn ngữ được hình thành chính xác là có khả năng mở rộng. Điều này có nghĩa là tất cả các lập trình viên quan tâm đều có thể cải thiện ngôn ngữ. Trình thông dịch được viết bằng C và nguồn có sẵn cho bất kỳ thao tác nào. Nếu cần, bạn có thể chèn nó vào chương trình của mình và sử dụng nó như một shell tích hợp. Hoặc, bằng cách viết các phần bổ sung của riêng bạn cho Python bằng C và biên dịch chương trình, bạn có thể có được một trình thông dịch “mở rộng” với các khả năng mới.

Ưu điểm tiếp theo là sự có mặt số lượng lớn các mô-đun được kết nối với chương trình cung cấp nhiều Tính năng bổ sung. Các mô-đun như vậy được viết bằng C và Python và có thể được phát triển bởi tất cả các lập trình viên đủ trình độ. Ví dụ bao gồm các mô-đun sau:

  • Python số - các khả năng toán học nâng cao như thao tác với vectơ và ma trận số nguyên;
  • Tkinter - xây dựng ứng dụng sử dụng giao diện đồ họa người dùng (GUI) dựa trên giao diện Tk được sử dụng rộng rãi trên X-Windows;
  • OpenGL - sử dụng thư viện mở rộng mô hình đồ họađối tượng hai và ba chiều Thư viện đồ họa mở từ Silicon Graphics Inc. Tiêu chuẩn này được hỗ trợ, trong số những thứ khác, trong các hệ điều hành phổ biến như Microsoft Windows 95 OSR 2, 98 và Windows NT 4.0.
Nhược điểm của ngôn ngữ.
Hạn chế duy nhất được tác giả nhận thấy là tốc độ thực thi tương đối thấp của chương trình Python, do tính dễ hiểu của nó. Tuy nhiên, theo ý kiến ​​​​của chúng tôi, điều này được bù đắp nhiều hơn bởi những ưu điểm của ngôn ngữ khi viết chương trình không quá quan trọng đối với tốc độ thực thi.

Tổng quan về tính năng


1. Python, không giống như nhiều ngôn ngữ (Pascal, C++, Java, v.v.), không yêu cầu khai báo biến. Chúng được tạo tại nơi chúng được khởi tạo, tức là. lần đầu tiên một biến được gán một giá trị. Điều này có nghĩa là loại biến được xác định bởi loại giá trị được gán. Về mặt này, Python giống với Basic.
Loại của một biến không phải là bất biến. Bất kỳ phép gán nào cho nó đều đúng và điều này chỉ dẫn đến thực tế là kiểu của biến trở thành kiểu của giá trị được gán mới.

2. Trong các ngôn ngữ như Pascal, C, C++, việc tổ chức danh sách gặp một số khó khăn. Để thực hiện chúng, người ta phải nghiên cứu kỹ lưỡng các nguyên tắc làm việc với con trỏ và bộ nhớ động. Và ngay cả khi có trình độ chuyên môn tốt, lập trình viên mỗi lần thực hiện lại các cơ chế tạo, làm việc và hủy danh sách vẫn có thể dễ dàng mắc những lỗi tinh vi. Theo quan điểm này, một số công cụ đã được tạo ra để làm việc với danh sách. Ví dụ, Delphi Pascal có một lớp TList thực hiện các danh sách; Thư viện STL (Thư viện mẫu tiêu chuẩn) đã được phát triển cho C++, chứa các cấu trúc như vectơ, danh sách, bộ, từ điển, ngăn xếp và hàng đợi. Tuy nhiên, các cơ sở như vậy không có sẵn ở tất cả các ngôn ngữ và cách triển khai chúng.

Một trong tính năng đặc biệt Python là sự hiện diện của các cấu trúc được tích hợp trong chính ngôn ngữ như bộ dữ liệu(bộ dữ liệu) danh sách(danh sách) và từ điển(từ điển), đôi khi được gọi là thẻ(bản đồ). Chúng ta hãy xem xét kỹ hơn về họ.

  1. Bộ dữ liệu . Nó phần nào gợi nhớ đến một mảng: nó bao gồm các phần tử và có độ dài được xác định nghiêm ngặt. Các phần tử có thể là bất kỳ giá trị nào - các hằng số hoặc đối tượng đơn giản. Không giống như mảng, các phần tử của một bộ không nhất thiết phải đồng nhất. Và điều phân biệt một bộ dữ liệu với một danh sách là một bộ dữ liệu không thể thay đổi được, tức là. chúng ta không thể gán một cái gì đó mới cho phần tử tuple thứ i và không thể thêm các phần tử mới. Vì vậy, một bộ có thể được gọi là một danh sách hằng. Về mặt cú pháp, một bộ dữ liệu được chỉ định bằng cách liệt kê tất cả các phần tử được phân tách bằng dấu phẩy, tất cả được đặt trong dấu ngoặc đơn:

  2. (1, 2, 5, 8)
    (3.14, ‘chuỗi’, -4)
    Tất cả các yếu tố được lập chỉ mục từ đầu. Để lấy phần tử thứ i, bạn phải chỉ định tên bộ theo sau là chỉ mục i trong ngoặc vuông. Ví dụ:
    t = (0, 1, 2, 3, 4)
    in t, t[-1], t[-3]
    Kết quả: 0 4 2
    Do đó, một bộ có thể được gọi là một vectơ hằng nếu các phần tử của nó luôn đồng nhất.
  3. Danh sách . Một ví dụ điển hình và cụ thể về danh sách là chuỗi ngôn ngữ Turbo Pascal. Các phần tử của một dòng là các ký tự đơn, độ dài không cố định, có thể xóa các phần tử hoặc ngược lại, chèn chúng vào bất kỳ vị trí nào trong dòng. Các phần tử của danh sách có thể là các đối tượng tùy ý, không nhất thiết phải cùng loại. Để tạo một danh sách, chỉ cần liệt kê các phần tử được phân tách bằng dấu phẩy, đặt tất cả chúng trong dấu ngoặc vuông:


  4. ['chuỗi', (0,1,8),]
    Không giống như tuple, danh sách có thể được sửa đổi theo ý muốn. Việc truy cập vào các phần tử được thực hiện giống như trong các bộ dữ liệu. Ví dụ:
    tôi = ]
    in l, l, l[-2], l[-1]
    Kết quả: 1 giây (2,8) 0
  5. Từ điển . Nó gợi nhớ đến kiểu bản ghi trong Pascal hoặc kiểu cấu trúc trong C. Tuy nhiên, thay vì sơ đồ “trường bản ghi” - “giá trị”, ở đây sử dụng “khóa” - “giá trị”. Từ điển là tập hợp các cặp khóa-giá trị. Ở đây, “khóa” là một hằng số thuộc bất kỳ loại nào (nhưng chuỗi được sử dụng chủ yếu), nó dùng để đặt tên (chỉ mục) một số giá trị tương ứng (có thể thay đổi).

  6. Từ điển được tạo bằng cách liệt kê các phần tử của nó (các cặp khóa-giá trị được phân tách bằng dấu hai chấm), phân tách bằng dấu phẩy và đặt tất cả chúng trong dấu ngoặc nhọn. Để truy cập vào một giá trị nhất định, sau tên từ điển, hãy viết khóa tương ứng trong ngoặc vuông. Ví dụ:
    d = ("a": 1, "b": 3, 5: 3.14, "tên": "John")
    d["b"] = d
    in d["a"], d["b"], d, d["name"]
    Kết quả: 1 3,14 3,14 John
    Để thêm một cặp khóa-giá trị mới, chỉ cần gán giá trị tương ứng cho phần tử bằng khóa mới:
    d["mới"] = "giá trị mới"
    in d
    Kết quả: ("a":1, "b":3, 5:3.14, "name:"John", "mới":giá trị mới")

3. Python, không giống như Pascal, C, C++, không hỗ trợ làm việc với con trỏ, bộ nhớ động và số học địa chỉ. Theo cách này, nó tương tự như Java. Như bạn đã biết, con trỏ là nguồn gốc của các lỗi nhỏ và việc làm việc với chúng liên quan nhiều hơn đến lập trình cấp thấp. Để mang lại độ tin cậy và đơn giản cao hơn, chúng không được đưa vào Python.

4. Một trong những tính năng của Python là cách một biến được gán cho một biến khác, tức là. khi ở hai bên của người vận hành" = "có những biến số.

Theo Timothy Budd (), chúng tôi sẽ gọi ngữ nghĩa con trỏ trường hợp việc gán chỉ dẫn đến việc gán một tham chiếu (con trỏ), tức là. biến mới chỉ trở thành một tên khác, biểu thị cùng vị trí bộ nhớ với biến cũ. Trong trường hợp này, việc thay đổi giá trị được biểu thị bằng biến mới sẽ dẫn đến thay đổi giá trị của biến cũ, bởi vì chúng thực sự có ý nghĩa tương tự.

Khi một phép gán dẫn đến việc tạo ra một đối tượng mới (ở đây là một đối tượng - theo nghĩa là một phần bộ nhớ để lưu trữ một giá trị thuộc loại nào đó) và sao chép nội dung của biến được gán vào đó, chúng ta gọi trường hợp này là sao chép ngữ nghĩa. Do đó, nếu ngữ nghĩa sao chép được áp dụng khi sao chép thì các biến ở hai bên dấu "=" sẽ có nghĩa là hai đối tượng độc lập có cùng nội dung. Và ở đây, một sự thay đổi tiếp theo ở một biến sẽ không ảnh hưởng đến biến kia theo bất kỳ cách nào.

Bài tập trong Python hoạt động như thế này: if có thể chuyển nhượngđối tượng là một thể hiện của các loại như số hoặc chuỗi, thì ngữ nghĩa sao chép sẽ được áp dụng, nhưng nếu ở phía bên phải có một thể hiện của một lớp, danh sách, từ điển hoặc bộ dữ liệu thì ngữ nghĩa con trỏ sẽ được áp dụng. Ví dụ:
a = 2; b = a; b = 3
print "sao chép ngữ nghĩa: a=", a, "b=", b
một = ; b = a; b = 3
print "ngữ nghĩa con trỏ: a=", a, "b=", b
Kết quả:
sao chép ngữ nghĩa: a= 2 b= 3
ngữ nghĩa con trỏ: a= b=

Đối với những ai muốn biết điều gì đang diễn ra ở đây, tôi sẽ đưa ra cho bạn một bài tập khác trong Python. Nếu trong các ngôn ngữ như Basic, Pascal, C/C++, chúng ta xử lý các biến và hằng số “dung lượng” được lưu trữ trong chúng (số, ký hiệu, chuỗi - không thành vấn đề) và thao tác gán có nghĩa là “nhập” hằng số vào biến được gán, thì trong Python chúng ta phải làm việc với các biến “tên” và các đối tượng mà chúng đặt tên. (Lưu ý một số điểm tương đồng với Prolog?) Đối tượng trong Python là gì? Đây là tất cả mọi thứ có thể được đặt tên: số, chuỗi, danh sách, từ điển, thể hiện lớp (trong Object Pascal được gọi là đối tượng), chính các lớp (!), hàm, mô-đun, v.v. Vì vậy, khi gán một biến cho một đối tượng, biến đó sẽ trở thành “tên” của nó và đối tượng có thể có bao nhiêu “tên” như mong muốn và tất cả chúng đều độc lập với nhau.

Bây giờ, các đối tượng được chia thành có thể sửa đổi (có thể thay đổi) và không thể thay đổi. Có thể thay đổi - những thứ có thể thay đổi “nội dung nội bộ” của chúng, ví dụ: danh sách, từ điển, thể hiện của lớp. Và những chuỗi không thể thay đổi - chẳng hạn như số, bộ dữ liệu, chuỗi (vâng, cả chuỗi nữa; bạn có thể gán một chuỗi mới thu được từ chuỗi cũ cho một biến, nhưng dòng cũ sửa đổi sẽ không hoạt động).

Vì vậy, nếu chúng ta viết một = ; b = a; b = 3, Python diễn giải nó như thế này:

  • cung cấp cho đối tượng một "danh sách" " Tên Một ;
  • đặt cho đối tượng này một tên khác - b ;
  • sửa đổi phần tử null của một đối tượng.

  • Đây là cách chúng ta có được ngữ nghĩa “giả” của con trỏ.

    Điều cuối cùng cần nói về điều này: mặc dù không thể thay đổi cấu trúc của bộ dữ liệu, nhưng các thành phần có thể thay đổi mà nó chứa vẫn có sẵn để sửa đổi:

    T = (1, 2, , "string") t = 6 # điều này là không thể được del t # cũng là lỗi t = 0 # được phép, bây giờ thành phần thứ ba là danh sách t = "S" # lỗi: chuỗi không có thể thay đổi

    5. Cách thức các toán tử nhóm Python rất độc đáo. Trong Pascal, việc này được thực hiện bằng cách sử dụng dấu ngoặc toán tử bắt đầu-kết thúc, trong C, C++, Java - dấu ngoặc nhọn (), trong Cơ bản, phần cuối của cấu trúc ngôn ngữ được sử dụng (NEXT, WEND, END IF, END SUB).
    Trong Python, mọi thứ đơn giản hơn nhiều: việc chọn một khối câu lệnh được thực hiện bằng cách dịch chuyển nhóm đã chọn theo một hoặc nhiều dấu cách hoặc ký tự tab sang bên phải so với phần đầu của cấu trúc mà khối đã cho sẽ thuộc về. Ví dụ:

    nếu x > 0: in ‘ x > 0 ’ x = x - 8 ngược lại: in ‘ x<= 0 ’ x = 0 Do đó, một phong cách viết chương trình tốt mà các giáo viên dạy các ngôn ngữ Pascal, C++, Java, v.v. yêu cầu, đã được tiếp thu ở đây ngay từ đầu, vì đơn giản là nó sẽ không hoạt động theo bất kỳ cách nào khác.

    Mô tả của ngôn ngữ. Cấu trúc điều khiển



    Xử lý ngoại lệ


    thử:
    <оператор1>
    [ngoại trừ[<исключение> [, <переменная>] ]:
    <оператор2>]
    [khác <оператор3>]
    Đã thực hiện<оператор1>, nếu có ngoại lệ xảy ra<исключение>, thì nó được thỏa mãn<оператор2>. Nếu như<исключение>có một giá trị, nó được gán<переменной>.
    Sau khi hoàn thành thành công<оператора1>, thực hiện<оператор3>.
    thử:
    <оператор1>
    Cuối cùng:
    <оператор2>
    Đã thực hiện<оператор1>. Nếu không có ngoại lệ xảy ra thì thực thi<оператор2>. Mặt khác được thực thi<оператор2>và một ngoại lệ ngay lập tức được nêu ra.
    nâng lên <исключение> [<значение>] Ném một ngoại lệ<исключение>với tham số<значение>.

    Ngoại lệ chỉ là chuỗi. Ví dụ:

    My_ex = ‘chỉ mục xấu’ thử: nếu xấu: tăng my_ex, xấu ngoại trừ my_ex, giá trị: print ‘Lỗi’, giá trị

    Khai báo hàm



    Khai báo lớp



    Lớp cMyClass: def __init__(self, val): self.value = val # def printVal(self): print ' value = ', self.value # # end cMyClass obj = cMyClass (3.14) obj.printVal() obj.value = " chuỗi ngay bây giờ" obj.printVal () !} Kết quả:
    giá trị = 3,14
    giá trị = chuỗi bây giờ

    Toán tử cho tất cả các loại chuỗi (danh sách, bộ dữ liệu, chuỗi)


    Toán tử cho danh sách (danh sách)


    s[i] = x Phần tử thứ i s được thay thế bằng x.
    s = t một phần phần tử s từ i đến j-1 được thay thế bằng t (t cũng có thể là một danh sách).
    del s xóa phần s (giống như s = ).
    s.append(x) thêm phần tử x vào cuối s.
    s.count(x) trả về số phần tử s bằng x.
    s.index(x) trả về giá trị i nhỏ nhất sao cho s[i]==x.
    s.insert(i,j) phần của s, bắt đầu từ phần tử thứ i, được dịch chuyển sang phải và s[i] được gán cho x.
    s.remove(x) giống như del s[ s.index(x) ] - loại bỏ phần tử đầu tiên của s bằng x.
    s.reverse() viết một chuỗi theo thứ tự ngược lại
    s.sort() sắp xếp danh sách theo thứ tự tăng dần.

    Toán tử cho từ điển


    Đối tượng tệp


    Được tạo bởi một hàm tích hợp mở()(xem mô tả bên dưới). Ví dụ: f = open('mydan.dat','r').
    Phương pháp:

    Các thành phần ngôn ngữ khác và các chức năng tích hợp


    = phân công.
    in [ < c1 > [, < c2 >]* [, ] ] hiển thị giá trị< c1 >, < c2 >V. đầu ra tiêu chuẩn. Đặt một khoảng trắng giữa các đối số. Nếu không có dấu phẩy ở cuối danh sách đối số, nó sẽ chuyển sang dòng mới.
    cơ bụng (x) trả lại giá trị tuyệt đối x.
    áp dụng( f , <аргументы>) gọi hàm (hoặc phương thức) f với< аргументами >.
    chr(i) trả về chuỗi một ký tự có mã ASCII i.
    cmp(x,y) trả về âm, 0 hoặc dương nếu x<, ==, или >hơn y.
    divmod (a, b) trả về bộ dữ liệu (a/b, a%b), trong đó a/b là div b (phần nguyên của kết quả phép chia), a%b là mod b (phần còn lại của phép chia).
    (các) đánh giá
    trả về đối tượng được chỉ định trong s dưới dạng một chuỗi. S có thể chứa bất kỳ cấu trúc ngôn ngữ nào. S cũng có thể là một đối tượng mã, ví dụ: x = 1 ; incr_x = eval("x+1") .
    phao(x) trả về một giá trị thực bằng số x.
    hex(x) trả về một chuỗi chứa biểu diễn thập lục phân của x.
    đầu vào(<строка>) hiển thị<строку>, đọc và trả về một giá trị từ đầu vào tiêu chuẩn.
    int(x) trả về giá trị nguyên của x.
    (các) len trả về độ dài (số phần tử) của một đối tượng.
    dài (x) trả về một giá trị số nguyên dài x.
    tối đa, phút trả về phần tử lớn nhất và nhỏ nhất của chuỗi s (nghĩa là s là một chuỗi, danh sách hoặc bộ dữ liệu).
    tháng mười(x) trả về một chuỗi chứa biểu diễn của số x.
    mở(<имя файла>, <режим>='r' ) trả về một đối tượng tệp được mở để đọc.<режим>= 'w' - mở đầu cho việc viết.
    thứ tự(c) trả về mã ASCII của một ký tự (chuỗi có độ dài 1) c.
    pow(x, y) trả về giá trị của x lũy thừa của y.
    phạm vi(<начало>, <конец>, <шаг>) trả về danh sách các số nguyên lớn hơn hoặc bằng<начало>và ít hơn<конец>, được tạo với một giá trị nhất định<шагом>.
    raw_input( [ <текст> ] ) hiển thị<текст>đến đầu ra tiêu chuẩn và đọc một chuỗi từ đầu vào tiêu chuẩn.
    tròn (x, n=0) trả về số thực x được làm tròn đến chữ số thập phân thứ n.
    str(<объект>) trả về một biểu diễn chuỗi<объекта>.
    kiểu(<объект>) trả về kiểu của đối tượng.
    Ví dụ: if type(x) == type(''): print ' đây là một chuỗi '
    xrange (<начало>, <конец>, <шаг>) tương tự như phạm vi, nhưng chỉ mô phỏng một danh sách mà không tạo ra nó. Được sử dụng trong vòng lặp for.

    Các hàm đặc biệt để làm việc với danh sách


    lọc (<функция>, <список>) trả về danh sách các phần tử đó<спиcка>, mà<функция>nhận giá trị "true".
    bản đồ(<функция>, <список>) áp dụng<функцию>tới từng phần tử<списка>và trả về một danh sách kết quả.
    giảm bớt ( f , <список>,
    [, <начальное значение> ] )
    trả về giá trị thu được bằng cách "giảm"<списка>chức năng f. Điều này có nghĩa là có một số biến nội bộ p được khởi tạo<начальным значением>, thì với mỗi phần tử<списка>, hàm f được gọi với hai tham số: p và phần tử<списка>. Kết quả trả về của f được gán cho p. Sau khi trải qua mọi chuyện<списка>giảm lợi nhuận p.
    Ví dụ, khi sử dụng hàm này, bạn có thể tính tổng các phần tử của một danh sách: def func (đỏ, el): trả về đỏ+el tổng = giảm (func, , 0) # bây giờ tổng == 15
    lambda [<список параметров>] : <выражение> Một hàm "ẩn danh" không có tên và được viết ở nơi nó được gọi. Chấp nhận các tham số được chỉ định trong<списке параметров>, và trả về giá trị<выражения>. Được sử dụng để lọc, thu nhỏ, bản đồ. Ví dụ: >>>bộ lọc in (lambda x: x>3, ) >>>in bản đồ (lambda x: x*2, ) >>>p=reduce (lambda r, x: r*x, , 1) >>> in trang 24

    Nhập mô-đun



    Mô-đun toán tiêu chuẩn


    Biến: số Pi, e.
    Chức năng(tương tự như các hàm của ngôn ngữ C):

    acos(x) cos(x) ldexp(x,y) mét vuông(x)
    asin(x) kinh nghiệm(x) nhật ký(x) tan(x)
    atan(x) tuyệt vời (x) sinh(x) frexp(x)
    atan2(x,y) tầng(x) pow(x,y) modf(x)
    trần(x) fmod(x,y) tội lỗi(x)
    cos(x) log10(x) tính(x)

    mô-đun chuỗi


    Chức năng:

    Phần kết luận


    Do tính đơn giản và linh hoạt của ngôn ngữ Python, nó có thể được khuyến nghị cho người dùng (nhà toán học, nhà vật lý, nhà kinh tế, v.v.) không phải là lập trình viên nhưng sử dụng công nghệ máy tính và lập trình trong công việc của tôi.
    Các chương trình bằng Python được phát triển trung bình nhanh hơn từ một đến rưỡi đến hai (và đôi khi hai đến ba) lần so với các ngôn ngữ được biên dịch (C, C++, Pascal). Do đó, ngôn ngữ này có thể được các lập trình viên chuyên nghiệp phát triển các ứng dụng không quan trọng về tốc độ thực thi cũng như các chương trình sử dụng cấu trúc dữ liệu phức tạp rất quan tâm. Đặc biệt, Python đã chứng tỏ mình rất tốt trong việc phát triển các chương trình làm việc với đồ thị và tạo cây.

    Văn học


    1. Budd T. Lập trình hướng đối tượng. - St. Petersburg: Peter, 1997.
    2. Guido van Rossum. Hướng dẫn Python. (www.python.org)
    3. Chris Hoffman. Tài liệu tham khảo nhanh về Python. (www.python.org)
    4. Guido van Rossum. Tham khảo thư viện Python. (www.python.org)
    5. Guido van Rossum. Hướng dẫn tham khảo Python. (www.python.org)
    6. Guido van Rossum. Hội thảo lập trình Python. (http://sultan.da.ru)

    Cập nhật lần cuối: 24/01/2018

    Python là ngôn ngữ lập trình cấp cao phổ biến được thiết kế để tạo nhiều loại ứng dụng khác nhau. Chúng bao gồm các ứng dụng web, trò chơi và chương trình máy tính để bàn và làm việc với cơ sở dữ liệu. Python đã trở nên khá phổ biến trong lĩnh vực học máy và nghiên cứu trí tuệ nhân tạo.

    Đầu tiên Ngôn ngữ Pythonđược công bố vào năm 1991 bởi nhà phát triển người Hà Lan Guido Van Rossum. Kể từ đó, ngôn ngữ này đã trải qua một chặng đường phát triển dài. Năm 2000, phiên bản 2.0 được xuất bản và năm 2008, phiên bản 3.0. Bất chấp khoảng cách dường như lớn giữa các phiên bản, các phiên bản lật đổ vẫn liên tục được tung ra. Vì vậy, phiên bản hiện tại tại thời điểm viết tài liệu này là 3.7. Hơn thông tin chi tiết về tất cả các bản phát hành, phiên bản và thay đổi ngôn ngữ, cũng như bản thân người phiên dịch và tiện ích cần thiết cho công việc và những việc khác thông tin hữu ích có thể được tìm thấy trên trang web chính thức https://www.python.org/.

    Các tính năng chính của ngôn ngữ lập trình Python:

    Python là một ngôn ngữ lập trình rất đơn giản, nó có cú pháp ngắn gọn, đồng thời khá đơn giản và dễ hiểu. Theo đó, nó rất dễ học và trên thực tế đây là một trong những lý do tại sao nó là một trong những ngôn ngữ lập trình phổ biến nhất dành riêng cho việc học. Đặc biệt, năm 2014 nó được công nhận là ngôn ngữ lập trình phổ biến nhất để học tập tại Hoa Kỳ.

    Python cũng phổ biến không chỉ trong lĩnh vực giáo dục mà còn trong việc viết các chương trình cụ thể, bao gồm cả các chương trình thương mại. Đây phần lớn là lý do tại sao nhiều thư viện đã được viết cho ngôn ngữ này mà chúng ta có thể sử dụng.

    Ngoài ra, ngôn ngữ lập trình này còn có cộng đồng rất lớn, bạn có thể tìm thấy trên Internet tại địa chỉ ngôn ngữ nhất định một loạt vật liệu hữu ích, ví dụ, nhận trợ giúp có trình độ từ các chuyên gia.

    Để tạo chương trình bằng Python, chúng ta cần một trình thông dịch. Đối với anh ấy cài đặt hãy tiếp tụcđến trang web https://www.python.org/ và trên trang chính trong phần Tải xuống, chúng ta sẽ tìm thấy liên kết tải xuống phiên bản mới nhất ngôn ngữ (hiện tại là 3.7.2):

    Hãy theo liên kết đến trang mô tả phiên bản mới nhất của ngôn ngữ. Ở gần phía dưới hơn, bạn có thể tìm thấy danh sách các bản phân phối cho các hệ điều hành khác nhau. Hãy chọn gói chúng tôi cần và tải xuống. Ví dụ trường hợp của mình là Windows 64-bit nên mình chọn link gói Trình cài đặt thực thi Windows x86-64. Sau khi tải xuống bản phân phối, hãy cài đặt nó.

    Theo đó, đối với MacOS bạn có thể lựa chọn trình cài đặt macOS 64-bit.

    Trên hệ điều hành Windows, khi bạn khởi động trình cài đặt, cửa sổ trình hướng dẫn cài đặt sẽ mở ra:

    Ở đây chúng ta có thể đặt đường dẫn nơi trình thông dịch sẽ được cài đặt. Hãy để nó như mặc định, nghĩa là C:\Users\[tên người dùng]\AppData\Local\Programs\Python\Python36\.

    Ngoài ra, ở dưới cùng, hãy chọn hộp kiểm “Thêm Python 3.6 vào PATH” để thêm đường dẫn đến trình thông dịch vào các biến môi trường.

    Sau khi cài đặt, chúng ta có thể tìm thấy các biểu tượng để truy cập các tiện ích Python khác nhau trong menu Bắt đầu trên HĐH Windows:

    Ở đây tiện ích Python 3.7 (64-bit) cung cấp một trình thông dịch để chúng ta có thể chạy tập lệnh. TRONG hệ thống tập tin Bản thân tệp trình thông dịch có thể được tìm thấy dọc theo đường dẫn nơi quá trình cài đặt được thực hiện. Trên Windows đây là đường dẫn mặc định C:\Users\[tên người dùng]\AppData\Local\Programs\Python\Python37 và chính trình thông dịch đại diện cho tệp python.exe. Trên hệ điều hành cài đặt Linuxđược tạo trên đường dẫn /usr/local/bin/python3.7 .