Python学习笔记(2)

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/3598740 Python学习笔记(2)1)Error and Exceptions错误和异常语法错误是在编译时检查,但Python允许在程序执行期间检查错误。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/3598740

Python学习笔记(2)



1)Error and Exceptions
错误和异常
语法错误是在编译时检查,但Python允许在程序执行期间检查错误。当检查出错误,Python解释器抛出、产生、触发一个异常。
要增加错误检测或异常处理到代码,使用try-except语句。
语法如下:
try:
  try_running_this_suite
except
  suite_if_someError_occurs


2)Functions
Phthon的函数与其它编程语言相似,函数使用()操作符进行调用,函数在使用前声明,函数类型是其返回值类型。
函数的参数通过引用进行调用。
声明函数:
def function_name([arguments]):
  "optional documentation string"
  function_suite
例子:
>>> def addMe2Me(x):
  'apply + operation to argument'
  return (x+x)

>>> addMe2Me(4.25)
8.5
>>> addMe2Me(10)
20
>>> addMe2Me('python ')
'python python '
>>> addMe2Me([-1, 'abc'])
[-1, 'abc', -1, 'abc']
>>> 

缺省参数的例子:
>>> def foo(debug=1):
 'determine if in debug mode with default argument'
 if debug:
  print 'in debug mode'
 print 'done'

>>> foo()
in debug mode
done
>>> foo(0)
done


3)Classes
类仅仅是保护静态数据成员或函数声明的容器,其静态数据成员或函数声明则称为类属性。
类提供了创建实际对象的blueprints,创建的实际对象称为类的实例。函数在类中称为方法。
声明类:
class class_name[(base_classes_if_any)]:
  "optional documentation string"
  static_member_declarations
  method_declarations
类声明使用class关键字。如声明子类,那么其超类或基类应该在圆括号中给出。
>>> class FooClass:
 'my very first class: FooClass'
 version = 0.1 # class (data) attribute
 def __init__(self, nm='John Doe'):
  'constructor'
  self.name = nm # class instance (data) attribute
  print 'Created a class instance for', nm
 def showname(self):
  'display instance attribute and class name'
  print 'Your name is', self.name
  print 'My name is', self.__class__ # full class name
 def showver(self):
  'display class(static) attribute'
  print self.version # references FooClass.version
 def addMe2Me(self, x): # does not use 'self'
  'apply + operation to argument'
  return (x+x)

>>> foo1 = FooClass()
Created a class instance for John Doe
>>> foo1.showver()
0.1
>>> print foo1.addMe2Me(5)
10
>>> print foo1.addMe2Me('xyz')
xyzxyz
>>> foo1.showname()
Your name is John Doe
My name is __main__.FooClass
>>> foo2 = FooClass('Jane Smith')
Created a class instance for Jane Smith
>>> foo2.showname()
Your name is Jane Smith
My name is __main__.FooClass

注意:当创建一个类实例时,其__init__()方法被自动调用。


4)Modules
模块是一个组织多个Python代码文件的逻辑方法。模块可包含可执行的代码、函数、类或以上所有类型。
模块名即为文件名,但不包括扩展名。当创建了一个模块后,使用import语句导入模块。
import module_name
调用模块函数:module.function()
访问模块变量:module.variable
例子:
>>> import sys
>>> sys.stdout.write('Hello World!/n')
Hello World!

下一个例子:
>>> import sys
>>> import string
>>> sys.platform
'win32'
>>> sys.version
'2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]'
>>> up2space = string.find(sys.version, ' ')
>>> ver = sys.version[:up2space]
>>> ver
'2.5.1'
>>> print 'I am running Python %s on %s' % (ver, sys.platform)
I am running Python 2.5.1 on win32

例3:
>>> verchunks = string.split(sys.version)
>>> verchunks
['2.5.1', '(r251:54863,', 'Apr', '18', '2007,', '08:51:08)', '[MSC', 'v.1310', '32', 'bit', '(Intel)]']
>>> print 'I am running Python %s on %s' % /
  (verchunks[0], sys.platform)
I am running Python 2.5.1 on win32




目录
相关文章
|
2月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
453 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
2月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
173 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
2月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
179 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
73 1
|
2月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
121 1
|
2月前
|
索引 Python
Python学习笔记编程小哥令狐~持续更新、、、(上)
Python学习笔记编程小哥令狐~持续更新、、、(上)
53 2
|
2月前
|
存储 Python
Python学习笔记编程小哥令狐~持续更新、、、 (下)
Python学习笔记编程小哥令狐~持续更新、、、 (下)
35 1
|
2月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
48 0
【免费分享编程笔记】Python学习笔记(二)
|
2月前
|
Java 编译器 Go
Python学习笔记--- day01计算机基础和环境搭建(一)
Python学习笔记--- day01计算机基础和环境搭建(一)
47 2
|
2月前
|
程序员 编译器 Python
Python学习笔记--- day01计算机基础和环境搭建(二)
Python学习笔记--- day01计算机基础和环境搭建(二)
51 1