人生苦短,我学python -- 入门篇

Published: 24 Aug 2015 Category: Python

Python 基础

刚刚开始系统学习Python,以Python核心编程为导线,记录学习过程的点滴。

知识点梳理


  • 用户输入
	#用户输入
	name = raw_input('Enter name : ')
  • 查看系统函数的帮助文档
	#查看系统函数的帮助文档
	help(raw_input)
  • 强制类型转换
	#强制类型转换
	int(name)   #转整型
	str(name)   #转字符串
  • 其他
	#其他
	dir(int)    #显示对象的属性
	type(name)  #返回对象的类型
	len(name)   #返回对象的长度
  • 重定向
	#重定向
	logfile = open('/tmp/,mylog.txt','a')
	print >> logfile,'error : invalid input !'
  • 输出带%d %s 等
	#输出带%d %s 等
	print "%s is number %d !" % ("python",1)
  • 3的5次方(注意××的使用)
	#3的5次方(注意××的使用)
	3××5
  • 重复5次’=’ (注意×的使用)
	#重复5次'=' (注意×的使用)
	print '=' * 5
  • 列表 [ , , , ] 及操作
	#列表  [ , , , ] 及操作
	aList = [1,2,3,4]
	print aList[0]
	print aList[2:]
	print aList[:3]
  • 元组 ( , , , ,) 比较吊的是可以存不同类型,缺点是不可以添加新的元素
	#元组 ( , , , ,)  比较吊的是可以存不同类型,缺点是不可以添加新的元素
	aTuple = ('robot',77,93,'try')
  • 字典 {‘’:’’,’’:’’,’’:’’}
	#字典 {'':'','':'','':''}
	aDict = {'host':'earth'}    # create dict
	aDict['port'] = 80          # add to dict
  • 遍历字典
	#遍历字典
	for key in aDict:
    	print key,aDict[key]
  • if else 的应用
	#if else 的应用
	if expression1:
	    if_suite
	elif expression2:
	    elif_suite
	else:
	    else_suite
  • range() 的使用 因为默认是按容器的迭代器遍历,按下标的话要加range
	#range() 的使用  因为默认是按容器的迭代器遍历,按下标的话要加range
	foo = 'abc'
	for i in range(len(foo)):
	    print i,foo[i]
  • 列表解析 列表解析 列表解析 重要的事情说三遍
	#列表解析 列表解析 列表解析 重要的事情说三遍
	squared = [x**2 for x in range(4)]
	for i in squared:
	    print i,
	sqdEvents = [x**2 for x in range(8) if not x % 2]
	for i in sqdEvents:
	    print i,
  • 文件读写 r:读取 w:写入 + :读写 b:二进制访问
	#文件读写
	filename = raw_input('Enter file filename :')
	fobj = open(filename,'r')
    for line in fobj:
        print line,
    fobj.close()
  • 错误和异常
	#错误和异常
	try:
	    ...
	except IOError,e:
	    print 'file open error : ',e
  • 函数
	#函数
	def func_name(para):
	    '我是函数注释'
	    return para
  • 导入模块
	#导入模块
	import sys
	print sys.platform
	print sys.version
  • 写别名
	#写别名
	ls = os.linesep
  • 动态类型
	#动态类型
	#	python的类型和内存占用都是运行时确定的
  • 引用计数
	#引用计数
	#   一.增加引用计数
	#   1.对象被创建    x = 3.14
	#   2.另外的别名被创建  y = x
	#   3.参数传递  foo(x)
	#   4.成为容器对象的一个元素    myList = [123,x,'xyz']
	
	#   二.减少引用计数
	#   1.一个本地引用离开了作用范围
	#   2.对象的别名被显示销毁  del y
	#   3.对象的一个别名被赋值给其他对象    x = 123 x=3
	#   4.对象被从一个窗口对象中移除  myList.remove(x)
	#   5.窗口对象本身被销毁    del myList