第2章 快速入门(2)

本文介绍了Python的基础语法,包括代码块及缩进对齐、条件语句、循环语句、列表解析、文件操作、错误处理、函数定义与调用、类的概念与实现、模块的使用以及一些常用内置函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.10 代码块及缩进对齐

代码块通过缩进对齐表达代码逻辑,而不是使用大括号。

2.11 if语句

Python不支持switch/case语句。

>>> str = 'str'

>>> if str[-1] == 's':
... print 's'
... elif str[-1] == 't':
... print 't'
... else:
... print 'r'
...
r

2.12 while循环

>>> counter = 0
>>> while counter < 3:
... print "Loop %d" % counter
... counter+=1
...
Loop 0
Loop 1
Loop 2

2.13 for循环和range()内建函数

print语句默认会给每一行添加一个换行符,只要在print语句的最后添加一个逗号(,),就可以将输出输入到一行。

>>> aList = ['Tom', 'Vivian', 'Shari'] 
>>> print "print persons:"
print persons:
>>> for person in aList:
... print person,
...
Tom Vivian Shari
>>> 

为了 输出清晰美观,带逗号的print语句输出的元素之间会自动添加一个空格,也可以将所有数据放在一处输出——只需要将数据放在格式化操作符右侧的元组或字典中。

>>> Tom = 'Tom'
>>> Jacky = 'Jacky'
>>> print Tom, 'and', Jacky, 'are my friends!'
 Tom and Jacky are my friends!
>>> print 'There is an error %s' % ('.' * 2 + '.')
There is an error ...
>>> 

range()生成一个递增计数的列表

>>> for i in range(5):
... print i
...
0
1
2
3
4
>>> 

range()函数经常和len()函数一起用于字符串的索引。

>>> pythonStr = "Anders Fan"
>>> for i in range(len(pythonStr)):
... print pythonStr[i],
...
A n d e r s   F a n
>>> 

2.14 列表解析

>>> squared = [ 2 ** x for x in range(10) ]
>>> for x in squared:
... print x,
...
 1 2 4 8 16 32 64 128 256 512
>>> 

2.15 文件和内建函数open(),file()

file_name表示我们希望打开的文件的字符串名字,mode中'r'表示读取,'w‘表示写入,’a‘表示添加,’+‘表示读写,’b‘表示二进制访问。

>>> filename = raw_input('Input a file path:')
>>> filename


'C:\\Documents and Settings\\10170660\\Desktop\\22222.txt'

>>> fobj = open(filename, mode = 'r')
>>> for line_text in fobj:
... print line_text,
...
1
2
3

>>>

file()功能等同与open()

2.16错误和异常

通过raise语句引发一个异常。

>>> try:
... fileobj = open("C:\\111.txt", 'r')
... except IOError, e:
... print "Open file error: %s" % e
...
Open file error: [Errno 2] No such file or directory: 'C:\\111.txt'
>>> 


>>> try:
... fileobj2 = open("C:\\1.txt", 'r')
... fileobj2.close()
... except IOError, e:
... raise e
... 
Traceback (most recent call last):
  File "<interactive input>", line 5, in <module>
IOError: [Errno 2] No such file or directory: 'C:\\1.txt'

2.17 函数

如果函数中没有return语句,就会自动返回None对象。

2.17.1 如何定义函数

>>> def plus(x):
... "number * 2"
... return x + x

2.17.2 如何调用函数

>>> plus(2)
4

2.17.3 默认函数

函数的参数可以有一个默认值。

2.18 类

类是面向对象的核心,它扮演相关数据及逻辑容器的角色。

使用class关键字定义类。可以提供一个可选的父类或者说基类;如果没有合适的基类,那就使用object作为基类。class行之后是可选的文档字符串,静态成员定义及方法定义。

>>> class MyClass(object):
... "This is my first class!"
... version
... def MyMethod(self):
... "This is my first method in class"
... print self.version
... def _init_(self, version = 1.0):
... self.version = version
...

>>> myclass1 = MyClass()
>>> myclass1.MyMethod()
1.0
>>> 

所有名字开始和结束后有两个下划线的方法都是特殊方法。

当一个类实例被创建时,_init_()方法会自动执行,在类实例创建完毕后执行,类似构造器。_init_()可以被当成构造器,不过不像其他语言中的构造器,它并不创建实例——它仅仅是你的对象创建后执行的第一个方法。它的目的是执行一些对该对象的必要的初始化工作。_init_()需要一个默认的参数。所有的方法都有一个参数self,它是类实例自身的引用。其他面向对象语言通常使用一个名为this的标识符。

2.19 模块

模块是一种组织形式,它将彼此有关系的Python代码组织到一个个独立文件当中。当创建了一个Python源文件,模块的名字就是不带.py后缀的文件名。一个模块创建后,你可以从另一个模块中使用Import语句导入这个模块来使用。

>>> import sys
>>> sys.stdout.write("Hello world! \n")
Hello world! 
>>> 

2.20 实用函数

dir 显示对象的属性

>>> dir(myclass1)
['MyMethod', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_init_', 'version']

help 

>>> help(myclass1)
Help on MyClass in module __main__ object:


class MyClass(__builtin__.object)
 |  This is my first class!
 |  
 |  Methods defined here:
 |  
 |  MyMethod(self)
 |      This is my first method in class
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  version = 1.0

int 讲一个对象转换为整型

>>> int("2222222")
2222222

len 返回对象的长度

>>> aList = ["111", 11, 22, "22", myclass1]
>>> len(aList)
5
open 打开文件

range 返回一个整型列表

>>> range(1,5)
[1, 2, 3, 4]

raw_input 等待用户输入一个字符串

>>> str1 = raw_input("input")
>>> str1
'213123'
>>> 

str 将一个对象转换为字符串

>>> str(212)
'212'
>>> 

type 返回对象的类型

>>> type(212)
<type 'int'>
>>> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值