keywords: python
基础
author: 二卷(2017.03.13-2017.03.14)
介于最近二卷看数据挖掘导论比较死脑细胞,决定每天看点python知识轻松一下,因为我根本就没咋学过python
1.语句和语法
字符or规则 | 解释 |
---|---|
# | 注释 |
|继续(在需要跨行书写时,但是如果包含小、中、花括号以及三引号包括下的跨行不需要) | |
: | 将代码块的头和体分开 |
缩进 | 以同样深度的空格或者制表符进行缩进,左边缩进相同的属于同一代码组,建议用四个空格进行缩进(pycharm中进行编辑时,打制表符会给你转换为四个空格) |
; | 在一行中写多个语句需要;间隔,但是一般python不怎么用分号,基本一行一句 |
模块 | 每个python文件都可当做一个模块,用import导入 |
## **
2.变量赋值
**
|赋值|解释|
|----|----|
|=|赋值操作符 1.python中对象都是通过引用传递的,在赋值时不管是该对象是新创建还是已经存在,都是将该对象的引用,而不是值,赋值给变量
2.python的赋值语句不会有返回值,例y=(x=1)就是错误的
|
|增量赋值|`x*=2:x=x*2`;`x**=2`:求x的二次方python没有自增自减运算
|
|多重赋值|y=x=1|
|多元赋值|同时赋值多个变量 x,y=1,2; x,y=y,x; #交换xy的值|
## **
3.标识符
**
### **3.1 标识符和关键字**
跟大多数语言一样,以_或者字母开头,可以包含数字、字母、下划线,大小写敏感
```python
import keyword
print (keyword.kwlist) #用keyword查看pyhon中有哪些关键字
print (keyword.iskeyword('and')) #查看一个标识符是否是关键字
### **3.2 内建(built-in)**
内建是Python解释器内置了一些函数,由解释器自动导入,可以看做在任何一级代码中的全局变量,可以直接调用;放在__buildin__模块当中,有时候会重新定义来覆盖它们
```python
print (dir(__builtins__)) #查看有哪些内建函数
3.3 下划线
下划线 | 解释 |
---|---|
_xxx |
是受到保护的,不能用from module import *导入 |
__XX__ |
是系统相关的 |
## **
4.基本风格
**
文档字符串`__doc__`,是对函数/方法/模块所实现功能的简单描述,当指向具体对象时,会显示此对象从属的类型的构造函数的文档字符串### **模块结构** 起始行
模块文档(文档字符串)
模块导入
变量定义
类定义
函数定义
主程序
```python if __name__ == '__main__': #`__name__` 如果模块是被导入的,则该值是模块的名字;如果模块是被直接执行的,则该值为`__main__` ```
## **
5.内存管理
**
### **5.1 变量**
**python中的变量无需实现申明,在赋值时就自动申明;python是动态类型,对象的类型和内存占用是运行是确定的,所以变量无须指定类型**
5.2 引用计数
在python中把新创建的对象或已有的对象赋值给变量时,其实是把改对象的引用给该变量,同时该对象的引用计数增加;当该变量销毁时(离开该变量的作用范围 or del
显式销毁),该对象的引用计数减少
5.3 内存分配和垃圾收集
解释器会帮我们,不需要太过担心