python初级
标签: python
1.while — else和for - else
只有在循环正常结束(非break)时才执行else中的内容
#!/usr/bin/python
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
2.while中只有一行语句就可直接写在while后面
#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
3.for
a1=0
a2=6
for i in range(a1,a2):
for j in range(i,a2):
print j #+ " "
else:
print i
else:
print "outerelse"
#-----------------------
word="helloworld"
for i in word:
print i
for i in range()
4.pass语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。
5.python中的各种数学函数
6.特有字符串运算符
设str="hello"
- [a:b]截取字符串中a到b的部分
str[1:3]==ell
- in 如果字符串中包含给定的支付返回ture
"h"in str == true
- not in
- % 格式化输出 语法与printf类似
print "My name is %s and weight is %d kg!" % ('Zara', 21)
输出结果是:
“My name is Zara and weight is 21 kg!”- 三引号允许字符串跨行(所见即所得)
还有多种函数
7.list类型
list = ['physics', 'chemistry', 1997, 2000]; #声明
print "Value available at index 2 : "
print list[2] #用下标选择元素
list[2] = 2001
del list[3] #删除元素 删除后其后的元素前移 list长度减一
print "New value available at index 2 : "
print list[2]
list.append("new") #在列表末尾添加新的对象
列表截取
list[2]
: 第3个元素list[-2]
: 倒数第2个元素list[1:]
: 截取第2个元素往后的元素
还有多种函数
8.tuple类型
与list类型类似,但不能修改或删除其中的元素,可以用“+”连接两个tuple,可以用del删除整个tuple
9.dictionary类型
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
dict['Age'] = 8; # 修改值
dict['School'] = "DPS School"; # 添加新元素
不能用数字访问某一个元素只能用键,键不可变,不能使用list作键,但tuple可以
还有多种函数
10.函数
格式:
def functionname( parameters ):
"函数_文档字符串" #存放函数说明
function_suite
return [expression] #不用加中括号
python 函数的参数传递:
- 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
- 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
全局变量:
全局变量想作用于函数内,需加 global
匿名函数 :
语法为
lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda arg1, arg2: arg1 + arg2;
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )
11.模块
import module
导入整个模块
from module impot func
导入模块中的某个函数
python中的包:
- 包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的的应用环境。简单来说,包就是文件夹,但该文件夹下必须存在
__init__.py
文件,该文件的内容可以为空。__int__.py
用于标识当前文件夹是一个包。- 调用包的时候会先调用它的
__init__.py
文件
12.I/O
raw_input([prompt])函数:
从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = raw_input("请输入:");
print "你输入的内容是: ", str
input([prompt]) 函数:
和 raw_input([prompt]) 函数基本类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。
打开和关闭文件(我的默认目录是c:\Users\Kr):
语法:file object=open(file_name[,access_mode][,buffering])
- file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
- access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
- buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
# -*- coding: UTF-8 -*-
# 打开一个文件
fo = open("foo.txt", "wb") #fo为file类型的对象
print "文件名: ", fo.name
print "是否已关闭 : ", fo.closed
print "访问模式 : ", fo.mode
print "末尾是否强制加空格 : ", fo.softspace
fo.write("hello world") #将字符串写入打开的文件
fo.close() #关闭打开的文件
fo= open("foo.txt","r+")
fo.read(10) #读取打开的文件直到第10个字节,若没有参数则读到文件最后
position = fo.tell(); #tell()返回指针当前的位置
print "当前文件位置 : ", position #会输出10
position = fo.seek(0, 0); #seek(offset,from)改变当前指针位置,offset变量表示要移动的字节数,From变量指定开始移动字节的参考位置
fo.close()
重命名和删除文件(我的默认目录是c:\Users\Kr):
- 需要
import os
导入os模块os.rename(current_file_name, new_file_name)
os.remove(file_name)
还有多种file的函数
13.异常处理
try:
<语句> #运行别的代码
except <name>: #except 后面可以加多种异常类型,也可以不加异常类型,即捕获所有异常
<语句> #如果在try部份引发了'name'异常
except <name>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
finally:
<语句> #无论如何都要执行
raise
语句自己触发异常