python基础内容扩展复习
一、关于编辑器
python开发:pycharm(收费),vscode(免费),sublintext,
go开发:goland(收费),vscode,国产的
java:idea(收费),eclipse(免费),MyEclipse(收费)
android:androidstudio(免费),eclipse+adt
前端:webstorm(收费)
php:phpstorm(收费)
数据库开发:data
jetbrains公司出的全家桶,一个注册码,可以都用
androidstudio:谷歌买了jetbrains公司授权,在它基础上,做了它
二、解释型和编译型
开发环境:windows开发,但是有些东西在windows上装不上,可以用虚拟机换成乌班图安装,也可以远程连接linux,远程连linux内的docker开发
编程语言:
c:c代码写完,编译(不同平台),跨平台运行,linux上源码安装软件,自行编译,运行
java:一处编码,处处运行,java是编译型还是解释型?编译型,编译过程---把java源代码编译成字节码文件 .class
---不能直接运行在操作系统之上----》jvm(java虚拟机),jvm运行至少要300m内存
jdk
jre
jvm
javase javame javaee
go:编译型,跨平台编译(windows平台可以编译出mac平台的可执行文件),所有go代码打成一个可执行文件
python: 强类型动态语言
js:只能在浏览器中运行,nodejs
php:web开发
学习python未来从事的方向
1 python后端开发:做网站,前端可以是app,小程序的python后端
2 自动化运维:收集服务器软硬件信息(cmdb),jumpserver(堡垒机),sql审批,监控,日志收集,处理
devops:ci/di
3 自动化测试:selenium,appnium,pytest
4 数据分析:
5 爬虫:
6 量化交易
7 人工智能,图像处理
8 安全方向:端口扫描,弱口令扫描,sql注入,csrf攻击,xss攻击(利用python成为顶级黑客)
9 网络方向
10 物联网方向
三、数据类型
1 一切皆对象
一切皆对象的好处是不同类型的变量之间可以直接赋值,本质是修改了只想的内存地址
type和object的关系
- type是object的类
- type继承了object
- type也是type自己的类
2 深浅拷贝
等号直接赋值:是直接指向被拷贝对象的内存地址,id相同
浅拷贝:把被拷贝对象的内存地址复制一份,id不相同,但是内部的可变类型id相同
深拷贝:把拷贝对象内的所有内存地址都复制一份,做到值相同,但是内部可变类型id都不同
3 可变类型和不可变类型
可变类型:字典,列表,集合
不可变类型: 数字,字符串,元组
python3.5之后字典变成有序字典且优化了存储结构
参考:https://www.cnblogs.com/xiaoyuanqujing/articles/12008689.html
函数传参机制:值传递、引用传递
- 值传递
- 被调用形参作为函数的局部变量处理,不会影响外部变量
- 引用传递
- 调用的参数是参数本身,会影响外部变量
python根据可变类型和不可变类型的区别不能用一种机制一概而论,python的可变类型是引用传递,不可变类型是值传递。
四、闭包函数
定义:
- 定义在函数内部
- 对外部作用域有引用
函数是一等公民:函数可以赋值给一个变量
面向对象编程:OOP
python基础内容扩展复习的更多相关文章
- python 基础部分重点复习整理--从意识那天开始进阶--已结
pythonic 风格编码 入门python好博客 进阶大纲 有趣的灵魂 老齐的教程 老齐还整理了很多精华 听说 fluent python + pro python 这两本书还不错! 元组三种遍历, ...
- python基础内容目录
一 python基础 二 python基础数据类型 三 python文件操作及函数初识 四 python函数进阶 五 python装饰器 六 python迭代器与生成器 七 python ...
- python 基础部分重点复习整理2
把这里的题目争取刷一遍 博客记录 python的ORM框架peewee SQLAlchemy psycopg2 Django 在1 的基础上,重点突出自己以前没注意的,做到精而不杂!!! Python ...
- Python基础内容
1.注释 #单行注释 ‘“多行注释”’ 2.变量 Python没有声明变量的过程(动态类型) 变量名=值,如果是浮点数就定义为浮点类型,如果是整型就定义为整型,如果是字符串就定义为字符串 3.输入和输 ...
- python基础一 day13 复习
# 函数 —— 2天 # 函数的定义和调用 # def 函数名(形参): #函数体 #return 返回值 #调用 函数名(实参) # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),* ...
- python基础内容整理(一)
基本数据类型 字符串 String 字符串是不可变类型 字符串的分割: s.split(sep)以给定的sep为分隔符对s进行分割. In [4]: s = "hello world&quo ...
- python基础知识扩展(一)
python课外笔记 1.print函数 print("helloworld")其实系统默认隐藏了一个参数end,完整的print()语句是 print("hellowo ...
- python基础一 day14 复习
迭代器和生成器迭代器:双下方法 : 很少直接调用的方法.一般情况下,是通过其他语法触发的可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir(数据))可迭代的一定 ...
- python基础一 day7 复习文件操作
read()原样输出 读取出来的是字符串类型 readline()输出一行 读取出来的是字符串类型 readlines()把每行文本作为一个字符串存入列表,并返回列表 打开方式: b以bytes类型打 ...
随机推荐
- AbstractCollection类中的 T[] toArray(T[] a)方法源码解读
一.源码解读 @SuppressWarnings("unchecked") public <T> T[] toArray(T[] a) { //size为集合的大小 i ...
- NetAnalyzer笔记 之 十四 NetAnalyzer 6.0 的使用方法 -- 3.协议分析与统计
数据分析 完成了数据的抓取,那么接下来就是NetAnalyzer的第二个重点部分了,协议分析作为整个软件的核心之一,在最新的NetAnalyzer中已经得到了巨大的提升.NetAnalyzer中协议分 ...
- Linux系统管理——Linux安装
实验软件包下载地址 VirtualBox下载地址 VirtualBox:下载地址 CentOS7镜像下载地址 CentOS7:下载地址 远程登录管理工具下载地址 MobaXterm:下载地址 Virt ...
- sprintf 会自动追加’\0’至字符串末尾
#define LEN_SERIAL_NUMBER (12) void C_CosemObjMeterInfo::SetSerialNum(U08 u08MeterId, U64 u64SerialN ...
- @codefoces - 1313E@ Concatenation with intersection
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定两个长度为 n 的字符串 a, b 与一个长度为 m 的字符 ...
- MySQL 性能优化之慢查询
性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...
- android中获取其他应用的SharedPreferences
在android中获取其他应用的SharedPreferences,需要其他应用设置的Mode为MODE_WORLD_READABLE或者MODE_WORLD_WRITABLE两种模式.要获取其他应用 ...
- OS_进程调度:C++实现
实验二.进程调度模拟实验 一.实验目的: 本实验模拟在单处理机环境下的处理机调度,帮助理解进程调度的概念,深入了解进程控制块的功能,以及进程的创建.撤销和进程各个状态间的转换过程. 二.实验内容: 进 ...
- 使用addEventListener绑定事件是关于this和event记录
DOM元素使用addEventListener绑定事件的时候经常会碰到想把当前作用域传到函数内部,可以使用以下两种放下: var bindAsEventListener=function (objec ...
- Centos中使用virtualenvwrapper
Centos中使用virtualenvwrapper python特有的一种软件环境,创建多个python环境,各个环境之间完全隔离,互不影响.它可以用来解决Python项目开发和运行过程中的依赖项和 ...