python图形编程基础知识_Python笔记(一):基础知识

本文着重于Python基础知识的梳理,并没有涉及Python环境的搭建、具体使用方法和技巧。

0x00. Python简介

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

——摘自廖雪峰的Python教程

Python的特点

Python is powerful... and fast;

plays well with others;

runs everywhere;

is friendly & easy to learn;

is Open.

——摘自Python官网

Python的设计原则

Python的设计哲学是“优雅”、“明确”、“简单”。

简单:源码可以直接运行,就算没有任何编程基础的同学,在配置好Python环境以后都可以轻松打印出大名鼎鼎的Hello World!(只需一行代码)

# Python 3.x

print('Hello World!')

# Python 2.x

print 'Hello World!'

明确:There should be one-- and preferably only one --obvious way to do it. 用一种方法,最好是只有一种方法来做一件事。

优雅: Python没有使用花括号{}作为语句块的划分界限,而是使用了严格的字符缩进(一般4个字符),这使得代码更易于阅读和维护。

Python的进化史

--1989: 诞生

--1991: 第一个发行版本

--2011: 被TIOBE编程语言排行榜评为2010年度语言。

0x01. 为什么选择Python

在学习Python之前一直使用Java语言,接触Python语言给我的第一感觉就是语法简洁,不需要复杂的类和函数声明,一行代码就是一个完整可运行的程序。

另外,由于Python语言可读性强,即使没有编程基础的人也能比较容易读懂Python代码,e.g:

>>> print('True' if True else 'False')

True

“龟叔”将Python作为ABC语言的一种继承,他认为ABC语言虽然非常优美且强大,但是没有获得成功的主要原因是非开放造成的。所以Python从设计之处就是开放源代码的,这也为Python以后的发展奠定了基础。

很多Python爱好者基于Python语言开发了大量优秀且高质量的扩展库,使得Python语言在各个领域都有很好的表现,尤其是在科学计算,图形处理,文本处理,网络编程等方面。

以下是一些Python中优秀的扩展:

Numpy:提供大量标准数学库的接口

PIL:使我们能够方便进行图形处理

Pillow:能用在Python3.x版本的PIL库的继承与扩展

Tkinter:能用来创建简单图形化界面

PyOpenGL:封装了OpenGL应用程序编程接口,能进行二维和三维图形处理

Flask:轻量级的web框架,能快速搭建基于SGI的web服务

0x02. Python的基本使用

了解了Python的基本情况,既然Python那么优秀,一定要了解一下Python的用法咯。

python数据类型

数据类型

描述

例子

备注

bytes

一个由字节组成的不可更改的有串行

b'Hello World!'

str

字符串类型

'Hello World!'

"Hello World!"

"""一般做文档注释"""

'''Hello World!'''

r'Hello \n World!'

在字符串前面加r,则字符串中的 \ 不转义

list

列表

[22, 'hello', 'male']

tuple

元组,元素初始化时就被固定,不可更改

(1, '3', 5)

当元组中只有一个元素时,该元素后面要加,。

e.g:(1,)

�dict

字典,以键值对形式出现

{'name':'lovexiaov', 'age':25}

键只能是不可变类型对象

set

不包含重复元素的集合

{1, 'hello', (1, 2)}

一个set中各元素的类型可以不同

int

精度不限的整数

3,-5

python 没有short、long类型

float

浮点数,精度与系统有关

3.14,-0.02,2.2e3

bool

逻辑值,只有两个值

True,False

complex

复数

3.2+4j

NoneType

空值,只有一个值

NoneType

不是null

Python语法

如上面提到的,Python的语法足够简洁,下面是常用的语法:

a) 方法定义: 使用def关键字定义方法:

def fun():

b) 类定义: 使用class关键字定义类:

class MyClass():

c) 代码块管理: 使用4个字符的缩进管理代码块:

def say_hello():

print('Hello World!')

print('out of function say_hello()')

d) 模块导入: 使用from, import, as关键字导入模块,有以下几种形式:

import os

import os.path as pt

from os import *

from os import path as pt

分支与循环

a) 分支:if...else和if...elif...else

# if...else

age = 16

if age > 18:

print('you can drunk now')

else:

print('you are too yong to drunk')

# if...elif...else

score = 89

if score < 60:

print('oh, no~~~')

elif score < 75:

print('you must study hard!')

elif score < 90:

print('you performed well')

else:

print('shit, that is so good')

b) 循环: while和for...in

# while loop

while True:

print('dead loop')

# for...in loop

for i in range(5):

print('i is %d' % i)

异常处理

俗话说,写代码,三分写,七分调,写代码的过程中不出bug是几乎不可能的事情,出错其实并不可怕,每一个bug对我们来说都是一种经验的积累(废话真多~)。

下面我们看一下在Python中怎么处理异常。

a) try...except...finally

如果遇到我们自己能够处理的错误,那我们就把它直接处理掉:

try:

result = 10 / 0

except ZeroDivisionError as err:

print('division by zero')

finally:

print('do what must do whether there is an error or not')

b) raise

有些问题,就算我们知道了也没有能力去解决,那么此时就应该把问题抛给上层解决:

try:

result = 10 / 0

except ZeroDivisionError as err:

print('division by zero')

raise

finally:

print('finally...')

在上面的代码中,虽然我们捕获到了异常,但是我们在记录下异常信息后就将该异常通过raise关键字原封不动的抛给了上层去处理。

今天的分享到此结束,下面的文章会总结Python中的一些高级特性,主要有如下几点:

高阶函数

面向对象编程

内置函数

常用标准库

...

0x03. 参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值