1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo giới thiệu và thực hành ngôn ngữ python môn cơ sở lập trình

32 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới Thiệu Và Thực Hành Ngôn Ngữ Python
Tác giả Vũ Hoàng Như, Phạm Huỳnh Ái Vy, Trương Thị Hiền Diệu, Phạm Việt Phương Uyên, Nguyễn Lâm Gia Hân, Trần Văn Thạch, Nguyễn Trần Bảo Trâm(NT)
Người hướng dẫn Phó Hải Đăng
Trường học Trường Đại Học Ngân Hàng Tp. Hồ Chí Minh
Chuyên ngành Cơ Sở Lập Trình
Thể loại Báo Cáo
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 32
Dung lượng 2,47 MB

Nội dung

Nó thích hợp cho ứng dụng không yêu cầu hiệu suất tối ưu.Thường được sử dụng cho phát triển web, trí tuệ nhân tạo, khoa học dữ liệuvà đối tượng lập trình hướng mục tiêu.Quản lý bộ nhớ tự

Trang 1

NGÂN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP HỒ CHÍ MINH

-BÁO CÁO: GIỚI THIỆU VÀ THỰC HÀNH

NGÔN NGỮ PYTHON MÔN: CƠ SỞ LẬP TRÌNH

LỚP: L07 Khóa học: CLC-K10 GVHD: PHÓ HẢI ĐĂNG

TP Hồ Chí Minh, tháng 11 năm 2023

Trang 2

DS THÀNH VIÊN VÀ B NG PHÂN CÔNG Ả

hoàn thành(%)

1 Vũ Hoàng

Như

050610220437 Soạn phần giới thiệu

và code max, min

100

Trang 3

M C L C Ụ Ụ

DS THÀNH VIÊN VÀ BẢNG PHÂN CÔNG 1

MỤC LỤC 2

I Giới thiệu về Python 4

1 Điểm mạnh của Python: 4

2 Điểm yếu của Python: 4

3 So sánh Python và C++ 5

II Bộ từ vựng của python 5

1 Bộ từ khóa trong python 6

2 Bộ ký hiệu trong Python 7

III Các cái ký hiệu đặc biệt 8

IV Kiểu dữ liệu cơ sở 10

1 Kiểu dữ liệu số (Numeric types) 10

2 Kiểu dữ liệu chuỗi (String): 10

3 Kiểu dữ liệu Boolean: 10

4 Danh sách (list): 10

5 Tuple trong Python: 10

6 Từ điển (dictionary): 10

7 Python sets: 10

V Kiểu dữ liệu mảng 10

1 List và mô-đun array trong Python 11

2 Làm thế nào để tạo mảng trong Python? 11

3 Làm sao để truy cập vào các phần tử của mảng? 12

4 Thay đổi, thêm phần tử trong mảng Python 12

5 Xóa phần tử của mảng trong Python 13

6 Độ phức tạp khi loại bỏ array trong Python 14

Kết quả: 15

7 Lặp các thành phần trong mảng 15

8 Các phương thức mảng trong Python 15

9 So sánh Lists và Arrays trong Python 16

Kết quả: 16

10 Khi nào thì sử dụng mảng? 16

Vậy các trường hợp dùng mảng được tạo từ mô đun mảng Python là gì? 16

VI Kiểu dữ liệu tập hợp 17

1 Khai báo tập hợp jp nó 17

2 Thay đổi tập hợp 17

2.1 Phương thức add() 17

Trang 4

2.2 Phương thức remove() 17

2.3 Phương thức discard() 18

2.4 Phương thức pop() 18

2.5 Phương thức clear() 18

2.6 Phương thức update() 18

3 Các phép toán trong tập hợp 19

3.1 Phép hợp (Union) 19

3.2 Phép trừ (Difference) 19

3.3 Hiệu đối xứng của hai tập hợp (Symmetric difference) 19

3.4 Phép giao (Intersection) 20

3.5 Thay đổi tập hợp dựa trên phép toán tập hợp 20

3.6 Một số các phép toán khác 21

4 “Đóng băng” tập hợp (Frozen Set) 21

5 Tập hợp sử dụng khi nào? 22

VII Chương trình con 22

1 Cấu trúc chương trình con trong Python 22

2 Các loại chương trình con trong Python 23

2.1 Tham số của chương trình con 23

2.2 Giá trị trả về của chương trình con 23

2.3 Cách gọi chương trình con 23

3 Cấu trúc hàm trong Python: 24

3.1 Khai báo hàm: 24

3.2 Hàm ẩn danh: 24

4 Thực hiện chương trình con: 24

4.1 Đối với hàm: 24

4.2 Đối với Module: 24

4.3 Đối với Package: 24

VIII Thực hành code Python 24

1 Thủ tục nhập từ người dùng 10 số nguyên dương, sai nhập lại 24

2 Tìm max, min trong dãy 25

3 Sắp xếp mảng tăng, giảm dần 25

4 Kiểm tra số nguyên tố, xuất ra dãy 26

5 Kiểm tra số fibonnaci, xuất ra dãy 26

6 Tính tổng số trong dãy, số nguyên tố và số fibonnaci 27

7 Nhập một phần tử, xuất ra vị trí trong dãy 27

8 Hàm chính 27

Trang 5

I Gi i thi u vềề Python ớ ệ

Python là một ngôn ngữ lập trình đa năng, dễ học và đáng tin cậy với cú pháp đơn giản

Nó được sử dụng rộng rãi trong phát triển web, khoa học dữ liệu, trí tuệ nhân tạo và nhiều ứng dụng khác Python có một cộng đồng lớn và phong phú với nhiều thư viện và tài liệu hữuích, làm cho nó trở thành một trong những ngôn ngữ phát triển phổ biến nhất trên thế giới

Dễ học và đọc: Python có cú pháp đơn giản và rất giống với ngôn ngữ tự nhiên Điều này

làm cho nó dễ học và dễ đọc hơn so với nhiều ngôn ngữ lập trình khác

Đa năng: Python có nhiều thư viện và frameworks đa dạng cho nhiều mục đích khác

nhau, chẳng hạn như web development, scientific computing, machine learning, data analysis, và nhiều ứng dụng khác

Cộng đồng lớn: Python có một cộng đồng phát triển và hỗ trợ rộng lớn Điều này đồng

nghĩa với việc có rất nhiều tài liệu, thư viện bổ sung, và hỗ trợ trực tuyến dễ dàng tìm kiếm

Di động và đa nền tảng: Python có sẵn trên nhiều hệ điều hành khác nhau, và có thể chạy

trên nhiều loại thiết bị, từ máy tính cá nhân đến thiết bị di động

Tích hợp dễ dàng: Python có khả năng tích hợp tốt với các ngôn ngữ lập trình khác như

C, C++, và Java

Giải quyết vấn đề một cách nhanh chóng: Python cho phép phát triển phần mềm nhanh

chóng, giúp giảm thời gian và nguồn lực cần thiết để triển khai ứng dụng

: Python thường chậm hơn so với một số ngôn ngữ lập trình khác

Tốc độ thực thi chậm

như C++ hoặc Java Điều này có thể là vấn đề đối với các ứng dụng đòi hỏi hiệu suất cao

Ghi chú tốt hơn là đối tượng nhưng có thể gây hiểu nhầm: Python sử dụng ghi chú

(indentation) để đánh dấu khối mã, điều này có thể dẫn đến lỗi nếu không tuân thủ đúng cú pháp ghi chú

Không thích hợp cho các ứng dụng đòi hỏi tài nguyên thấp: Python không phải lúc nào

cũng là lựa chọn tốt cho các ứng dụng đòi hỏi tài nguyên hệ thống thấp như viết hệ điều hành hay viết driver

Giao diện người dùng đồ họa: Python không thường được sử dụng cho phát triển ứng

dụng giao diện người dùng đồ họa mức cao Điều này có nghĩa rằng việc phát triển ứng dụng giao diện có thể đòi hỏi sử dụng các thư viện và frameworks bên ngoài

Chưa có sự hỗ trợ tốt cho lập trình đa luồng (multithreading): Python có Global

Interpreter Lock (GIL), một khóa dùng để đảm bảo rằng chỉ có một luồng có thể thực hiện tạimột thời điểm trong một quy trình Python Điều này có thể làm giảm hiệu suất của các ứng dụng đa luồng

3 So sánh Python và C

Trang 6

Python thường chậm hơn

C do được thực thi thông

qua trình thông dịch Nó

thích hợp cho ứng dụng

không yêu cầu hiệu suất

tối ưu.

Thường được sử dụng cho

phát triển web, trí tuệ

nhân tạo, khoa học dữ liệu

và đối tượng lập trình

hướng mục tiêu.

Quản lý bộ nhớ tự động

qua thu gom rác, giúp

tránh lỗi cơ bản về quản lý

C được biết đến với hiệu suất cao hơn do biên dịch trước và gần gũi với phần cứng.

Thường được sử dụng trong lập trình hệ thống, phát triển hạ cấp

và ứng dụng yêu cầu hiệu suất cao.

Lập trình viên phải tự quản lý bộ nhớ, có thể gây ra lỗi như rò rỉ bộ nhớ hoặc truy cập bộ nhớ không hợp lệ.

Có thể dễ dàng tích hợp với các ngôn ngữ khác như Assembly.

Phù hợp cho việc xây dựng ứng dụng lớn và

dự án hệ thống.

Trang 7

-100% (4)

44

E 1 - ĐỀ THI CƠ SỞ LẬP TRÌNH

100% (2)

8

Phần 2 vietjet 1 - its kind of not…

buh

nance 100% (1)

26

Macmillan - Ielts Introduction Stude…

buh

nance 60% (15)

68

Nhom2 Pttcdnài phân tích tài chính…

buh

nance 100% (11)

18

Trang 8

II B t v ng c a python ộ ừ ự ủ

Python là một ngôn ngữ lập trình hướng đối tượng, sử dụng các quy tắc đặt tên để giúp code dễ đọc, dễ hiểu và dễ bảo trì Các quy tắc đặt tên trong Python bao gồm:

Tên phải bắt đầu bằng chữ cái hoặc dấu gạch dưới

Tên chỉ có thể chứa các ký tự chữ cái, số và dấu gạch dưới

Tên phân biệt chữ hoa và chữ thường

Ngoài ra, Python cũng có một số quy ước đặt tên chung cho các thành phần khác nhau củacode, bao gồm:

Tên biến: Tên biến thường được viết bằng chữ thường và nối với nhau bằng dấu gạch dưới Ví dụ: my_variable, user_name

Tên hàm: Tên hàm thường được viết bằng chữ thường và nối với nhau bằng dấu gạch dưới Ví dụ: print_hello_world, calculate_area

Tên lớp: Tên lớp thường được viết bằng chữ hoa và nối với nhau bằng chữ cái Ví dụ: MyClass, Circle

Tên hằng số: Tên hằng số thường được viết bằng chữ hoa và nối với nhau bằng dấu gạch dưới Ví dụ: PI, MAX_SIZE

Lợi ích của việc tuân thủ các quy tắc đặt tên:

Giúp code dễ đọc, dễ hiểu và dễ bảo trì

Giúp tránh nhầm lẫn giữa các thành phần khác nhau của code

Giúp code của bạn trở nên chuyên nghiệp và dễ tiếp cận hơn

Một số lưu ý khi đặt tên:

Hãy sử dụng tên có ý nghĩa Tên biến, hàm, lớp và hằng số của bạn nên có ý nghĩa để giúp bạn hiểu rõ hơn về mục đích của chúng

Hãy sử dụng tên ngắn gọn nhưng súc tích Tên quá dài sẽ khó nhớ và khó đọc

Hãy tránh sử dụng các từ khóa của Python làm tên Các từ khóa là các từ có ý nghĩa đặc biệt trong Python và không thể được sử dụng làm tên

Hãy sử dụng các ký tự hợp lệ Tên biến, hàm, lớp và hằng số của bạn chỉ có thể chứa các ký tự chữ cái, số và dấu gạch dưới

Từ

and Toán tử AND logic

as Khai báo alias

assert Tuyên bố kiểm tra

break Thoát khỏi vòng lặp hoặc hàm

class Khai báo lớp

continu Bỏ qua phần còn lại của vòng

Reading TEST 3 - ôn anh văn

buh nance 100% (3)

13

Trang 9

e lặp hiện tại

def Khai báo hàm

del Xóa biến

elif Câu lệnh điều kiện

else Phần else của câu lệnh if-else except Xử lý ngoại lệ

FALSE Giá trị logic sai

finally Phần finally của câu lệnh

try-except for Vòng lặp lặp lại

from Import một module

global Biến toàn cục

if Câu lệnh điều kiện

import Import một module

in Kiểm tra xem một giá trị có nằm trong một tập hợp không

TRUE Giá trị logic đúng

try Phần try của câu lệnh except

try-while Vòng lặp lặp lại cho đến khi

điều kiện sai with Xác định một khối mã

; Dấu chấm phẩy

"=" Dấu bằng

+ Dấu cộng

Trang 10

<= Toán tử nhỏ hơn hoặc bằng

>= Toán tử lớn hơn hoặc bằng

== Toán tử bằng

!= Toán tử không bằng

is So sánh hai giá trị

not Toán tử NOT logic

and Toán tử AND logic

+= Cộng giá trị vào một biến

-= Trừ giá trị khỏi một biến

*= Nhân giá trị với một biến

/= Chia giá trị cho một biến

%= Chia lấy phần dư cho một biến

**= Nâng giá trị lên mũ

//= Chia lấy phần nguyên cho một

Dưới đây là một số lưu ý khi sử dụng bộ từ vựng trong Python:

Từ khóa không thể được sử dụng làm tên biến, hàm, lớp hoặc hằng số

Ký hiệu có ý nghĩa đặc biệt trong Python và không nên được sử dụng cho mục đích khác

Tên biến, hàm, lớp và hằng số nên có ý nghĩa để giúp bạn hiểu rõ hơn về mục đích của chúng

Tên nên ngắn gọn nhưng súc tích

Tên nên tránh sử dụng các ký tự đặc biệt

Trang 11

III Các cái ký hi u đ c bi t ệ ặ ệ

Ký tự đặc biệt (escape sequence) trong python là gì ?

Ký tự đặc biệt trong Python hay còn gọi là escape sequence, hoặc là chuỗi thoát trong Python, là các chuỗi ký tự bắt đầu bởi dấu gạch chéo ngược như \n hay \t, nhằm biểu diễn các

ký tự vốn không thể biểu diễn theo cách thông thường trong Python

Trong Python, chúng ta dùng ký hiê ‘u \ k’m với ký tự khác để biểu diễn ký tự đặc biệt Đây làbảng tổng hợp ký tự đặc biệt trong python dưới đây

Số th! tự Ký tự đặc

1 \ Xuống dòng khi viết chuỗi nhiều dòng

5 \a Ký tự chuông BEL trong chuỗi

6 \b Ký tự backspace BS trong chuỗi

7 \f Ký tự Form feed FF trong chuỗi

8 \n Ký tự xuống dòng trong chuỗi

12 \000 ASCII ký tự 000 của hệ cơ số 8

13 \xhh ASCII ký tự xhh của hệ cơ số 16

14 \N {name} Ký tự có tên trong cơ sở dữ liệu Unicode

15 \uxxx Unicode ký tự xxx của hệ cơ số 16

16 \Uxxxxxxxx Unicode ký tự xxxxxx của hệ cơ số 32

Trong đ ch ng ta thư ng hay sử d ng nhiều nhất đ l ký tự đặc biệt của dầu ngoă $c đơn \', dấu nh)y k*p \" ,dấu xuống dòng \n v dấu tab \t

Ví dụ: Ký tự xuống dòng \n , chúng ta chỉ cần viết ký tự này giữa một chuỗi tại vị trí

muốn ngắt dòng như sau:

Xin chào\nViệt Nam

Tại vị trí chứa chuỗi \, đã ra lệnh cho máy tính xuống dòng ở đó và cách viết trên sẽ đượcmáy tính hiểu như sau:

Xin chào

Việt Nam

Cách sử dụng ký tự đặc biệt trong python

Để sử dụng ký tự đặc biệt (chuỗi thoát) trong python, ta viết ký tự đặc biệt đó trực tiếp vào vị trí mà cần thêm vào trong chuỗi

Ví dụ: Ta sẽ thêm ký tự đặc biệt xuống dòng vào chuỗi như sau:

print("Chào bạn\nBạn có khoẻ không\nH•n gă ‘p sau nhé")

Trang 12

Kết quả ở những vị trí có ký tự đặc biệt sẽ được chuyển thành xuống dòng hoặc tab như sau:

1 Ki u d li u sốế (Numeric types) ể ữ ệ

Các kiểu dữ liệu này được sử dụng để biểu thị các số bao gồm:

- Kiểu số nguyên (int) : giá trị của nó là các số nguyên VD: 1,2,-3,…

- Kiểu số thực (float) : giá trị của nó là các số thực VD: 3.14, 2.78,…

- Kiểu số phức (complex) : các số có dạng a + bj, trong đó a và b là số thực và i là đơn

Là một loại dữ liệu chứa một tập hợp các giá trị Vd: [1, 2, 3, 4, 5]

8 Tuple trong Python:

Là một kiểu dữ liệu được sử dụng để lưu trữ các đối tượng (chẳng hạn như hằng số) sẽ không bị sửa đổi sau này Để khai báo enum người dùng cần khai báo như sau (val1, val2,

… , valn) mà trong đó val1, val2, …, valn là những giá trị của tuple

V Ki u d li u m ng ể ữ ệ ả

Mảng về cơ bản là 1 cấu trúc dữ liệu có thể chứa nhiều giá trị cùng một lúc Nó là một tập hợp hoặc một loạt những phần tử (có thứ tự) cùng loại Ví dụ:

a=arr.array('d',[1.2,1.3,2.3])

Trang 13

Chúng ta có thể chạy vòng lặp qua các mảng một cách dễ dàng và tìm nạp các giá trị cần thiết bằng cách xác định số chỉ mục (index number) Mảng cũng có thể thay đổi, do đó, bạn

có thể thực hiện các thao tác khác nhau theo yêu cầu

1 List và mố-đun array trong Python

Có thể thao tác với list giống như mảng nhưng không thể ép kiểu phần tử được lưu trữ trong list Ví dụ:

a= [1, 3.5, "Hello"]

Nếu tạo mảng sử dụng mô-đun array, tất cả các phần tử của mảng phải có cùng kiểu số.import array as arr

a = arr.array('d', [1, 3.5, "Hello"]) // Chạy code này sẽ báo lỗi

Từ những ví dụ trên, chúng ta cần nhập mô-đun array để tạo các mảng Ví dụ:

import array as arr

C Type Python Type Kích thước tối thiểu tính theo byte

Ta sẽ không thảo luận về các kiểu dữ liệu C khác nhau trong bài này Ta sẽ dùng mã 'i' cho

số nguyên và 'd' cho số thập phân trong toàn bài

Trang 14

Ghi chú: Mã code 'u' cho các ký tự Unicode không còn được chấp nhận từ phiên bản

Python 3.3 Tránh sử dụng nó khi có thể

- Sử dụng index để truy cập đến các phần tử của mảng Index cũng bắt đầu từ 0, tương

tự như trong list Python

import array as arr

a = arr.array('i', [2, 4, 6, 8])

print("Phần tử đầu tiên:", a[0])

print("Phần tử thứ 2:", a[1])

print("Phần tử cuối cùng:", a[-1])

Chạy chương trình trên ta được:

Phần tử đầu tiên: 2

Phần tử thứ 2: 4

Phần tử cuối cùng: 8

- Có thể truy cập vào một dãy phần tử trong mảng, sử dụng toán tử cắt lát:

import array as arr

print(numbers_array[:]) # Phần tử đầu tiên đến cuối cùng

Khi chạy code trên sẽ nhận được output là:

array('i', [65, 15, 95])

array('i', [5, 85, 65])

array('i', [52, 36, 25])

array('i', [5, 85, 65, 15, 95, 52, 36, 25])

- Mảng có thể thay đổi, các phần tử của nó có thể thay đổi theo cách tương tự như list.import array as arr

numbers = arr.array('i', [1, 1, 2, 5, 7, 9])

# thay đổi phần tử đầu tiên

numbers[0] = 0

print(numbers)

Trang 15

print(numbers) # Output: array('i', [3, 5, 7, 4, 5, 6, 7])

- Hai mảng cũng có thể nối lại thành một nhờ toán tử +:

import array as arr

mang_le = arr.array('i', [3, 5, 7])

mang_chan = arr.array('i', [2, 6, 8])

numbers = arr.array('i') # tạo mảng trống

numbers = mang_le + mang_chan

# Code by quantrimang.com

print(numbers)

Output: array('i', [3, 5, 7, 2, 6, 8])

- Để xóa một hoặc nhiều phần tử của mảng ta sử dụng lệnh del

import array as arr

number = arr.array('i', [1, 3, 3, 5, 7])

del number[2] # xóa phần tử thứ 3

print(number) => Output: array('i', [1, 3, 5, 7])

del number # xóa toàn bộ mảng

print(number) # Error: array 'number' is not defined

Có thể sử dụng remove() để xóa mục đã cho hoặc pop() để xóa mục với index cho trước:

import array as arr

Trang 16

numbers = arr.array('i', [1, 1, 3, 5, 9])

numbers.remove(1)

print(numbers) # Output: array('i', [1, 3, 5, 9])

print(numbers.pop(2)) # Output: 12

print(numbers) # Output: array('i', [1, 3, 9])

15.Đ ph c t p khi lo i b array trong Python ộ ! ạ ạ ỏ

Trong mảng của Python, có nhiều cách để in toàn bộ mảng với tất cả các nhân tố, thế nhưng để in một phạm vi nhân tố cụ thể từ mảng, cần dùng toán tử Slice Toán tử slice được thực hiện trên mảng cùng với dấu hai chấm (:) Để in các nhân tố ngay từ đầu tới mảng dùng [:Index], để in các nhân tố ở cuối dùng [:-Index], để in các nhân tố từ index cụ thể cho tới cuối dùng [Index:], để in các nhân tố trong một phạm vi, dùng [Start Index:End Index] và để

in toàn bộ danh sách bằng toán tử slice, dùng [:] Ngoài ra, để in toàn bộ mảng theo thứ tự đảo ngược, hãy sử dụng [::-1]

print("\nElements sliced from 5th "

"element till the end: ")

print(Sliced_array)

# In các nhân tố từ điểm bắt đầu tới cuối

Ngày đăng: 02/03/2024, 17:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w