Hướng dẫn hoàn chỉnh về python này giải thích cách tạo biểu mẫu Đăng ký bằng Python Tkinter và trang đăng nhập trong python Tkinter với cơ sở dữ liệu sqlite3. Ngoài ra, tôi đã giải thích cách xác thực các trường biểu mẫu trong biểu mẫu đăng ký trong Python Tkinter. Tôi hy vọng, bạn sẽ thích điều này, biểu mẫu đăng ký bằng Python sử dụng ví dụ Tkinter
Tất cả dữ liệu sẽ được lưu trữ và tìm nạp bằng cơ sở dữ liệu SQLite3. Đây là một dự án hoàn chỉnh về biểu mẫu đăng ký trong python với cơ sở dữ liệu, có thể được sử dụng để thêm màn hình đăng ký và đăng nhập vào bất kỳ ứng dụng máy tính để bàn nào trong Python
Mục lục
Biểu mẫu đăng nhập và đăng ký bằng Python bằng Tkinter Tổng quan
- Các biểu mẫu Đăng nhập và Đăng ký được tạo bằng thư viện Python 'Tkinter. ’ [Đọc thêm về Python Tkinter]
- Tkinter cho phép tạo các ứng dụng dựa trên GUI và phong phú với các tiện ích hữu ích
- Đối với cơ sở dữ liệu, chúng tôi đã sử dụng SQLite3 được cài đặt sẵn với python. Đây là phiên bản SQL nhẹ hơn và có thể chứa 281 terabyte dữ liệu
- Chúng tôi đã thêm xác thực trên tất cả các Trường nhập trong dự án, điều đó có nghĩa là bắt buộc phải cung cấp tất cả thông tin. Không làm như vậy sẽ nhắc một thông báo lỗi
- Trình xử lý ngoại lệ được sử dụng để tránh phá vỡ chương trình, bạn cũng sẽ thấy lỗi khi sử dụng hộp thông báo
- Tên của tất cả các quốc gia trong lục địa 'Bắc Mỹ' được hiển thị trong danh sách thả xuống. Nếu bạn muốn thêm nhiều quốc gia hơn, chỉ cần thay thế các quốc gia. txt bằng tệp văn bản của bạn nhưng đảm bảo thay đổi tên trong mã ở dòng 129. Một cách dễ dàng hơn là chỉnh sửa dữ liệu của các quốc gia bên trong. txt
- Dưới đây là mô tả về các vật dụng được sử dụng trong chương trình. Ngoài ra, chúng tôi có một phần dành riêng cho từng tiện ích được sử dụng trong dự án và chúng tôi đã thêm một liên kết trước mỗi tiện ích
Đọc trình tạo mã QR Python bằng pyqrcode trong Tkinter
Biểu mẫu đăng ký Python Tkinter
Trong phần này, chúng ta sẽ nói về biểu mẫu đăng ký trong python bằng tkinter. Chúng ta sẽ thảo luận về các vật dụng và mục đích sử dụng chúng tại thời điểm đó. Code được chia sẻ ở đây chỉ dành cho giao diện của trang đăng ký. Mã ứng dụng hoàn chỉnh được chia sẻ ở cuối trang
Tiện ích khung
- ws là cửa sổ chính mà chúng ta sẽ đặt một khung
- bd là đường viền của khung
- bg là màu nền
- cứu trợ là để cung cấp một hiệu ứng đặc biệt
- Ở đây, phương pháp hình học được sử dụng là 'pack' nhưng trong đoạn mã đầy đủ bên dưới, chúng tôi đã sử dụng địa điểm vì địa điểm cho phép chúng tôi định vị tiện ích con với độ chính xác cao hơn
- ý tưởng đằng sau việc tạo tiện ích này là đặt các tiện ích khác bên trong nó để mọi thứ có vẻ ngăn nắp
right_frame = Frame[
ws,
bd=2,
bg='#CCCCCC',
relief=SOLID,
padx=10,
pady=10
]
right_frame.pack[]
Tiện ích nhãn
- Nhãn được sử dụng để thêm văn bản vào ứng dụng. Chúng tôi đã sử dụng Nhãn nhiều lần để hiển thị văn bản khác nhau
- Ở đây tôi sẽ giải thích nó một lần và điều đó sẽ được áp dụng trên tất cả các nhãn được sử dụng trong chương trình
- trong đoạn mã dưới đây Nhãn là từ khóa được sử dụng để tạo tiện ích nhãn
- Chúng tôi đang đặt nhãn này trên right_frame
- bất kỳ văn bản nào được thêm vào đây sẽ được hiển thị trên ứng dụng
- Chúng tôi đang sử dụng lưới làm phương pháp hình học để định vị văn bản
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
Tiện ích mục nhập
- Tiện ích Mục nhập được sử dụng để lấy đầu vào từ người dùng. Nó cung cấp một khoảng trống nơi người dùng có thể nhập bất kỳ văn bản nào
- Tiện ích mục nhập được sử dụng nhiều lần trong mã, giải thích này được triển khai trên tất cả
- Từ khóa mục nhập được sử dụng cho tất cả tiện ích mục nhập cuộc gọi và nó được đặt ở bên phải_frame
- Chúng tôi đang sử dụng lưới làm phương pháp hình học để định vị văn bản
register_name = Entry[
right_frame,
font=f
]
register_name.grid[row=0, column=1, pady=10, padx=20]
Nút radio
- Radiobutton được sử dụng để cung cấp nhiều tùy chọn cho người dùng nhưng người dùng chỉ có thể chọn một tùy chọn
- Chúng tôi đã tạo một khung khác có tên 'gender_frame' để giữ tất cả các nút radio
- văn bản là tên chúng tôi muốn hiển thị bên cạnh Radiobutton như trong trường hợp này là 'nam'
- bg là màu nền của Radiobutton
- biến có nghĩa là giá trị sẽ thay đổi, vì vậy trong trường hợp này, chúng tôi đã đặt var là StringVar[]. Bây giờ giá trị được cung cấp phải là một chuỗi. Nếu var được đặt thành IntVar[] trong trường hợp đó, giá trị phải là số nguyên
- giá trị có thể là một số nguyên hoặc chuỗi tùy thuộc vào loại biến chúng tôi đã sử dụng. Giá trị giúp xác định nút radio nào được chọn
- phương pháp hình học gói được sử dụng với quyền mở rộng trong không gian có sẵn và dính vào bên trái của chúng
- Khi 3 nút radio được đặt với các thuộc tính giống nhau thì chúng trông giống nhau và có tổ chức
var = StringVar[]
var.set['male']
male_rb = Radiobutton[
gender_frame,
text='Male',
bg='#CCCCCC',
variable=var,
value='male',
font=['Times', 10],
]
male_rb.pack[expand=True, side=LEFT]
Tùy chọnMenu
- OptionMenu được sử dụng để tạo danh sách thả xuống trong ứng dụng. Không lý tưởng để hiển thị dữ liệu lớn vì nó không có thanh cuộn nhưng nó tiêu tốn ít dung lượng hơn và hiển thị số lượng tùy chọn phù hợp
- Chúng tôi đã sử dụng OptionMenu để hiển thị danh sách các quốc gia của Lục địa Bắc Mỹ
- ở bước 1, chúng tôi đã sử dụng từ khóa OptionMenu để tạo tiện ích và chúng tôi đã đặt nó bên trong right_frame, biến được gán là StringVar[] có nghĩa là sẽ có các giá trị chuỗi khác nhau. *các quốc gia có nghĩa là tất cả các quốc gia trong danh sách
- ở bước 2, chúng tôi có các quốc gia = [] là một danh sách trống và nó sẽ được thêm tên quốc gia. biến =StringVar[] có nghĩa là chuỗi sẽ tiếp tục thay đổi
- trong bước 3, chúng tôi đang đọc tên quốc gia từ tệp văn bản, sau đó sử dụng một vòng lặp, chúng tôi sẽ nối thêm từng quốc gia vào trong danh sách.
8 nó xóa \n khỏi danh sáchLabel[ right_frame, text="Enter Name", bg='#CCCCCC', font=f ].grid[row=0, column=0, sticky=W, pady=10]
- lưới là phương pháp hình học được sử dụng để định vị tiện ích
# step 2
countries = []
variable = StringVar[]
# step 3
world = open['countries.txt', 'r']
for country in world:
country = country.rstrip['\n']
countries.append[country]
variable.set[countries[22]]
# step 1
register_country = OptionMenu[
right_frame,
variable,
*countries]
# step 4
register_country.grid[row=4, column=1, pady=10, padx=20]
Cái nút
- Nút trong Python Tkinter được sử dụng để kích hoạt hoạt động. Một cái gì đó sẽ xảy ra khi nó được nhấp vào
- Trong ứng dụng này, nút được sử dụng để lưu dữ liệu bên trong cơ sở dữ liệu
- Từ khóa nút được sử dụng để tạo một widget và nó được đặt bên trong right_frame
- chiều rộng là không gian bên phải và bên trái của nút
- văn bản là tên hiển thị trên nút
- con trỏ là biểu tượng của con trỏ chuột. Chúng tôi đã sử dụng hand2, nghĩa là mỗi khi người dùng đưa con trỏ vào nút, con trỏ sẽ biến thành ngón tay trỏ
- lệnh giữ thông tin về những gì sẽ xảy ra nếu nút được nhấp. Ở đây chúng tôi đã đặt nó thành Không có nghĩa là sẽ không có gì xảy ra nhưng trong mã đầy đủ, chúng tôi đã cung cấp tên hàm cho nó
register_btn = Button[
right_frame,
width=15,
text='Register',
font=f,
relief=SOLID,
cursor='hand2',
command=None
]
Mẫu đăng ký sử dụng mã tkinter
Đây là đoạn mã hoàn chỉnh cho biểu mẫu đăng ký trong python bằng tkinter. Chương trình này không chia sẻ phụ thuộc với mã hoàn chỉnh chỉ về Giao diện người dùng
from tkinter import *
ws = Tk[]
ws.title['PythonGuides']
ws.config[bg='#0B5A81']
f = ['Times', 14]
var = StringVar[]
var.set['male']
countries = []
variable = StringVar[]
world = open['countries.txt', 'r']
for country in world:
country = country.rstrip['\n']
countries.append[country]
variable.set[countries[22]]
right_frame = Frame[
ws,
bd=2,
bg='#CCCCCC',
relief=SOLID,
padx=10,
pady=10
]
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
Label[
right_frame,
text="Enter Email",
bg='#CCCCCC',
font=f
].grid[row=1, column=0, sticky=W, pady=10]
Label[
right_frame,
text="Contact Number",
bg='#CCCCCC',
font=f
].grid[row=2, column=0, sticky=W, pady=10]
Label[
right_frame,
text="Select Gender",
bg='#CCCCCC',
font=f
].grid[row=3, column=0, sticky=W, pady=10]
Label[
right_frame,
text="Select Country",
bg='#CCCCCC',
font=f
].grid[row=4, column=0, sticky=W, pady=10]
Label[
right_frame,
text="Enter Password",
bg='#CCCCCC',
font=f
].grid[row=5, column=0, sticky=W, pady=10]
Label[
right_frame,
text="Re-Enter Password",
bg='#CCCCCC',
font=f
].grid[row=6, column=0, sticky=W, pady=10]
gender_frame = LabelFrame[
right_frame,
bg='#CCCCCC',
padx=10,
pady=10,
]
register_name = Entry[
right_frame,
font=f
]
register_email = Entry[
right_frame,
font=f
]
register_mobile = Entry[
right_frame,
font=f
]
male_rb = Radiobutton[
gender_frame,
text='Male',
bg='#CCCCCC',
variable=var,
value='male',
font=['Times', 10],
]
female_rb = Radiobutton[
gender_frame,
text='Female',
bg='#CCCCCC',
variable=var,
value='female',
font=['Times', 10],
]
others_rb = Radiobutton[
gender_frame,
text='Others',
bg='#CCCCCC',
variable=var,
value='others',
font=['Times', 10]
]
register_country = OptionMenu[
right_frame,
variable,
*countries]
register_country.config[
width=15,
font=['Times', 12]
]
register_pwd = Entry[
right_frame,
font=f,
show='*'
]
pwd_again = Entry[
right_frame,
font=f,
show='*'
]
register_btn = Button[
right_frame,
width=15,
text='Register',
font=f,
relief=SOLID,
cursor='hand2',
command=None
]
register_name.grid[row=0, column=1, pady=10, padx=20]
register_email.grid[row=1, column=1, pady=10, padx=20]
register_mobile.grid[row=2, column=1, pady=10, padx=20]
register_country.grid[row=4, column=1, pady=10, padx=20]
register_pwd.grid[row=5, column=1, pady=10, padx=20]
pwd_again.grid[row=6, column=1, pady=10, padx=20]
register_btn.grid[row=7, column=1, pady=10, padx=20]
right_frame.pack[]
gender_frame.grid[row=3, column=1, pady=10, padx=20]
male_rb.pack[expand=True, side=LEFT]
female_rb.pack[expand=True, side=LEFT]
others_rb.pack[expand=True, side=LEFT]
ws.mainloop[]
đầu ra
Trong kết quả này, bạn có thể thấy rằng một biểu mẫu đăng ký được tạo bằng Python Tkinter. Biểu mẫu có Trường nhập và trường lựa chọn được tạo bằng các tiện ích Python Tkinter
Trang đăng nhập trong Python Tkinter với cơ sở dữ liệu
Phần này sẽ thấy giải thích mã cho trang đăng nhập trong python tkinter với cơ sở dữ liệu. Mã ứng dụng hoàn chỉnh được chia sẻ ở cuối trang. Mã được hiển thị trong phần này chỉ hoàn chỉnh về mặt giao diện người dùng
Tiện ích khung trong Python Tkinter
- Tiện ích khung cho phép đặt các tiện ích khác trên đó. Giao diện ứng dụng có tổ chức nếu các vật dụng khác được đặt trên khung, nó cũng cho phép kiểm soát các phần
- Ở đây left_frame được sử dụng để tạo phần đăng nhập của ứng dụng
- Từ khóa khung được sử dụng để gọi tiện ích khung và nó được đặt trên cửa sổ chính i. e là
- bd là chiều rộng đường viền của tiện ích khung trong Python Tkinter
- cứu trợ có các chế độ khác nhau bởi chúng tôi đã sử dụng SOLID, nó vẽ đường viền. xung quanh khung
Tiện ích nhãn trong Python Tkinter
- Nhãn được sử dụng để thêm văn bản vào ứng dụng
- trong đoạn mã dưới đây Nhãn là từ khóa được sử dụng để tạo tiện ích nhãn
- Chúng tôi đang đặt nhãn này trên left_frame
- bất kỳ văn bản nào được thêm vào đây sẽ được hiển thị trên ứng dụng
- Chúng tôi đang sử dụng lưới làm phương pháp hình học để định vị văn bản
Label[
left_frame,
text="Enter Email",
bg='#CCCCCC',
font=f].grid[row=0, column=0, sticky=W, pady=10]
Widget đầu vào trong Python Tkinter
- Tiện ích Mục nhập được sử dụng để lấy đầu vào từ người dùng. Nó cung cấp một khoảng trống nơi người dùng có thể nhập bất kỳ văn bản nào
- Từ khóa mục nhập được sử dụng cho tất cả tiện ích mục nhập cuộc gọi và nó được đặt trên left_frame
- Chúng tôi đang sử dụng lưới làm phương pháp hình học để định vị văn bản
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
0Tiện ích nút trong Python Tkinter
- Nút trong Python Tkinter được sử dụng để kích hoạt hoạt động. Một cái gì đó sẽ xảy ra khi nó được nhấp vào
- Trong ứng dụng này, nút được sử dụng để lưu dữ liệu bên trong cơ sở dữ liệu
- Từ khóa nút được sử dụng để tạo một widget và nó được đặt bên trong left_frame
- chiều rộng là không gian bên phải và bên trái của nút
- văn bản là tên hiển thị trên nút
- con trỏ là biểu tượng của con trỏ chuột. Chúng tôi đã sử dụng hand2, nghĩa là mỗi khi người dùng đưa con trỏ vào nút, con trỏ sẽ biến thành ngón tay trỏ
- lệnh giữ thông tin về những gì sẽ xảy ra nếu nút được nhấp. Ở đây chúng tôi đã đặt nó thành Không có nghĩa là sẽ không có gì xảy ra nhưng trong mã đầy đủ, chúng tôi đã cung cấp tên hàm cho nó
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
0Hoàn thành đoạn mã để đăng nhập
Đây là đoạn mã hoàn chỉnh cho biểu mẫu Đăng nhập bằng Python Tkinter. Chương trình này không chia sẻ phụ thuộc với mã hoàn chỉnh chỉ về Giao diện người dùng
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
1đầu ra
Trong kết quả này, bạn có thể thấy rằng một biểu mẫu đăng nhập được tạo bằng Python Tkinter
Đây là giao diện của trang đăng nhập trong python tkinter với cơ sở dữ liệu
Biểu mẫu đăng ký sử dụng xác thực tkinter cho các trường trống
- Trong phần này, chúng ta sẽ xem mã để xác định các trường trống trong biểu mẫu Đăng ký Tkinter của Python, chúng ta sẽ xem cách chúng ta có thể bắt buộc người dùng phải cung cấp đầu vào trong trường văn bản tương ứng hoặc các trường lựa chọn như Radiobutton và OptionMenu
- Chúng tôi đã sử dụng một chiến lược đơn giản để làm như vậy. Chúng tôi đang kiểm tra từng trường Mục nhập và mỗi khi người dùng cung cấp đầu vào, chúng tôi sẽ tăng biến check_count lên 1
- Chúng tôi có tổng số Trường nhập hiện tại, chúng tôi đang kiểm tra check_count với tổng số trường. Nếu chúng bằng nhau thì ứng dụng sẽ tiếp tục và lưu dữ liệu nếu không nó sẽ đưa ra thông báo lỗi cho trường trống tương ứng
- Một xác thực khác được sử dụng trong ứng dụng là dành cho mật khẩu. Vì chúng tôi có hai trường cho mật khẩu trong biểu mẫu đăng ký
- Nhập mật khẩu
- Mật khẩu người thuê
- Chúng tôi đã so sánh hai cái này với nhau. Nếu cả hai đều giống nhau thì ứng dụng sẽ tiếp tục nếu không nó sẽ đưa ra thông báo lỗi liên quan
Đoạn mã
Đây là mã được sử dụng để xác thực các trường nhập trong biểu mẫu đăng ký trong python
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
2đầu ra
Trong kết quả này, người dùng đang cố gắng đăng ký mà không cung cấp số liên lạc nên anh ta đã nhận được thông báo lỗi với lỗi được đề cập trên đó. Điều tương tự sẽ xảy ra nếu người dùng cố bỏ qua bất kỳ trường nào khác
Đoạn mã
Đây là đoạn mã cho mật khẩu không khớp với xác thực
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
3đầu ra
Đây là kết quả hiển thị lỗi được nhắc khi mật khẩu không khớp
Đây là cách chúng tôi có thể triển khai xác thực trong biểu mẫu đăng ký bằng tkinter
Lưu dữ liệu biểu mẫu đăng ký Python Tkinter vào sqlite3
Như chúng ta đã biết, đây là một ví dụ về biểu mẫu đăng ký trong python sử dụng Tkinter với cơ sở dữ liệu, trong ứng dụng này, chúng tôi đã sử dụng SQLite3 để lưu trữ dữ liệu trong cơ sở dữ liệu. SQLite3 được cài đặt sẵn với python, tất cả những gì bạn cần là
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
9. để truy cập dữ liệu bên trong cơ sở dữ liệu, bạn có thể sử dụng Trình duyệt DBTạo cơ sở dữ liệu bằng SQLite trong Python Tkinter
Dòng mã này sẽ tạo một cơ sở dữ liệu với tên userdata. db. Tệp này sẽ được lưu trữ ở cùng vị trí với tệp chính được lưu trữ. Sử dụng Db Browser bạn có thể xem và chỉnh sửa dữ liệu
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
4Sử dụng đoạn mã dưới đây, bạn có thể tạo bảng cho cơ sở dữ liệu
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
5Chèn dữ liệu bằng SQLite trong Python Tkinter
- Khi chúng tôi đã tạo cơ sở dữ liệu, điều quan trọng là phải kết nối với cơ sở dữ liệu để chèn dữ liệu vào cơ sở dữ liệu
0 được sử dụng để chuyển truy vấn chèn. Chúng tôi đã sử dụng chuyển truy vấn ở định dạng từ điểnregister_name = Entry[ right_frame, font=f ] register_name.grid[row=0, column=1, pady=10, padx=20]
1 ghi những thay đổi trong cơ sở dữ liệuregister_name = Entry[ right_frame, font=f ] register_name.grid[row=0, column=1, pady=10, padx=20]
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
6Đây là kết xuất của bản ghi và đây là giao diện của phần mềm Db Browser
Đoạn mã đầy đủ
Đây là mã đầy đủ của ứng dụng được tạo bằng Python Tkinter. Chúng tôi đã giải thích toàn bộ mã ở phần trên một cách khôn ngoan
Label[
right_frame,
text="Enter Name",
bg='#CCCCCC',
font=f
].grid[row=0, column=0, sticky=W, pady=10]
7đầu ra
Trong đầu ra này, bạn có thể thấy giao diện của ứng dụng chính. Chúng tôi có màn hình đăng nhập ở bên trái và màn hình đăng ký ở bên phải. Bắt buộc phải cung cấp tất cả thông tin trong cả màn hình đăng nhập và đăng ký
Trong màn hình này, người dùng đang cố đăng nhập chưa được đăng ký, đó là lý do tại sao cô ấy nhìn thấy thông báo lỗi này. Lỗi tương tự sẽ xuất hiện nếu người dùng đã đăng ký nhập sai thông tin xác thực
Đây là lỗi xác thực, người dùng đã cố đăng nhập mà không điền vào tất cả các trường
Đây là một lỗi xác thực khác, điều quan trọng là Mật khẩu và mật khẩu nhập lại giống nhau
Trong đầu ra này, người dùng đã cung cấp tất cả thông tin và mật khẩu khớp với cột nhập lại mật khẩu. Người dùng đã đăng ký với ứng dụng
Trong kết quả này, bạn có thể thấy rằng người dùng đã đăng ký có thể đăng nhập bằng cách cung cấp thông tin đăng nhập chính xác
Dưới đây bạn có thể thấy, mẫu đăng ký trong python sử dụng dữ liệu tkinter đã được lưu cơ sở dữ liệu sqlite3
Bạn cũng có thể thích
- Trích xuất văn bản từ PDF Python
- Máy tính BMI bằng Python Tkinter
- Cách tạo Đồng hồ đếm ngược bằng Python Tkinter
- Tải lên một tệp trong Python Tkinter
- Cách tạo Bộ chọn ngày giờ bằng Python Tkinter
Tôi hy vọng bạn đã thích mẫu đăng nhập và đăng ký hoàn chỉnh trong ví dụ về python Tkinter, hãy tự mình thử mã. Nó đã giải quyết các truy vấn dưới đây
- mẫu đăng ký trong python với cơ sở dữ liệu
- mẫu đăng ký trong python sử dụng tkinter với cơ sở dữ liệu
- mẫu đăng ký trong python sử dụng tkinter
- mẫu đăng ký python mã tkinter
- trang đăng nhập trong python tkinter với cơ sở dữ liệu sqlite3
- mẫu đăng nhập đơn giản trong python
Bijay Kumar
Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi