一、关于编辑器

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基础内容扩展复习的更多相关文章

  1. python 基础部分重点复习整理--从意识那天开始进阶--已结

    pythonic 风格编码 入门python好博客 进阶大纲 有趣的灵魂 老齐的教程 老齐还整理了很多精华 听说 fluent python + pro python 这两本书还不错! 元组三种遍历, ...

  2. python基础内容目录

    一  python基础 二  python基础数据类型 三  python文件操作及函数初识 四  python函数进阶 五  python装饰器 六  python迭代器与生成器 七  python ...

  3. python 基础部分重点复习整理2

    把这里的题目争取刷一遍 博客记录 python的ORM框架peewee SQLAlchemy psycopg2 Django 在1 的基础上,重点突出自己以前没注意的,做到精而不杂!!! Python ...

  4. Python基础内容

    1.注释 #单行注释 ‘“多行注释”’ 2.变量 Python没有声明变量的过程(动态类型) 变量名=值,如果是浮点数就定义为浮点类型,如果是整型就定义为整型,如果是字符串就定义为字符串 3.输入和输 ...

  5. python基础一 day13 复习

    # 函数 —— 2天 # 函数的定义和调用 # def 函数名(形参): #函数体 #return 返回值 #调用 函数名(实参) # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),* ...

  6. python基础内容整理(一)

    基本数据类型 字符串 String 字符串是不可变类型 字符串的分割: s.split(sep)以给定的sep为分隔符对s进行分割. In [4]: s = "hello world&quo ...

  7. python基础知识扩展(一)

    python课外笔记 1.print函数 print("helloworld")其实系统默认隐藏了一个参数end,完整的print()语句是 print("hellowo ...

  8. python基础一 day14 复习

    迭代器和生成器迭代器:双下方法 : 很少直接调用的方法.一般情况下,是通过其他语法触发的可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir(数据))可迭代的一定 ...

  9. python基础一 day7 复习文件操作

    read()原样输出 读取出来的是字符串类型 readline()输出一行 读取出来的是字符串类型 readlines()把每行文本作为一个字符串存入列表,并返回列表 打开方式: b以bytes类型打 ...

随机推荐

  1. AbstractCollection类中的 T[] toArray(T[] a)方法源码解读

    一.源码解读 @SuppressWarnings("unchecked") public <T> T[] toArray(T[] a) { //size为集合的大小 i ...

  2. NetAnalyzer笔记 之 十四 NetAnalyzer 6.0 的使用方法 -- 3.协议分析与统计

    数据分析 完成了数据的抓取,那么接下来就是NetAnalyzer的第二个重点部分了,协议分析作为整个软件的核心之一,在最新的NetAnalyzer中已经得到了巨大的提升.NetAnalyzer中协议分 ...

  3. Linux系统管理——Linux安装

    实验软件包下载地址 VirtualBox下载地址 VirtualBox:下载地址 CentOS7镜像下载地址 CentOS7:下载地址 远程登录管理工具下载地址 MobaXterm:下载地址 Virt ...

  4. sprintf 会自动追加’\0’至字符串末尾

    #define LEN_SERIAL_NUMBER (12) void C_CosemObjMeterInfo::SetSerialNum(U08 u08MeterId, U64 u64SerialN ...

  5. @codefoces - 1313E@ Concatenation with intersection

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定两个长度为 n 的字符串 a, b 与一个长度为 m 的字符 ...

  6. MySQL 性能优化之慢查询

    性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...

  7. android中获取其他应用的SharedPreferences

    在android中获取其他应用的SharedPreferences,需要其他应用设置的Mode为MODE_WORLD_READABLE或者MODE_WORLD_WRITABLE两种模式.要获取其他应用 ...

  8. OS_进程调度:C++实现

    实验二.进程调度模拟实验 一.实验目的: 本实验模拟在单处理机环境下的处理机调度,帮助理解进程调度的概念,深入了解进程控制块的功能,以及进程的创建.撤销和进程各个状态间的转换过程. 二.实验内容: 进 ...

  9. 使用addEventListener绑定事件是关于this和event记录

    DOM元素使用addEventListener绑定事件的时候经常会碰到想把当前作用域传到函数内部,可以使用以下两种放下: var bindAsEventListener=function (objec ...

  10. Centos中使用virtualenvwrapper

    Centos中使用virtualenvwrapper python特有的一种软件环境,创建多个python环境,各个环境之间完全隔离,互不影响.它可以用来解决Python项目开发和运行过程中的依赖项和 ...