在python基础知识这个系列中,准备罗列出我学习python的一些基础知识,包括:
以前写机器学习算法喜欢使用Matlab语言,接触python后,觉得python有很多地方还是比Matlab方便点,各有各的优势吧,在公司还是使用python较多,这里会罗列出一些python的基础知识。
一、编码规则
1、命名规则
变量名通常是由字母和下划线组成,包名,模块名通常是由小写字母组成。
类名的首字母用大写,其他字母用小写;对象名用小写字母;类的私有变量、私有方法以两个下划线作为前缀。
class Person:#定义一个Person类
__name = ''#定义一个私有变量
__age = ''#定义一个私有变量
def __init__ (self, name, age):
self.__name = name
self.__age = age
def getName (self):
return self.__name
def getAge (self):
return self.__age
函数名通常采用小写字母。
2、代码缩进和冒号
在python中,代码缩进和冒号都是一种语法,在Java,C/C++中有{}语法,在python中则是采用的缩进和冒号。
如在Java中实现如下的判断:
if (x < 10)
{
y = x + 1;
}else{
y = x * 2;
}
则在python中的写法为:
if x < 10:#冒号
y = x + 1#缩进
else:
y = y * 2
3、模块的导入
模块是指类或者函数的集合。与Java中的import类似,在python中有两种导入方式:
如要需要使用random模块中的rangrange函数。则有以下两种方式:
from ...
import random
num = random.randrange(1,9)#使用randrange函数
print num
from ... import ...
from random import randrange
num = randrange(1,9)#使用randrange函数
print num
注:这两种方式的区别,from ...导入的是整个模块,而import ...import ...导入的只是部分内容,而且还创建了导入对象的引用,可以直接使用。在import ...模式中为模块创建别名,则使用as,如
import random as rd#为random创建别名rd
num = rd.randrange(1,9)#使用randrange函数
print num
4、注释
在python中注释使用的是#,#号后面为注释的内容,如上面的例子。
这里还要注意一下其他几种特殊的注释
5、语句分隔
python中不必使用;分隔,但是一行写多条语句时要使用;分隔。
如
x = 1; y = 2; print x + y
6、变量和常量
变量名由字母、数字或者下划线组成,其中,首字符必须是字母或者下划线。
注意全局变量的定义和使用:
# 在文件的开始处定义全局变量
_a = 1#全局变量,加下划线以示区别
_b = 2
def add():
global _a
_a = 3
return _a + _b
要使用global关键字。
在python中没有直接定义常量的关键字。
7、数据类型
主要的数据类型有:数字、字符串、元祖、列表和字典。
数字直接定义
i = 1
查看i的地址:
i = 1
print id(i)#查看i的地址
查看变量的类型
i = 1
j = 1.
print type(i)
print type(j)
<type 'int'> <type 'float'>
8、运算符
算术运算符 | 算术表达式 | 说 明 |
---|---|---|
+ | x + y | 加法 |
- | x - y | 减法 |
* | x * y | 乘法 |
/ | x / y | 除法 |
% | x % y | 求模 |
** | x ** y | 求幂 |
注:1/2要进行浮点运算,需要导入division模块
from __future__ import division
关系运算符
关系运算符 | 关系表达式 | 说 明 |
---|---|---|
< | x < y | 小于 |
> | x > y | 大于 |
<= | x <= y | 小于等于 |
>= | x >= y | 大于等于 |
== | x == y | 等于 |
!=或<> | x != y或x<>y | 不等于 |
逻辑运算符