zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python开发指南[1]之程序员计时小时钟(附源码)

Python源码程序员开发 指南 小时 计时
2023-09-14 09:15:01 时间

Python开发指南[1]之程序员计时小时钟

程序之美

前言

Python作为一门编程语言,这门语言的魅力和影响力已经远超C#、C++等编程语言前辈,被程序员誉为“美好的”编程语言。Python基本上可以说是全能的,系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、黑客编程、爬虫编写、机器学习、人工智能等等,Python应用无处不在。其优势更是不言而喻,简单易学、高层语言、免费开源、可移植性强、丰富的库、面向对象、可扩展性、可嵌入型、规范的代码等……
有很多初学Python的小伙伴们都觉得Python比较难学,看书吧,看了就忘了,网上的一些教程又是写的含糊不清,故而学习起来很吃力…
故此,本专栏亲自研究,实践,由易到难,层层深入,将调试过程中所遭所遇进行详细讲解,注意事项进行一一列举,希望能够帮助到各位初学Python的小伙伴,避免走弯路,费时费力。

主体

本篇我们先学习下Python的程序员计时小时钟。话不多说,先看下效果图。

运行效果

在这里插入图片描述
对于Python程序设计,主要就是基础语法、函数与模块、正则表达式、内存管理与多线程,即为Python的精髓。
1、基础语法:Python编程语言的变量、字符、常用运算符、元组和集合等等;
2、面向对象:这部分主要是学习从认识面向对象和类的特性,然后使用面向对象应用对遇到的异常进行处理;
3、函数与模块,这部分主要是学习函数的定义和标准模块与第三方模块、自定义包的实现等;
4、正则表达式,正则表达式是比较重要的,尤其是后面想从事爬虫的小伙伴,一定要把正则表达式学好;
5、内存管理与多线程,主要是了解Python编程语言的机制和掌握Python多线程。
初学者,不要怕麻烦,要不断的练习,看到自己感兴趣的,最好都能够亲自动手实践一下,特别是控件的重绘,最锻炼编程基础了。

核心代码

#!/usr/bin/env python
import threading
from logging import root

try:
    import Tkinter as tk
except:
    import tkinter as tk
from tkinter import scrolledtext
import hashlib
import os
import time
import _thread
import sys
import re

detect_network = False
network_up = False
threads = []
LOG_LINE_NUM = 0
curTimes = 0

app = tk.Tk()

    #获取当前时间
def get_current_time():
    now = time.time()
    mlsec = repr(now).split('.')[1][:3]
    current_time = time.strftime("%Y-%m-%d %H:%M:%S.{} %Z".format(mlsec),time.localtime(now))
    return current_time

#日志动态打印
def write_to_Text():
    global LOG_LINE_NUM
    current_time = get_current_time()
    logmsg_in = str(current_time)      #换行
    tvShow["text"] = logmsg_in


class workThread (threading.Thread):
    def __init__(self, threadID):
        threading.Thread.__init__(self)
        self.threadID = threadID

    def work(self):
        global curTimes  # 声明引用的是全局变量

        while not detect_network:
            write_to_Text()
            time.sleep(0.001)
    def run(self):
        self.work()

def start():
    thread = workThread(1)
    thread.setDaemon(True)
    thread.start()
    threads.append(thread)

def stop():
    # 等待所有线程完成
    detect_network = True
    app.quit()

def click_once(btn, action):
    def inner():
        btn.config(state=tk.DISABLED)
        action()
    return inner

tvShow = tk.Label(app,text="0:0:0.000", width = 24, height = 2, font = ("Times", 72), fg='blue')
tvShow.grid(row=1, column=0, columnspan = 8)

btnExit = tk.Button(app, text='退出', anchor='c', width=6, height=1, command=stop)
btnExit.grid(row=2, column=3)
btnOK = tk.Button(app, text='确定', anchor='c', width=6, height=1)
btnOK.grid(row=2, column=4)
btnOK.config(command=click_once(btnOK, start))
#btnOK.pack()

app.mainloop()

逻辑分析

暫無

结束语

好了,今天就说这么多了,希望小伙伴们能从这篇文章中学到东西,也真心希望能够帮助正在苦学Python程序设计的小伙伴们,你们的成长是我最大的幸福。很感谢您能够在百忙之中浏览我的文章,有需要源码的小伙伴可以私信我。
源碼地址:https://download.csdn.net/download/hnjzfwy/85673542