1.python
python脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它c++
#!/usr/bin/python 是告诉操做系统执行这个脚本的时候,调用/usr/bin下的python解释器;至关于写死了python路径;函数
#!/usr/bin/env python 这种用法是为了防止操做系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安编码
装路径,再调用对应路径下的解释器程序完成操做。会去环境设置寻找python目录。操作系统
2.对象
Python中默认的编码格式是 ASCII 格式,文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就能够支持中文了。索引
3.接口
如下划线开头的标识符是有特殊意义的。内存
以单下划线开头 _foo 的表明不能直接访问的类属性,需经过类提供的接口进行访问,不能用 from xxx import * 而导入;utf-8
以双下划线开头的 __foo 表明类的私有成员,只能容许这个类自己进行访问。
以双下划线开头和结尾的 __foo__ 表明 Python 里特殊方法专用的标识,如 __init__() 表明类的构造函数。
4。
Python语句中通常以新行做为为语句的结束符。可是咱们可使用斜杠( \)将一行的语句分为多行显示。
Python 可使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。
其中三引号能够由多行组成,编写多行文本的快捷语法,经常使用语文档字符串,在文件的特定地点,被当作注释。
多行注释使用三个单引号(''')或三个双引号(""")
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行也是程序代码的一部分。
print 默认输出是换行的,若是要实现不换行须要在变量末尾加上逗号
5.
python的字串列表有2种取值顺序:从左到右索引默认0开始的,最大范围是字符串长度少1从右到左索引默认-1开始的,最大范围是字符串开头
从字符串中获取一段子字符串的话,可使用变量 [头下标:尾下标],就能够截取相应的字符串,其中下标是从 0 开始算起,能够是正数或负数,下标能够为空表示取到头或尾。s = 'ilovepython'; s[1:5]的结果是love。s[5]是取不到的,也就是说取值区间为左闭右开
L[-2] 读取列表中倒数第二个元素
6.
is is 是判断两个标识符是否是引用自一个对象 x is y, 相似 id(x) == id(y) , 若是引用的是同一个对象则返回 True,不然返回 False
is not is not 是判断两个标识符是否是引用自不一样对象 x is not y , 相似 id(a) != id(b)。若是引用的不是同一个对象则返回结果 True,不然返回 False
id() 函数用于获取对象内存地址
7.
数据类型是不容许改变的,这就意味着若是改变 Number 数据类型的值,将从新分配内存空间。
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是能够修改的对象
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,至关于新生成了a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,自己la没有动,只是其内部的一部分值被修改了。
Python不支持单字符类型,单字符也在Python也是做为一个字符串使用。可使用引号''或""来建立字符串
列表的数据项不须要具备相同的类型
列表对 + 和 * 的操做符与字符串类似。+ 号用于组合,* 号用于重复
8.
python 函数的参数传递:
不可变类型:相似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象自己。
好比在 fun(a)内部修改 a 的值,只是修改另外一个复制的对象,不会影响 a 自己。
可变类型:相似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
python 中一切都是对象,严格意义咱们不能说值传递仍是引用传递,咱们应该说传不可变对象和传可变对象。