Python学习笔记(对比C#)
Python特点(对比C#):
- Python两种运行模式:交互模式、脚本模式;
- Python最大特点:简洁;Python3不向前兼容(x),但是提供了2to3的转换器;
- Python常用IDE有VSCode和JupiterNotebook(支持图文混排);
- JupiterNotebook支持的媒体类型有:代码、图像、注释、公式、图形、运行结果;
- 转义字符失效标识符为r或者R,放在字符串前面即可,相当于C#的@;
- 没有访问权限关键字,而是用下划线表示,_表示保护,__表示私有,__表示系统标识符__
- 三重引号可以作为多行注释,单行注释用#而不是//;
- 多行字符串可以用三重单引号’’’‘’’或者三重双引号 “””“””表示;
- 字符串可以用单引号‘’或者双引号“”表示;
- 连续赋值a=b=c=1多元赋值(a,b,c)=(1,2,”python”)交换赋值a,b=b,a
- TRUE默认为1,FALSE默认为0,非零非空解释为TRUE,零和null解释为FALSE,类似C++和C;
- 字符串的*运算符:表示重复字符串的次数;
- 三元表达式:c=a if(a>b) b 相当于c=a>b?a:b;
- for可以配合range使用,相当于普通for循环,也可以配合in循环,相当于foreach循环;
- print()函数自带换行符,相当于writeline,不想要换行可以用参数end=“”;
- range()函数,前闭后开,表示一个可枚举可遍历的范围;
- 语句块不需要大括号,以相同缩进量表示同一个语句块,默认4个空格作为一级缩进;
- 序列sequence数据结构:列表list元组tuple字符串string
- 列表用中括号初始化,元组用小括号初始化,字典用大括号初始化;
- 元组一经初始化,便不可以修改值;
- 列表可以使用extend或者+将两个列表合并;
- 列表可以存储不同的数据类型;字典中可以有不同的数据类型;
- 字典:key键value值item键值对(相当于keyvaluepair)
- 变量不需要声明类型,而直接使用;
- 变量必须赋值才可以使用;
- 在运行阶段进行类型检查,而C、C++、C#则是在编译阶段进行类型检查;
- 语句不需要以;结尾,回车换行默认为语句的结束;
- 值传递:拷贝引用,不改变原值;引用传参:例如字典、列表,会改变原值;
- 模块:py文件;包:文件夹;库:?;
- as关键字用来重命名,而不是用于类型转换(C#);
- 上下文管理器:with相当于C#中的use,使用完后自动释放;前提是该类要实现__Enter__和__Exit__方法;
- 声明方法要用def关键字;
- shape表示各个维度的元素个数;
- [1:5]表示对集合类型进行切片,两个索引表示起始位置,也就是获取集合中的一部分;
- array[0][1]等价于 array[0,1];支持数组堆叠,在不同维度方向上求和;
- 随机数,支持平均分布,标准正态分布,可以生成由随机数生成的数组;
- shuffle函数,洗牌函数,随机打乱数组;