天问

机器学习笔记(1)–python基础

python作为一门脚本语言,可以应用在web开发,爬虫,以及数据分析,所以这里只记录python关于数据分析相关知识。。。

  • (1)安装python

Linux(Ubuntu):

apt-get install python

如果使用3.5: sudo apt-get install python3.5-dev

如果使用2.7: sudo apt-get install python-dev

macOS:

下载dmg,安装

Windows:

可视化安装,不介绍。配置环境变量

  • (2)基础知识

1、python 源代码可以通过编译转换成字节文件 .pyc / 优化代码.pyo

2、python用缩进来表示代码逻辑。所有代码块语句必须包含相同的缩进空白。

3、python中的标识符是区分大小写的。

4、在python里,标识符有字母、数字、下划线组成。

5、Python2中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。

6、python3中打印方法必须加括号:print()

好了,基本常识有些比较奇葩,掌握就能避免大部分低级错误。

  • (3)变量

变量也就是数据类型:

和C语言不一样,变量类型不需要提前声明,随时定义,随时销毁。

bool值True和1是一样的。

# 创建列表
list_x = [3, "hello", 1]
# 向列表中添加一个元素
list_x.append(7)
print(list_x)

# 创建元组
tuple_x = (3.0, "hello")
print (tuple_x)
# 添加元素到元组
tuple_x = tuple_x + (5.6,)


# 创建字典
goku = {"name": "Goku",
        "eye_color": "brown"}
print(goku)
print(goku["name"])

# 改变键的值
goku["eye_color"] = "green"
print (goku)
# 添加键值对
goku["age"] = 24
print (goku)

  • (4)控制语句

控制语句有 if else/ for /while

if score >= 90 & score <= 100:
	print('本次考试,成绩等级为:A')
elif score>=60 & score<90:
	print("本次考试,成绩等级为:B")
else:
print("本次考试,成绩等级为:C")

s = 0
while(s <= 2):
#while s<=2 :
	print('计数:', s)
	s = s + 1

while True:
	s+=1
	if s == 6:
 break



for i in range(1,11,2)
    print(i)

bb = [ {"name": "mm", "age": 10},{"name": "qq", "age": 20},{"name": "hh", "age": 50} ]  
for item in bb:  
    print(item["name"])

for i in range(len(bb)):
    print(bb[i]["name"])

比如用for循环写冒泡排序:

冒泡排序:
mppx = [1,8,2,6,3,9,4,12,0,56,45]
for i in range(len(mppx)):
	for j in range(i+1):
		if mppx[i]<mppx[j]:
			mppx[i],mppx[j]=mppx[j],mppx[i] #交互i,j顺序
print(mppx)

(5)函数

def fib(n):
	if n <=2 :
		return 2
	else:
		return fib(n-1)+fib(n-2)
print(fib(10))

(6)类和对象

字段(普通字段,静态字段)、方法(普通方法,类方法@classmethod,静态方法@staticmethod)、属性@property

• 普通字段属于对象
• 静态字段属于类


class Province:
   # 静态字段
   country = '中国'
   def __init__(self, name):
       # 普通字段
       self.name = name
obj = Province('河北省')
print obj.name
Province.country

继承和多态

class Cat():
    def __init__(self):
        self.name = '猫'
        self.age = 4
        self.info = [self.name,self.age]
        self.index = -1
    def run(self):
        print( self.name,'--在跑')
    def getName(self):
        return self.name
    def getAge(self):
        return self.age
    def __iter__(self):
        print('名字 年龄')
        return self
    def next(self):
        if self.index == len(self.info)-1:
            raise StopIteration
        self.index += 1
        return self.info[self.index]
 
class Bosi(Cat):
   def setName(self, newName):
        self.name = newName
   def eat(self):
        print( self.name,'--在吃')
bs = Bosi()
# 继承父类的属性和方法
print( 'bs的名字为:',bs.name)
print( 'bs的年龄为:',bs.age)
print(bs.run())
# 子类的属性和方法
 
bs.setName('波斯猫')
bs.eat()
# 迭代输出父类的属性
iterator = iter(bs.next,1)
for info in iterator:
    print(info)

(7)异常处理

(8)文件操作

博客地址:http://blog.yoqi.me/?p=14390
扫我捐助哦
喜欢 0

这篇文章还没有评论

发表评论