1. 什么是GIL?GIL对多线程的影响
    GIL全称Global Interpreter Lock(全局解释器锁)。GIL和Python语言没有任何关系,只是因为历史原因导致在官方推荐的解释器Cpython中遗留的问题。(多线程)每个线程在执行的过程中都需要先获取GIL,保证同一时刻只有一个线程可以执行代码,但是当遇到IO阻塞会自动的释放GIL锁,所以使用多线程还是比单线程的效率要高。如果想发挥多核CPU资源,可以使用多进程。为了避免受GIL的影响可以不用官方推荐的Cpython,或者用其他语言来实现,使用多进程。
    计算密集型建议采用进程
    IO密集型建议采用线程或者协程

2.深拷贝和浅拷贝

浅拷贝是对一个对象的顶层(外层)拷贝,只是拷贝了引用,并没有拷贝内容。
变量的赋值是地址的引用,也算是一种浅拷贝。
copy.copy()深拷贝则是对一个对象深层(递归)的拷贝,保证了数据的独立性。
copy.deepcopy()

可变类型:列表、字典
不可变类型:数字类型、字符串型、元组

如果是可变类型,浅拷贝只拷贝外层,而深拷贝是完全拷贝如果是纯的不可变类型,那么无论是浅拷贝还是深拷贝,都只是指向同一个地址。如果不可变类型里面还存在可变类型,则浅拷贝是指向,而深拷贝则为完全拷贝。

3.私有化

xx: 公有变量
_x: 单前置下划线,私有化属性或方法,from 模块 import *禁止导入,类对象和子类可以访问。__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到,_类名__xx)
__xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字。
xx_:单后置下划线,用于避免与Python关键词的冲突,不推荐使用。

4.模块搜索顺序

import sys
sys.path  # 返回查找模块的列表目录,列表中的路径的先后顺序代表了python解释器在搜索模块时的先后顺序。第一个元素返回的是一个空字符串表示当前目录。
sys.path.append('/home/itcast/xxx')  # 在列表最后追加搜索目录
sys.path.insert(0, '/home/itcast/xxx')  # 可以确保先搜索这个路径

5.重新导入模块

from imp import reload
reaload(模块名)(必须得先import 模块)

6.多模块开发时注意事项
通过from 模块 import 变量,此时相当于给一个变量赋值,如果在程序中修改了变量的值就导致这个变量成了局部变量,跟其他模块就不共享了。如果多模块开发时想导入变量,建议使用import 模块名的方式,然后通过模块名.变量的方式去调用。
7.面向对象的三大特性(封装、继承、多态)
封装就是把方法和属性封装到类(类是抽象的,不能直接使用)的内部,只需要在类的外部,通过对象即可调用。继承实现了代码的重用。子类可以继承父类,并且可以继承多个父类即多继承,子类可以使用父类所拥有的属性和方法(除了私有属性和方法)。多态是以继承和重写父类方法为前提,增加了代码的灵活度,只是一种调用技巧。(并不能提高程序的运行速度)

封装:对受访问保护的成员进⾏功能开放的控制,达到保护数据不被⾮法访问的⽬的。
继承:⼀种类间关系,⼀个类A从另⼀个类B获取成员信息,称类A继承⾃类B。 提供成员信息的类称⽗类(基类),获取成员信息的类称⼦类(派⽣类)。
⼦类可以添加⽗类没有的成员
⽗类私有成员不可被继承
多继承:⼀个类同时继承多个类,称为多继承。 class 类名(⽗类名1,⽗类名2…)
多态:⼀个对象具有多种形态,在不同的使⽤环境中以不同的形态展示其功能,称该对象具有多态特征。多态通常发⽣在继承关系的基础之上。

Python基础提高相关推荐

  1. python编程教学基本语法教学视频_Python编程学习#Python视频课程#全民一起玩Python 基础+提高...

    适用人群 想用轻松系统的方式,从零开始真正理解掌握Python.进而学习办公.网抓.数据.AI.网站等技术的各界人士 课程概述 制作精细.自带吐槽,每节课程(20分钟)均耗时数十小时精心打造!有多达十 ...

  2. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  3. 杨洋python课程提高篇_杨洋老师《全民一起玩Python 基础篇+提高篇》

    全民一起玩Python 基础篇+提高篇 适用人群: 想用轻松系统的方式,从零开始真正理解掌握Python.进而学习办公.网抓.数据.AI.网站等技术的各界人士 课程概述: 制作精细.自带吐槽,每节课程 ...

  4. 杨洋python课程提高篇_杨洋老师:全民一起玩Python 基础篇+提高篇,老师幽默严谨不枯燥的学习编程...

    课程介绍 本套课程出自杨洋老师的全民一起玩Python 基础篇+提高篇官网售价299元,程保持了杨洋博士老师幽默严谨不枯燥的学习编程,清晰全面的授课风格,配有丰富的教学演示和插图.动画,是初学者学习P ...

  5. 快速掌握Python的捷径-Python基础前传(1)

    文: jacky(朱元禄) 开文序 最近看新闻,发现高考都考Python了,随着人工智能的火热,学数据科学的人越来越多了!但对于数据行业本身来说,现象级的火热,这并不是什么好事.  方丈高楼平地起,无 ...

  6. python基础之day1

    Python 简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善 ...

  7. Python 基础语法_Python脚本文件结构

    目录 目录 前言 软件环境 Python Script文件结构 导入模块的流程 Python的包package 最后 前言 Python基础语法这一章,主要记录了Python的文件结构.逻辑运算符.算 ...

  8. python使用缩进作为语法边界-重庆铜梁高校邦数据科学通识课【Python基础语法】答案...

    重庆铜梁高校邦数据科学通识课[Python基础语法]答案it8p 重庆铜梁高校邦数据科学通识课[Python基础语法]答案 关注公众号{帅搜}即可查询答案 支持:网课,智慧树,知到,超星,尔雅,学习通 ...

  9. python基础语法 第0关print-徐州鼓楼高校邦数据科学通识课【Python基础语法】答案...

    徐州鼓楼高校邦数据科学通识课[Python基础语法]答案it8p 徐州鼓楼高校邦数据科学通识课[Python基础语法]答案 关注公众号{帅搜}即可查询答案 支持:大学网课,智慧树,知到,超星,尔雅,学 ...

最新文章

  1. mysql 最小时间 最大时间_leetcode539_go_最小时间差
  2. NOIP2018 模拟 9.11
  3. 关于bedtools merge 功能中sort 命令的解释
  4. 导出jar插件_Fluttify输出的Flutter插件工程详解
  5. ls mac 显示最近修改日期_Find Any File for Mac(Mac本地文件搜索工具)
  6. 【转】WebSocket协议:5分钟从入门到精通
  7. Mybatis框架(复杂动态SQL),一对一,一对多,多对多
  8. windows平台vs2010编译64位libiconv与libxml2
  9. MYSQL单列索引和组合索引分析
  10. Xcode包管理工具Alcatraz
  11. 数据库工具-DBeaver工具
  12. 平面设计图文混排要怎么做
  13. python爬取加密qq空间_怎么利用爬虫爬取QQ空间中设置了权限的无法正常访问的内容?...
  14. C#游戏实例:弹砖块游戏
  15. 抓住每一次学习的机会
  16. STM32SD卡实现USB虚拟U盘
  17. Linux基础知识-1
  18. STMF103定时器
  19. 如何测算BMI指数(Python)
  20. 【算法详解】如何使用递归,递归使用的技巧详解

热门文章

  1. TVS和一般的稳压二极管有什么区别? (转)
  2. 因ubuntu内核升级导致的显卡驱动问题的解决方案
  3. Mybatis Plugin拦截器处理特殊字符串
  4. 【231】罗技优联接收器配对使用方法
  5. 【爬虫】scrapy下载股票列表(四)——对接mongodb保存数据
  6. 怎么做好WMS系统项目的验收
  7. Git操作与仓库创建
  8. Wireshark抓取网络聊天
  9. 论文阅读: Spatial transformer networks
  10. 深入理解JVM(程序编译与代码优化篇)