Python已经是3.1版本了,与时俱进更新教程.
本文适合有Java编程经验的程序员快速熟悉Python本文程序在windows xp+python3.1a1 测试通过. 本文提到的idle指python shell,即安装python后你在菜单看到的IDLE(python gui) 在idle里ctrl+n可以打开一个新窗口,输入源码后ctrl+s可以保存,f5运行程序. 凡打开新窗口即指ctrl+n的操作.
2 字符串和数字
但有趣的是,在javascript里我们会理想当然的将字符串和数字连接,因为是动态语言嘛.但在Python里有点诡异,如下:
# ! /usr/bin/python a = 2 b = " test " c = a + b运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换
# ! /usr/bin/python # 运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换 a = 2 b = " test " c = str(a) + bd = " 1111 " e = a + int(d) # How to print multiply values print ( " c is %s,e is %i " % (c,e)) ''' 知识点: * 用int和str函数将字符串和数字进行转换 * 打印以#开头,而不是习惯的// * 打印多个参数的方式 '''比起C/C++,Python处理字符串的方式实在太让人感动了.把字符串当列表来用吧.
# ! /usr/bin/python word = " abcdefg " a = word[ 2 ] print ( " a is: " + a)b = word[ 1 : 3 ] print ( " b is: " + b) # index 1 and 2 elements of word. c = word[: 2 ] print ( " c is: " + c) # index 0 and 1 elements of word. d = word[0:] print ( " d is: " + d) # All elements of word. e = word[: 2 ] + word[ 2 :] print ( " e is: " + e) # All elements of word. f = word[ - 1 ] print ( " f is: " + f) # The last elements of word. g = word[ - 4 : - 2 ] print ( " g is: " + g) # index 3 and 4 elements of word. h = word[ - 2 :] print ( " h is: " + h) # The last two elements. i = word[: - 2 ] print ( " i is: " + i) # Everything except the last two characters l = len(word) print ( " Length of word is: " + str(l))中文和英文的字符串长度是否一样?
# ! /usr/bin/python # -*- coding: utf8 -*- s = input( " 输入你的中文名,按回车继续 " ); print ( " 你的名字是 : " + s)l = len(s) print ( " 你中文名字的长度是: " + str(l))知识点:
类似Java,在python3里所有字符串都是unicode,所以长度一致.
一个好用的函数
# ! /usr/bin/python # -*- coding: utf8 -*- # The range() function a = range ( 1 , 10 ) for i in a: print (i) a = range( - 2 , - 11 , - 3 ) # The 3rd parameter stands for step for i in a: print (i)知识点:
Python 不用{}来控制程序结构,他强迫你用缩进来写程序,使代码清晰. 定义函数方便简单 方便好用的range函数
对比Java,python的文本处理再次让人感动
# ! /usr/bin/python spath = " D:/download/baa.txt " f = open(spath, " w " ) # Opens file for writing.Creates this file doesn't exist. f.write( " First line 1.\n " )f.writelines( " First line 2. " )f.close()f = open(spath, " r " ) # Opens file for reading for line in f: print ( " 每一行的数据是:%s " % line)f.close()知识点:
open的参数:r表示读,w写数据,在写之前先清空文件内容,a打开并附加内容. 打开文件之后记得关闭
每一个.py文件称为一个module,module之间可以互相导入.请参看以下例子:
# a.py def add_func(a,b): return a + b# b.py from a import add_func # Also can be : import a print ( " Import add_func from module a " ) print ( " Result of 1 plus 2 is: " ) print (add_func( 1 , 2 )) # If using "import a" , then here should be "a.add_func"
module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个module a.py . 如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为_init_.py 的文件.该文件内容可以为空.这个层次结构如下所示:
parent -- __init_.py -- child -- __init_.py -- a.pyb.py那么Python如何找到我们定义的module?在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:
import sysprint(sys.path)通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path 中:
import sys import ossys.path.append(os.getcwd() + ' \\parent\\child ' ) print (sys.path) from a import add_func print (sys.path) print ( " Import add_func from module a " ) print ( " Result of 1 plus 2 is: " ) print (add_func( 1 , 2 ))知识点:
如何定义模块和包 如何将模块路径添加到系统路径,以便python找到它们 如何得到当前路径对比C++,Java的突出进步是内建Javadoc机制,程序员可以通过阅读Javadoc了解函数用法.Python也内建了一些方便函数以便程序员参考.
dir函数: 查看某个类/对象的方法. 如果有某个方法想不起来,请敲dir. 在idle里,试试 dir(list) help函数: 详细的类/对象介绍. 在idle里, 试试 help(list)转载于:https://www.cnblogs.com/wangyueren/archive/2012/10/27/2742375.html
相关资源:Python3简明教程(中文版)