Python快速入门

学习机器学习,Python是一个绕不过的东西,本周快速学了一下Udacity的Python编程基础课,做个入门了解。内容比较简单,看完的总体感受,这是让零基础的人产生兴趣,这个是免费课程,有兴趣的同学自己去看就行了。下面简单总结一下课程基础知识点:
1、Python的安装
直接到Python官网下载安装就行了。

安装完成后就可以使用自带的开发环境IDLE进行编程了。
默认字体比较小可以自己在配置里修改。


2、Python的基础语法
用一个最简单的例子告诉我们Python的用法,相当于HelloWorld。告诉大家程序结构、函数使用,基本语法等。具体需要用到什么,自己查询官方文档,或google百度就行了。
import webbrowser
import time
print("start program!"+time.ctime())
count = 0
while(count<9):
    webbrowser.open("www.baidu.com")
    time.sleep(5)
    count = count +1
更多语法内容,可以直接看官方文档或找一找别人的总结。

3、类的使用
类包含各种属性和方法,我们使用这些方法就能实现不同的功能。可视化的是最容易让人产生兴趣的。用Turtle类来绘制图形,三角形等几何形状,能够快速了解如何使用类。
import turtle
def draw_square(somedraw):
    for i in range(1,5):
        somedraw.forward(100)
        somedraw.right(90)
    
def draw_circle():
    window = turtle.Screen()

   #draw rect
    brad = turtle.Turtle()
    brad.shape("turtle")
    brad.color("green")
    brad.speed(5)

    for i in range(1,37):
        draw_square(brad)
        brad.right(10)
 
    window.exitonclick()

draw_circle()
执行F5运行后的结果:

4、模块的使用
Python既有内置模块,也有外部模块,内置模块就直接使用,外部模块需要从网上安装。
1)模块的安装
比如要安装发送短信的模块 twilio,那么就两步(Windows下)
第一步:用管理员打开cmd工具
第二步:执行安装命令
pip install twilio

2)import和from的区别
简单来说就是导入包和导入类的区别。
  • import datetime是引入整个datetime包,如果使用datetime包中的datetime类,需要加上模块名的限定。
import datetime       print datetime.datetime.now()
  • from datetime import datetime是只引入datetime包里的datetime类,在使用时无需添加模块名的限定。
from datetime import datetime    print datetime.now()
注:简单的模块一般倾向于使用import,而不是from。

5、如何编写类
一个类包含函数和变量,同时也有自己的构造函数,用来分配内存和空间,用 __init__()表示。
6、类的继承和多态
1)继承
在OOP(Object Oriented Programming)程序设计中,当我们定义一个class的时候,可以从某个现有的class  继承 ,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。

Python 与其他语言不同点在于,当我们定义一个 class 的时候,我们实际上就定义了一种数据类型。我们定义的数据类型和Python自带的数据类型,比如str、list、dict没什么两样。
Python 有两个判断继承的函数:isinstance() 用于检查实例类型;issubclass() 用于检查类继承。

2)多态
我们在 Child 类中重写 print_title() 方法:
当子类和父类都存在相同的方法时,子类的方法会覆盖了父类的方法,这就是多态。比如下面例子中,

多态的好处就是,当我们需要传入更多的子类,可以直接用,也可以重写。调用方只管调用,不管细节,而当我们新增一种的子类时,只要确保新方法编写正确,而不用管原来的代码。这就是著名的“开闭”原则:
  •     对扩展开放(Open for extension):允许子类重写方法函数
  •     对修改封闭(Closed for modification):不重写,直接继承父类方法函数

例子:
class Parent():
      def __init__(self,last_name,eye_color):
            print("Parent Constructor Called")
            self.last_name = last_name
            self.eye_color  = eye_color

      def show_info(self):
            print("last name -- "+self.last_name)
            print("eye color -- "+self.eye_color)
            
class Child(Parent):
      def __init__(self,last_name,eye_color,number_of_toys):
            print("Child Constructor Called")
            Parent.__init__(self,last_name,eye_color)
            self.number_of_toys = number_of_toys

def show_info(self):
            print("Child name -- "+self.last_name)
            print("Child color -- "+self.eye_color)

miley_cyrus = Child("Cyrus","blue",5)
print(miley_cyrus.last_name)
print(miley_cyrus.number_of_toys)
miley_cyrus.show_info()





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值