python机器学习-python简介

作者 : 慕源网 本文共8722个字,预计阅读时间需要22分钟 发布时间: 2021-10-18 共265人阅读

python机器学习-python简介

本文是Python 机器学习系列的一部分。您可以在此处找到本系列之前所有帖子的链接

Python简介

介绍

在继续机器学习之前,我们必须学习 Python,因为我们将使用 Python 来应用系列中学到的机器学习算法。

本章向您介绍了 Python 语言。在您阅读本章的过程中,您将从 Python Tokens转向 Python 类。

什么是 Python?

Python 是一种解释性的、高级的、通用的编程语言。由 Guido van Rossum 创建并于 1991 年首次发布。他将 python 作为一个爱好项目开始,让他在圣诞节前后的一周内保持忙碌。得名于英国喜剧剧团巨蟒的名字。它用于:

  1. 软件开发
  2. Web开发
  3. 系统脚本
  4. 数学

安装 Python

  1. Python 最新版本可以从https://www.python.org/downloads/下载。
  2. 在撰写本文时,最新版本是 3.8.3。
  3. 根据您的操作系统下载安装程序文件,并根据您的操作系统执行安装程序命令。

Python 字符集

以下是python识别的字符集。它使用传统的 ASCII 字符集。

  1. Letters
    AZ, AZ
  2. 数字
    0-9
  3. 特殊符号
    键盘上可用的特殊符号(某些符号如卢比符号可能不可用)
  4. 空白
    空格、制表符、回车、换行、换页
  5. 其他字符
    统一码

Python Tokens

程序中最小的单个单元称为token。

  1. 关键词共有31个保留关键字。例如:and, finally, not 等等。
  2. 身份标识python 标识符是用于标识变量、函数、类、模块或其他对象的名称。例如:MyBook、myBook、mybook 等。
  3. 文字Python 中的文字可以定义为数字、文本或其他表示要存储在变量中的值的数据。例如:年龄 = 22、转义序列等。
  4. 运算符它可以定义为用于对操作数执行操作的符号。例如:算术运算符等。
  5. 标点符号用于实现语法的语法和结构。例如:&=、>>=、<<= 等。

Python 关键字

python机器学习-python简介

定义 Python 标识符的规则

  1. 标识符以字母 A 到 Z 或 a 到 z 或下划线 (_) 开头,后跟零个或多个字母、下划线和数字(0 到 9)。
  2. Python 不允许特殊字符
  3. 标识符不能是 Python 的关键字。
  4. Python 是一种区分大小写的编程语言。
  5. 类名以大写字母开头。所有其他标识符都以小写字母开头。
  6. 以单个前导下划线开头的标识符表示该标识符是私有的。
  7. 以两个前导下划线开头的标识符表示强私有标识符。
  8. 如果标识符也以两个尾随下划线结尾,则标识符是语言定义的特殊名称。

Python 标点符号

python机器学习-python简介

Python 程序的准系统

  1. 表达式

    哪个被评估并因此产生结果。例如:(20=4)/4

  2. 声明

    指示我们正在做某事。

    例如:a=20

    print(“按正确顺序调用”)

  3. 注释这对程序员来说是可读的,但被 python 解释器忽略。1、单行注释 (#)2、多行注释 (”’ ”’)例如:#this 是单行注释
  4. 方法

    具有某些名称并且可以重复使用的代码。例如:KetArgFunc()

  5. 块和缩进

    同级块缩进的一组语句创建一个块。例如:KetArgFunc() 函数下的所有语句

Python 变量

一个变量可以被认为是一个保存值的容器。Python 是一种类型推断语言,即可以自动检测数据类型的语言,或者换句话说,这意味着您不需要指定变量的数据类型。

注意:虽然python支持无限变长,但遵循PEP-8,我们保持最大长度为79个字符

例如:
name = 'python' # String Data Type
sum =None # a variable without a value
a = 23 # integer
b = 6.2 # Float
sum = a+b
print(sum)

多个变量赋值

a =b =c =1 #single value to multiple variables
a,b = 1, 2 #multiple value to multiple variable
a,b = b,a #value of a and b is swapped

变量范围和生命周期

  1. 局部变量
def fun():
   x=8
print(x)
 
fun()
print(x) #error will be shown
  1. 全局变量
x = 8
def fun():
   print(x) #Calling variable 'x' inside fun()
 
fun()
print(x) #Calling variable 'x' outside fun()

Python 数据类型

  1. 数字
    它用于存储数值。Python 有 3 种数字类型:

    a.整数

    例如:a = 10

    b. 浮点数字

    例如:a = 10.0

    c.复数

    例如:a = complex(10,5) # 10+5j
  2. 字符串
    字符串是一个字符序列。在python中,我们可以使用单引号( ‘ ‘ )或双引号(” “)来创建字符串。两者在python中都是一样的
str = 'computer science'
print('str- ', str) # print string
print('str[0]-', str[0]) # print 1st char
print('str[1:3]-', str[1:3]) # print string from position 1 to 3
print('str[3:]-', str[3:]) # print string starting from 3rd char
print('str*2-' , str*2) # print string two times
print('str + yes-', str+'yes') # concatenated string
  • 布尔值它用于存储两个可能的值,true 或false
str = "comp sc"
b = str.isupper()
print(b)

列表

列表是项目的集合,每个项目都有其索引值。由 [] 表示

list = [6,9]
list[0] = 55
print(list[0])
print(list[1])
  • 元组元组是一个不可变的 Python 对象。不可变的 Python 对象意味着一旦分配了元组,您就无法修改它的内容。用 () 表示
tup = (66,99)
Tup[0] = 3 #error will be displayed
print(tup[0])
print(tup[1])

Set

Set是唯一和不可变项的无序集合。由 {} 表示

set1 = {11, 22, 33, 22}
print(set1)

字典它是一个无序的项目集合,每个项目由一个键和一个值组成。

dict = {'subject' : 'comp sc", 'class' : '11'}
print(dict)
print( "Subject :", dict["subject"])
print("class :", dict.get('class'))

Python 运算符

Python 中运算符的优先级可以从规则 PEMDAS(括号、指数、乘法、除法、加法、减法)中找到。具有相同优先级的运算符从左到右求值。

  1. Python算术运算符它用于数学运算
x = 5
y = 4
print( 'x + y =' ,x+y) #Addition
print('x - y =',xy)#减法
print( 'x * y =' ,x*y) #乘法
print( 'x / y =' ,x/y) #Division
print ( 'x // y =' ,x//y) #Floor Division
print('x ** y =',x**y)#指数

Python 比较运算符

用于比较值

x = 101
y = 121
print ( 'x > y is' ,x>y) #大于
print ( 'x < y is' ,x<y) #小于
print ( 'x == y is' ,x==y) #等于
print ( 'x != y is' ,x!=y) #不等于
print ( 'x >= y is' ,x>=y) #大于等于
print ( 'x <= y is' ,x<=y) #小于等于

Python 逻辑运算符

x = True
y = False
print('x and y is',x and y) #if both are true
print('x or y is',x or y) #if either one is true
print('not x is',not x) #returns the complement

Python 按位运算符

用于操作位值

a = 6
b = 3
print ('a=',a,':',bin(a),'b=',b,':',bin(b)) c = 0
c = a & b
print ("result of AND is ", c,':',bin(c))
c = a | b
print ("result of OR is ", c,':',bin(c))
c = a ^ b
print ("result of EXOR is ", c,':',bin(c))
c = ~a
print ("result of COMPLEMENT is ", c,':',bin(c))
c = a << 2
print ("result of LEFT SHIFT is ", c,':',bin(c))
c = a>>2
print ("result of RIGHT SHIFT is ", c,':',bin(c))

Python 成员运算符

测试序列中的成员资格

a = 5
b = 10
list = [1, 2, 3, 4, 5 ]
if ( a in list ):
    print ("Line 1 - a is available in the given list")
else:
    print ("Line 1 - a is not available in the given list")
if ( b not in list ):
    print ("Line 2 - b is not available in the given list")
else:
    print ("Line 2 - b is available in the given list")

Python 身份运算符

他们检查相等运算符两侧的值是否指向同一个对象

a = 10
b = 10
print ('Line 1','a=',a,':',id(a), 'b=',b,':',id(b))
if ( a is b ):
   print ("Line 2 - a and b have same identity")
else:
   print ("Line 2 - a and b do not have same identity")

Python 运算符重载

在计算机编程中,运算符重载,有时称为运算符即席多态性,是多态性的一种特殊情况,其中不同的运算符根据其参数有不同的实现。运算符重载通常由编程语言、程序员或两者定义。

一元运算符 方法
 – __neg__(self)
 + __pos__(self)

Python 控制语句

控制语句用于根据指定的条件/逻辑控制执行流程。

  1. If-语句if 语句是一种编程条件语句,如果证明为真,则执行功能或显示信息

python机器学习-python简介

noofbooks = 2  
if (noofbooks == 2) :
   print(" You have")  
   print("two books")  
print("outside of if statement") 
  1. 在上面的代码中,我们检查noofbooks 是否等于 2,然后执行给定的代码。

if-else 语句

if-else 语句在测试表达式为真(非零)时执行一些代码,如果测试表达式为假则执行一些其他代码

python机器学习-python简介

a=10  
if a<100:   
      print('less than 100')  
else:  
      print('more than equal 100')  

在上面的代码中,我们正在检查 a 是否小于 100,否则将打印“大于等于 100”

  1. 嵌套的 If-Else 语句

    嵌套的 if … else 语句允许您检查多个测试表达式并针对两个以上的条件执行不同的代码

python机器学习-python简介

num = float(input("enter a number:"))  
if num >=0:  
     if num==0:  
         print("zero")  
else:  
     print("Negative number")

在上面的代码中,我们首先检查 num 是否大于或等于 0,然后如果两个条件都满足则为 0,则打印“零”,否则为“负数”

Python 控制循环

  1. While 循环只要给定的条件为真,它就用于执行语句块。当条件变为假时,控件将退出循环。每次循环开始时都会检查条件

python机器学习-python简介

x=1  
while x<=4 :  
      print(x)  
      x = x+1 

在上面的代码中,我们打印了从 1 到 4 的所有值

  1. For循环

    它用于迭代任何序列的项目,例如列表或字符串。

python机器学习-python简介

for i in range (3,5):  
      print(i) 

在上面的代码中,我们打印了 3 到 5 的数字。

  1. 嵌套 For 循环

    for 循环中的 for 循环就是我们所说的嵌套 for 循环

python机器学习-python简介

for i in range (1,3):  
    for j in range(1,11):  
          k=i*j  
          print(k, end = ' ')  
    print() 

在上面的代码中,我们首先从 1 到 3 运行循环,然后每次迭代再运行 10 次。

Python 跳转语句

它们用于将程序的控制权从一个位置转移到另一个位置。意味着这些用于改变循环的流程,例如跳过循环的一部分或终止循环。
  1. Break

    它用于终止循环

python机器学习-python简介

for val in "string":  
      if val == "i":  
             break  
      print(val) 

在上面的代码中,我们在遇到“i”时立即中断循环,因此打印“str”

  1. continue

    它用于跳过循环中所有剩余的语句并将控件移回循环顶部。

python机器学习-python简介

for val in "init":  
      if val == "i":  
            continue  
       print(val)  
print(" The End") 

在上面的文章中,我们将打印“nt”,因为对于“i”它会跳过。

  1. pass

    这个语句没有任何作用。它可以在语法上需要语句但程序不需要操作时使用。

for i in "initial":  
      if(i == "i"):  
            pass  
      else:  
           print(i) 
Continue 强制循环开始下一次迭代,而 pass 表示“此处没有要执行的代码”并将继续执行循环体的其余部分。输出将为“ntal”

Python 错误和异常

错误

语法错误是旨在以特定编程语言编写的字符或标记序列的语法中的错误。

例如:

>>> while True 打印 ‘Hello world’

在上面的代码中,它是一个无效的语法错误。它应该是:

>>> 而真:
             打印“Hello world
Python 中可用的标准错误是:
缩进错误、系统退出、值错误、类型错误、运行时错误

例外

Python 中的另一种错误是异常。即使语句或表达式在语法上是正确的,当试图执行它时也可能导致错误。在执行过程中检测到的错误称为异常
例如:
>> 10 * (1/10)
上面的代码在语法上是没问题的,但是当我们执行它时,它会导致ZeroDivisionError: integer Division or modulo by zero。
Python 中可用的标准异常是:
SystenExit、OverflowError、FloatingPointError、ZeroDivisonError、EOFError、KeyboardInterrupt、IndexError、IOError

处理异常

如果我们看到一些可能引发异常的可疑代码,我们可以通过将代码放在 try 块中来保护我们的程序
语法
try:
   you do your operation here
except Exception1:
   if there is Exception1, then execute this block
except Exception2:
   if there is Exception2, then execute this block 
………
else:
   if there is no exception, then execute this block. 
try:  
   fh = open("testfile", "r")  
   fh.write("This is my test file for exception handling!!")  
except IOError:  
   print ("Error: can\'t find file or read data")  
else:  
   print ("Written content in the file successfully")  

Python列表

 功能  描述
list.append() 在列表末尾添加项目
list.extend() 在列表末尾添加多个项目
list.insert() 在定义的索引处插入一个项目
list.remove() 从 lsit 中删除一个项目
del list[index] 从列表中删除一个项目
list.clear() 清空所有列表
list.pop() 删除定义索引处的项目
list.index() 返回第一个匹配项的索引
list.sort() 按升序或降序对列表项进行排序
list.reverse() 反转列表的项目
len(list) 返回列表的总长度
max(list) 返回列表中具有最大值的项目
min(list) 返回列表中具有最小值的项目
list(seq) 将元组、字符串、集合、字典转换为列表

Python字典

 功能  描述
dict.clear() 删除字典 dict 的所有元素
dict.copy() 返回字典 dict 的浅拷贝
dict.items() 返回 dict 的 (key, value) 元组对列表
dict.setdeafult(key, default=Nonre) 类似于 get(),但会设置 dict[key] = default
dict.update(dict2) 将字典 dict2 的键值对添加到 dict
dict.keys() 返回字典 dict 的键列表
dict.values() 返回字典 dict 值的列表

Python元组

 功能  描述
tuple(seq) 将列表转换为元组
min(tuple) 从元组中返回具有最小值的项目
max(tuple) 从具有最大值的元组中返回项目
len(tuple) 给出元组的总长度
cmp(tuple1,tuple2) 比较两个元组的元素

Python类

类是用于创建对象的代码模板。对象具有成员变量并具有与其关联的行为。在python中,类是由关键字创建的class。使用类的构造函数创建对象。这个对象将被称为instance类的。在 Python 中,我们按以下方式创建实例。

声明一个类:

class name:
            statements

使用类

class Point:  
        x = 0  
        y = 0  
  
# main  
p1 = Point()  
p1.x = 2  
p1.y = -5  
from Point import *  
  
# main  
p1 = Point()  
p1.x = 7  
p1.y = -3   
# Python objects are dynamic (can add fields any time!)  
p1.name = "Tyler Durden"   

对象方法

def name (self, parameter, ….., parameter):
            statements 

在上面的代码中,self非常重要,因为如果没有 self 存在,python 将不允许我们使用任何类成员函数。它类似于Java 中使用的“ this ”。唯一的区别是在java中使用“ this ”不是强制性的

from math import *  
  
class Point:  
    x = 0  
    y = 0  
  
    def set_location(self, x, y):  
        self.x = x  
        self.y = y  
  
    def distance_from_origin(self):  
        return sqrt(self.x * self.x + self.y * self.y)  
  
    def distance(self, other):  
        dx = self.x - other.x  
        dy = self.y - other.y  
        return sqrt(dx * dx + dy * dy)  
在上面的代码中,我们创建了 3 个方法,分别是set_location()、distance_from_origin() distance()。

调用方法

客户端可以通过两种方式调用对象的方法:
  1. object.method( parameter)
  2. Class.method( object, parameters)
p = Point(3, -4)  
p.translate (1, 5)   
Point.translate (p, 1, 5) 

Python 类构造函数

构造函数是一个特殊的方法,名字叫 __init__
def __init__ (self, parameter, ….., parameter):
               statements 
class Point:  
       def __init__( self, x, y):  
               self.x = y  
               self.y = y  

toString 和 __str__

它等效于toString 将对象转换为字符串的Java 。当strprint被调用时,它会自动参与。
def __str__( self):
          return string
from math import *  
  
class Point:  
    def __init__(self, x, y):  
        self.x = x  
        self.y = y  
  
    def distance_from_origin(self):  
        return sqrt(self.x * self.x + self.y * self.y)  
  
    def distance(self, other):  
        dx = self.x - other.x  
        dy = self.y - other.y  
        return sqrt(dx * dx + dy * dy)  
  
    def translate(self, dx, dy):  
        self.x += dx  
        self.y += dy  
  
    def __str__(self):  
        return "(" + str(self.x) + ", " + str(self.y) + ")" 

Python 类中的 Python 运算符重载

 操作员  类方法
 ——  __sub__(self, other)
 + __pos__(self, other)
 * __mul__(self, other)
 / __truediv__(self, other)
 == __eq__(self, other)
 != __ne__(self, other)
 < __lt__(self, other)
 > __gt__(self, other)
 <= __le__(self, other)
 >= __ge__(self, other)

结论

在本章中,您复习了 Python 基础知识。
现在,由于您对 Python 基础知识的了解很糟糕。在下一章中,我们将学习在 Windows 上借助 Anaconda 设置 ML 环境。

慕源网 » python机器学习-python简介

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录