Python基础/进阶
你要悄悄学Python,然后惊艳所有人。。
芒种、
这个作者很懒,什么都没留下…
展开
-
Python线程池
一、线程池系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互。在这种情形下,使用线程池可以很好地提升性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。线程池在系统启动时即创建大量空闲的线程,程序只要将一个函数提交给线程池,线程池就会启动一个空闲的线程来执行它。当该函数执行结束后,该线程并不会死亡,而是再次返回到线程池中变成空闲状态,等待执行下一个函数。此外,使用线程池可以有效地控制系统中并发线程的数量。当系统中包含有大量的并发线程时,会导致系统性能急剧下降,甚至导转载 2020-08-26 15:37:30 · 432 阅读 · 0 评论 -
Python线程互斥锁
一、线程间共享全局变量多线程开发的时候共享全局变量会带来资源竞争效果,数据不安全。import threadingimport timeg_num = 0def test1(num): global g_num for i in range(num): g_num += 1 print(f"test1--->{g_num}")def test2(num): global g_num for i in range(num):原创 2020-08-26 14:25:46 · 842 阅读 · 0 评论 -
Python进程和线程
一、进程和线程概念进程: 几乎所有的操作系统都支持同时运行多个任务,每个任务通常是一个程序,每个运行中的程序就是一个进程注意:并发和并行是两个概念,并行是指同一时刻有多条指令在多个处理器上同时执行;并发是指在同一时刻只能有一条指令执行。线程: 线程是进程的组成部分,一个进程可以拥有多个线程。在多线程中,会有一个主线程来完成整个进程从开始到结束的全部操作,而其他的线程会在主线程的运行过程中被创建或退出。当一个进程里只有一个线程时,叫做单线程。超过一个线程就叫做多线程。每个线程必须有自己的父进原创 2020-08-25 16:45:34 · 271 阅读 · 0 评论 -
Python项目实战之学生管理系统【面向对象】
main.py# 1. 导入managerSystem模块from managerSystem import *# 2. 启动管理系统# 保证是当前文件运行才启动管理系统: if --创建对象并调用run方法if __name__ == "__main__": student = StudentManager() student.run()student.pyclass Student(object): def __init__(self, name, gender原创 2020-08-12 20:54:31 · 730 阅读 · 0 评论 -
Python模块和包
一、模块Python 模块,是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。模块能定义函数,类和变量,模块里也能包含可执行的代码。1. 导入模块import 模块名from 模块名 import 功能名from 模块名 import *import 模块名 as 别名from 模块名 import 功能名 as 别名import# 1. 导入模块import 模块名import 模块名1, 模块名2# 2. 调用功能模块名.功能名()原创 2020-08-11 17:38:32 · 97 阅读 · 0 评论 -
Python异常
一、异常try: 可能发生错误的代码except: 如果出现异常执行的代码# 尝试以 r 模式打开文件,如果文件不存在,则以 w方式打开try: open("test.txt", "r")except: open("test.txt", "w")1. 捕获指定异常try: 可能发生错误的代码except 异常类型: 如果捕获到该异常执行的代码try: print(num)except NameError: print("有错误")注意:原创 2020-08-11 13:50:24 · 116 阅读 · 0 评论 -
Python多态和类属性
一、多态多态指的是一类事物有多种形态。定义:多态是一种使用对象的方式,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的执行结果。原创 2020-08-11 09:52:46 · 110 阅读 · 0 评论 -
Python继承
一、继承Python面向对象的继承指的是多个类之间的所属关系,即子类默认继承父类的所有属性和方法。1.单继承class A(object): def __init__(self): self.num = 1 def print_info(self): print(self.num)class B(A): passb = B()b.print_info()在Python中,所有的类默认继承object类,object类是顶级类或基类;原创 2020-08-10 15:48:56 · 218 阅读 · 0 评论 -
Python面向对象基础
一、面向对象1. 定义类class 类名(): ....2. 创建对象对象名 = 类名()3. selfself 指的是调用该函数的对象class Washer(): def wash(self): print("在洗衣服") print(self) # <__main__.Washer object at 0x0000027AD526A400>haier = Washer()haier.wash()print(haier) #原创 2020-08-10 09:38:10 · 81 阅读 · 0 评论 -
Python文件操作
一、文件基本操作打开文件读写文件关闭文件注意:可以只打开和关闭文件。不进行任何读写操作。1. 打开文件在python中,使用open函数,可以打开一个已经存在的文件。或者创建一个新的文件。文件对象 = open(name, mode)name:要打开的目标文件名的字符串(可以包含文件所在的具体路径)。mode:设置打开文件的模式(访问模式):只读、写入、追加等。访问模式参数可以省略,如果省略表示访问模式为r2. 文件访问模式访问模式说明r以只读方式原创 2020-08-07 14:38:37 · 1274 阅读 · 0 评论 -
Python递归、lambda和高阶函数
一、递归递归特点:函数内部自己调用自己必须有出口原创 2020-08-06 22:51:57 · 169 阅读 · 0 评论 -
Python项目实战之学生管理系统【面向过程】
info = []def info_print(): print("请选择功能:") print("1.添加学员") print("2.删除学员") print("3.修改学员") print("4.查询学员") print("5.显示所有学员") print("6.退出系统") print("*" * 20)def add_info(): """添加学员""" id = input("请输入学号:") na原创 2020-08-05 16:45:48 · 307 阅读 · 0 评论 -
Python函数和作用域
一、函数1. 定义函数def 函数名(参数): 代码1 代码2 ....2. 函数调用函数名(参数)注意:不同的需求中,参数可有可无在Python中,函数必须先定义后使用原创 2020-08-05 16:44:12 · 88 阅读 · 0 评论 -
Python运算符和推导式
一、运算符运算符描述支持的容器类型+合并字符串、列表、元组*复制字符串、列表、元组in元素是否存在字符串、列表、元组、字典not in元素是否不存在字符串、列表、元组、字典1. 运算符加号str1, str2 = "aa", "bb"list1, list2 = [1, 2], [10, 20]t1, t2 = (1, 2), (10, 20)dict1, dict2 = {"name": "Python"}, {"age": 30}原创 2020-08-04 17:23:06 · 206 阅读 · 0 评论 -
Python字典和集合
一、元组一个元组可以存储多个数据,元组内的数据是不能修改的,列表是可以修改的1. 定义元组# 多个数据元组t1 = (10,20,30)# 单个数据元组t2 = (10,)注意:如果定义的元组只有一个数据,那么这个数据后面也要添加逗号,否则数据类型为唯一的这个数据的数据类型t1 = (10,)print(type(t1)) # tuplet2 = (10)print(type(t2)) # intt3 = ("张飞")print(type(t3)) # str2原创 2020-08-04 10:14:53 · 126 阅读 · 0 评论 -
Python列表和元组
一、列表1. 列表格式列表可以一次性存储多个数据,且可以为不同的数据类型,常用增、删、改、查操作[数据1,数据2,数据3,数据4,…]2. 下标name_list = ["张飞", "刘备", "关羽"]print(name_list[0])3. 列表查找函数index() :返回指定数据所在位置的下标。列表序列.index(数据, 开始位置下标, 结束位置下标)name_list = ["张飞", "刘备", "关羽"]print(name_list.index("张飞"))原创 2020-08-03 16:43:57 · 228 阅读 · 0 评论 -
Python字符串
一、字符串1. 字符串输出print("hello world") # 直接输出一个字符串name = "Tom"print("我的名字是:%s" % name) # 格式化输出字符串print(f"我的名字是:{name}") # f"{变量名}" 格式化输出字符串2. 字符串输入password = input("请输入密码:")print(f"你输入的密码为:{password}")print(type(password))3. 字符串下标str1 = "Hello w原创 2020-08-03 10:13:59 · 132 阅读 · 0 评论 -
Python基础
一、格式化符号%06d ,表示输出的整数显示位数,不足以0补全,超出当前位则原样输出%.2f,表示小数点后显示的小数位数age = 18name = "Tom"weight = 79.9stu_id= 1print("我的名字是%s,今年%d岁,体重是%0.2f斤,学号%03d" % (name, age, weight, stu_id))# 也可以用 %s 字符串直接格式化print("我的名字是%s,今年%s岁,体重是%0.2s斤,学号%03s" % (name, age, we原创 2020-07-31 14:26:20 · 956 阅读 · 0 评论 -
Pycharm安装中文教程
一、Pycharm下载pycharm官网下载安装包:https://www.jetbrains.com/pycharm/download/#section=windows详细安装教程参考:Pycharm安装详细教程二、中文包下载下载中文语言包:https://github.com/linzhenyuyuchen/Others/打开pycharm安装目录,打开到lib文件夹将下载好的resources_cn.jar放到lib文件夹下,重启ok如果打开后显示乱码,请先删除resour转载 2020-07-28 10:08:05 · 2003 阅读 · 0 评论 -
手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常....)
简介Jetbrains家族和Pycharm版本划分:pycharm是Jetbrains家族中的一个明星产品,Jetbrains开发了许多好用的编辑器,包括Java编辑器(IntelliJ IDEA)、JavaScript编辑器(WebStorm)、PHP编辑器(PHPStorm)、Ruby编辑器(RubyMine)、C和C++编辑器(CLion)、.Net编辑器(Rider)、iOS/macOS编辑器(AppCode)等。pycharm现在在官网[https://www.jetbrains.c...转载 2020-07-28 08:44:57 · 10990 阅读 · 1 评论 -
Python学习路线
一、概述Python 是一种面向对象的、解释型的、通用的、开源的脚本编程语言1. 优点语法简单,对代码格式的要求没有那么严格。Python 是开源的,所有用户都可以看到源代码。Python 是免费的。Python 是高级语言,封装较深,屏蔽了很多底层细节Python 是面向对象的编程语言。Python 是解释型语言,能跨平台。Python 功能强大(模块众多)。Python 可扩展性强。2. 缺点运行速度慢,是解释型语言的通病。代码加密困难,不像编译型语言的源代码会被编译成可原创 2020-07-24 11:27:25 · 304 阅读 · 2 评论 -
Python 3.8安装
一、官网下载下载地址:http://www.python.org根据自己的平台进行下载根据自己电脑的配置选择下载多少位的安装包将下载好的安装包右键-》以管理员方式运行点击添加到环境变量,不用自己再单独配置了选择自定义安装 ,将需要的都安装上可更改自己安装路径安装成功后可查看安装目录下的文档、各种库和相关依赖项二、查看是否安装成功开始——搜索框中输入“cmd”——回车,启动命令提示符——输入Python安装成功,就可以愉快的编写python 程序了...原创 2020-07-23 23:00:58 · 146 阅读 · 0 评论