首页 > 技术文章 > python基础内容扩展复习

hz2lxt 2020-06-30 18:44 原文

一、关于编辑器

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

推荐阅读