在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中有两种导入方式:import ...
from ... import ...
如要需要使用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中注释使用的是#,#号后面为注释的内容,如上面的例子。
这里还要注意一下其他几种特殊的注释中文注释:#coding:UTF-8
跨平台注释:#! /usr/bin/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)
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不等于
逻辑运算符