python核心编程____学习心得____part2
Python基础
注释: #
继续: \ 或者(){} 【】''' ''' 都可以
模块的概念:
每一个python的脚本文件都可以当成是一个模块。模块以磁盘文件的形式存在。模块里的代码可以是一段可以直接执行的脚本也可以是一堆类似库函数的代码,从而可以被别的模块导入调用。
赋值操作符:
在python中对象是通过引用传递的,且赋值语句不会有返回值 形如 y = (x = x + 1)是非法的 但是链式赋值却是合法的 y = x = x + 1
增量赋值:
m ** = 2 _______ m = m ** 2
python中不支持自增和自减
多元赋值和多重赋值:
x=y=z=1 #多重赋值
x,y,z=1,2,'a string' #多元赋值(其实就是元组的赋值) 即 (x,y,z) = (1,2,3)
python 中交换两个变量的值不需要临时变量:
>>>x,y=1,2
>>>x,y = y,x
>>>x
2
>>>y
1
python在赋值之前已经事先对x和y的新值做了计算
专用下划线标识符:
_xxx #私有变量名
_xxx_ #系统定义名字
文档操作:
python提供了一个机制,可以通过_doc_特别变量,动态获得文档字串。
典型的python文件结构:
_name_指示模块应如何被加载:
如果模块是被导入的:_name_的值为模块名字
如果模块是被直接执行:_name_的值为"_main_"
引用计数的概念:
增加引用计数的情况:
对象呗创建时:x = 3.12
对象另外的别名被创建:y = x
被作为参数传递给函数:foobar(x)
成为容器对象的一个元素:mylist = [123,x,'xyz']
减少引用计数的情况:
一个本地引用离开了其作用范围。比如foobar()函数结束时
对象的别名被显式销毁:del y
对象的一个别名呗赋值给其他对象: x = 123
对象被从一个窗口对象中移除:myList.remove(x)
窗口对象本身被销毁:del myList
第一个python程序:
创建文件的操作:
1 #_auther_="stuwu79" 2 #date:2019/10/16 3 import os 4 ls = os.linesep 5 6 #get filename 7 while True: 8 fname = input("please input file name:") 9 if os.path.exists(fname): 10 print("ERROR:'%s' already exists"%fname) 11 else: 12 break 13 #get file content(text)lines 14 all = [] 15 print("\nEnter lines ('.'by itself to quit).\n") 16 17 #loop until user terminates input 18 while True: 19 entry = input('>') 20 if entry == '.': 21 break 22 else: 23 all.append(entry) 24 25 #write lines to file with proper line_ending 26 fobj = open(fname,'w') 27 fobj.writelines(['%s%s'%(x,ls) for x in all]) 28 fobj.close() 29 print("DONE!")
效果如图所示:
文件读取和显示:
1 #_auther_="stuwu79" 2 #date:2019/10/17 3 #/user/bin/env python 4 'readTextFile.py--read and display text file' 5 6 #get filename 7 fname = input('Enter filename:') 8 print() 9 10 #attempt to open file for reading 11 12 try: 13 fobj = open(fname,'r') 14 except IOError: 15 print("file open error") 16 else: 17 18 for eachLine in fobj: 19 print(eachLine) 20 fobj.close()
读取效果: