python小笔记

  1 python特点
  2     python使用缩进
  3     多个语句在一行使用;分隔
  4     注释为#,多行注释doc string()
  5 cmd的pip安装
  6     pip install selenium #安装
  7     pip list #查看安装了哪些包
  8     pip uninstall selenium #卸载
  9     py -3 -m pip install selenium #python安装在python3.0上
 10
 11 打印
 12     print("hello"," ","world");
 13     name=input("输入你的名字");
 14     print(name);
 15
 16 数据类型
 17     整数 int
 18     浮点数 float
 19     布尔值 bool
 20     空值 None
 21     type{a} #查看a的变量类型
 22
 23 变量赋值(不区分单双引号)
 24     a=100            #int
 25     b="test"        #字符串
 26     x=y=z=1            #多重赋值
 27     x,y,z=1,2,"str" #多元赋值
 28     int(a);str(a);    #类型转换
 29
 30 运算符
 31     3 * 5
 32     3 ** 2            #乘方
 33     5 / 2
 34     5%2
 35     "hello"+"world"
 36     10 // 3    ;        #整除,返回值为帧整数部分;
 37
 38 注释:
 39     单行注释#
 40     多行注释
 41         """
 42         注释内容
 43         """
 44 转义
 45      46     \n 换行
 47     \也可以续行,表示没有输完
 48
 49 字符串
 50     print("%d(x)是一个数字,%s(y)是一个字符串"%(x,y));
 51     %d(data)打印数字
 52     %s(string)打印字符串
 53     如果无法确定种类种类则用%r
 54     l=[1,2,3]
 55     print("这个列表的内容是%r" % l )
 56
 57 字符串操作
 58     #比如a="abc";b="cde"
 59     +    字符串连接
 60     *    字符串重复输出 a*2 ,输出aa
 61     []    索引,a[0]="a",a[-1]="c"
 62     [ : ]
 63     in
 64     not in
 65     r/R
 66     %   格式字符串
 67
 68 字符串常见函数方法
 69     L=[‘a‘,‘b‘,‘c‘];
 70         "".join(L)         #拼接成abc
 71         "_".join(L)     #拼接成a_b_c
 72     L="a,b,c"
 73         L.split(",")    #换成list类型,以,分割
 74     str.endswith(obj,beg=0,end=len(string));
 75
 76     A="abcdefdasd1";
 77         A.find(‘1‘);
 78         "_".join(A);     #输出‘a_b_c_d_e_f_d_a_s_d_1‘
 79         len(A)            #11
 80         A.replace("a","A");#‘AbcdefdAsd1‘
 81         A.split("a");         #[‘‘, ‘bcdefd‘, ‘sd1‘]
 82         A.strip(‘a‘);        #左右各处理掉a字符,‘bcdefdasd1‘
 83         A.startswith(‘a‘,0,len(A));     #true
 84
 85 列表list
 86     赋值、索引
 87         A[1][1]取索引为1的元素中的索引为1的元素
 88     基本操作
 89     切片,从左边开始取值
 90         比如A=[1,2,3,4,5]
 91         A[1:3] 表示取值为A[1],A[2]
 92         A[x:y] 表示取值A[x]到A[y-1]这个范围内
 93         A[0:-2]从最左边取值到最右倒数第二个但不包含这个数,这里就是[1, 2, 3, 4]
 94
 95 list函数
 96     len(list)
 97     max(list)/min(list)
 98     list(seq) 元祖转换为列表
 99
100 list方法
101     list.append(obj);        列表末尾添加新的对象
102     list.count(obj);        对指定元素计数
103     list.extend(seq);        插入序列类的东西到末尾,比如字符串,list
104     list.index(obj);        找到某个元素的位置
105     list.insert(index,obj);    在指定位置插入
106     list.pop(index);        删除某元素
107     list.remove(obj);        删除某元素
108     list.reverse();            反序
109     list.sort();            排序
110     list.clear();            清空
111     list.copy();            建立副本
112     list.strip()         方法用于移除字符串头尾指定的字符(默认为空格)
113
114
115 元祖tuple
116     特色:
117     1、和list相似,最大的不同元祖是一种只读且不可读的数据结构
118     2、不可替代元祖中的所有元素,至刻度不可更变
119     3、list与tuple可以相互转换,tuple(list)、list(tuple)
120
121     赋值:
122     h=(2,[3,4],(23112,2));    #多维列表
123     h=(1,)                    #一个元素时必须要打逗号,因为h=(1)与h=1一致。
124
125 字典:Dict
126     a={‘x‘:3,    ‘y‘:4,    ‘z‘:5    }
127     #x就是key不能为数字;3表示value值;和json格式相似
128     a[‘xx‘]=333; #表示又插入一个键为‘xx‘,值为‘333‘的元素;
129                 #结果是a字典就是{‘x‘: 3, ‘y‘: 4, ‘z‘: 5, ‘xxx‘: 2333}
130
131
132     字典的函数方法:
133         dict.clear()
134         dict.copy();
135         dict.get(key,None);        #返回指定键的值,若没有返回"None"
136         key in dict
137         dict.items()            #以列表返回可遍历的(键,值)元祖数组
138         dict.keys()                #以列表返回一个字典所有的键
139         dict.setdefault(key,None)#和get()相似,但如果键不存在字典中,会添加一个key键,值为None
140         dict.update(dict2)        #把字典dict2的键/值对更新到dict里
141         dict.values()            #返回字典中所有的值;
142         dict.pop(key,None)        #删除键Key对应的值,返回被删除的值,key值不存在返回None。如果Key不存在,又没有默认值,则报错。
143
144 条件语句
145 if y>0:
146     print("y>0")
147 elif y==0:
148     print("y==0")
149 else:
150     print("y<0")
151 ################
152 布尔表现式---逻辑操作符and、or、not、in、not in
153 a=2;b=4;c=6
154 if b>=a and b<=c:
155     print("b is between a and c")
156
157 if not (b<a or b>c):
158     print("b is still between a and c")
159 ######################
160 while语句
161 i=5
162 while i>0:
163     print("ss")
164     i=i-1
165
166 ######################
167 For语句
168 for i in [3,4,10,25]:
169     print(i)
170
171 for i in "helloworld":
172     print(i)
173
174 for i in range(10):    #i从0取到9
175     print(i)
176
177 A=[]
178 for j in [3,4,5,6]:
179     A.append(j**2)
180
181
182 range(1,10)            #从1取到10
183 range(1,10,2)        #从1取到10,每隔2取一次值
184
185
186 #######################
187 控制流终止
188     continue
189     break
190
191
192
193
194
195
196 ###############################
197 函数
198     def语句
199     def 函数名(参数1,参数2,参数3)
200         语句块
201
202 def divide(a,b):
203     q=a/b
204     r=a-q*b
205     return q,r
206
207 #调用
208 x,y=divide(42,5)    #x=8,y=2
209 x=divide(42,5)        #x=(8,2)是tuple元祖
210
211 def add(a,b=2):        #a为位置参数,b为默认参数、默认取值为2。默认参数在位置参数之后
212     s=a+b
213     return s
214
215 def fenshu(name,socre=90):
216     print(‘%s的分数为%d‘%(name,score))
217
218
219 #调用分数
220 fenshu(‘张三‘,)
221 t=(‘李四‘,80)
222 fenshu(*t)
223
224 ###############
225 #1、可变参数
226 def func(*a):        #如果输入为1,23,4,4,5;那么a=(1,23,4,4,5)元祖
227     sum=0
228     for n in a:
229         sum=sum+n
230     return sum
231
232 def fenshu(name,socre=90):
233     print(‘%s的分数为%d‘%(name,score))
234
235
236 #2、可变参数
237 fenshu(‘张三‘)
238 t=(‘李四‘,80)
239 fenshu(*t)
240
241
242 #################################################
243 关键字参数
244 def func(**kw)
245 可变参数允许传入0或者任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许我传入0~任意个含参数名的参数,这写关键字参数在内自动组装为一个dict。与可变参数相同,需要使用dict的操作方法来操作dict
246
247 在调用函数时,我们可以将参数组装成dict,通过func(**dict)的方式传参
248 def func(name,age=20):
249     print("%s age is %d"%(name,age))
250
251 p={‘name‘:‘bob‘,‘age‘:27}
252 func(**p)
253
254 参数组合
255     顺序为位置参数、默认参数、可变参数和关键字参数,形式:
256 def func(para,para2=None,*agrs,**kw)
257 #################################################
258 类、对象
259 class Person():
260     def __init__(self,name,age):  #初始化,绑定实例属性,特殊的方法,类似于java的构造函数,第一个参数必须是self
261         self.name=name
262         self.age=age
263 1、继承
264 class Count():
265     def __init__(self,a,b):        #初始化类的属性
266         self.a=a
267         self.b=b
268     def add(self):                #类中的方法,第一个参数必须是self
269         return self.a+self.b
270
271 count = Count(3,5);    #实例化对象,是否传参取决于__init__
272 count.add();        #调用对象的方法
273
274 class Father():        #表示无继承父类,或者说这是继承基类
275     def add(self,a,b):
276         return a+b
277
278
279 class Son(Father):
280     def div(self,a,b):
281         return a-b
282 >>> son=Son();        #实例化对象
283 >>> son.add(3,5)
284 >>> son.div(3,5)
285
286 ##########################################################
287 异常
288 try:
289     open("abc.txt",‘r‘)
290 except IOError:
291     print "异常了!"
292
293 try:
294     print aa
295 except NameError:
296     print "这是一个 name 异常!"
297
298
299 try:
300     open("abc.txt",‘r‘)
301     print aa
302 except BaseException:
303     print "异常了!"
304 所有的异常类有了新的基类 BaseException,Exception 同样也继承BaseException,所以我们也可以使用 BaseException 来接收所有的异常。
305
306 try:
307     print(s)
308 except NameError:
309     print("异常")
310 finally:
311     print("没有异常") #finally如何都都会被执行
312
313 try:
314     print(s)
315 except NameError:
316     print("异常")
317 else:
318     print("没有异常") #try正确才会执行
319 ###读取文件#######################################################
320 #coding=utf-8
321 import  time
322
323 files =open(‘C:/Users/Lee/Desktop/test01.txt‘,‘r‘)
324 try:
325    # print(str)
326     for l in files:
327         print(l)
328      #   time.sleep(1)
329 finally:
330     #files.close()
331     print (‘Cleaning up ...closed the file‘)
332 #######################################
333
334
335
336 ######################################
337
338 引入包
339 import time
340 print(time.ctime())
341
342 引入自己写的模块
343
344
345 ##########################导入写的模块的路径
346 import sys
347 sys.path.append(‘C:\\test\\WorkSpace_Python\\Learn0904‘)
348 print(sys.path)
349 print(sys)
350
351
352 ###################################
353 open/文件操作
354 f=open(‘/tmp/hello‘,‘w‘)
355
356 #open(路径+文件名,读写模式)
357
358 #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式
359 读写模式的类型有:
360
361 rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
362 w     以写方式打开,
363 a     以追加模式打开 (从 EOF 开始, 必要时创建新文件)
364 r+     以读写模式打开
365 w+     以读写模式打开 (参见 w )
366 a+     以读写模式打开 (参见 a )
367 rb     以二进制读模式打开
368 wb     以二进制写模式打开 (参见 w )
369 ab     以二进制追加模式打开 (参见 a )
370 rb+    以二进制读写模式打开 (参见 r+ )
371 wb+    以二进制读写模式打开 (参见 w+ )
372 ab+    以二进制读写模式打开 (参见 a+ )
373
374
375 #举例:读取文件
376 f=open(‘C:/Users/Lee/Desktop/123.csv‘,‘r+‘)
377 str=f.readlines()
378
379 for i in str:
380     print(i)
381 f.close()
382
383 #举例:读取csv文件
384 import csv
385 file1=open(‘C:/Users/Lee/Desktop/actual.csv‘,‘r+‘)
386 csv_reader=csv.reader(file1)
387 print(type(csv_reader))
388 for row in csv_reader:
389     print(type(row))
390     print(row[1])
391 file1.close()
392
393 #写入文件
394 f=open(‘C:/Users/Lee/Desktop/111.csv‘,‘a+‘)
395 num=[1,2,3,4,5]
396 char=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
397
398 l=[]
399 for i in range(len(num)):
400     m=str(num[i])+‘,‘+char[i]
401     l.append(m)
402 f.write(str(l)+‘\n‘)
403 f.close()
404
405 #写入csv文件,这里的row_all是获取到的数据库的内容,为元祖
406 l=list(row_all)
407 f=open(‘D:/123.csv‘,‘a+‘,newline=‘‘)
408 writer=csv.writer(f)
409 num=len(l)
410 for i in range(num):
411     writer.writerow(l[i])
412 f.close()
413
414
415 #####################################python发送邮件
416 #coding=utf-8
417 import smtplib
418 from email.mime.text import MIMEText
419 from email.header import Header
420
421 #发送邮箱
422 sender=‘[email protected]‘
423 #接受邮箱
424 receiver=[‘[email protected]‘]
425
426 #发送主题
427 subject=‘测试‘
428 #发送邮箱的服务器地址
429 smtpserver=‘smtp.163.com‘
430 #发送邮箱用户/密码
431 user=‘[email protected]‘
432 pwd=‘li1992hujun‘
433
434 #邮件正文
435 msg=MIMEText(‘<html><h1>你好!!!‘
436              ‘</h1><a href="http://baidu.com">这是一个链接</a></html>‘,‘html‘,‘utf-8‘)
437 msg[‘From‘]=‘李胡军‘#可以写出来表示发件人名字
438 msg[‘To‘]=‘[email protected]‘
439 msg[‘Subject‘]=Header(subject,‘utf-8‘)
440
441 smtpObj=smtplib.SMTP(smtpserver,25)
442
443 smtpObj.login(user,pwd)
444 smtpObj.sendmail(sender,receiver,msg.as_string())
445
446 ########################################################################
447 ###带附件发送邮件
448 #coding=utf-8
449 import smtplib
450 from email.mime.multipart import MIMEMultipart
451 from email.mime.text import MIMEText
452 from email.header import Header
453
454 #发送邮箱
455 sender=‘[email protected]‘
456 #接受邮箱
457 receiver=[‘[email protected]‘]
458
459 #发送主题
460 subject=‘测试‘
461 #发送邮箱的服务器地址
462 smtpserver=‘smtp.163.com‘
463 #发送邮箱用户/密码
464 user=‘[email protected]‘
465 pwd=‘li1992hujun‘
466
467 #邮件正文
468 msg=MIMEMultipart()
469 msg.attach(MIMEText(‘<html><h1>你好!!!‘
470              ‘</h1><a href="http://baidu.com">这是一个链接</a></html>‘,‘html‘,‘utf-8‘))
471
472 msg[‘From‘]=‘李胡军‘#可以写出来表示发件人名字
473 msg[‘Subject‘]=Header(subject,‘utf-8‘)
474
475
476 #附件
477 fj=‘C:\\Windows\\addins\\FXSEXT.ecf‘
478 att=MIMEText(open(fj,‘rb‘).read(),‘base64‘,‘utf-8‘)
479 att["Content-Type"]= ‘application/octet-stream‘
480 att[‘Content-Disposition‘]=‘attachment; filename="test"‘
481 msg.attach(att)
482
483 #发送
484 smtpObj=smtplib.SMTP(smtpserver,25)
485 smtpObj.login(user,pwd)
486 smtpObj.sendmail(sender,receiver,msg.as_string())
487
488 ###################################################################################
489
490
491
492
493
494 #####lambda函数
495 f=lambda x:x*2
496 ‘‘‘
497 用 lambda 来声明匿名函数,冒号(:)前面 x 表示入参,冒号后面 x*2 表示返回值。lambda 和普通的函数相比,省去了函数名称,“匿名函数”也是由此而来。
498 ‘‘‘
499 等价于
500 def f(x):
501     return x*2
502
503
504 #######################################取出文件夹中最新的文件
505 #coding=utf-8
506 import os
507
508 #定义文件目录
509 lists=os.listdir(‘D:\\123‘)
510
511 #按时间排序
512 lists.sort(key=lambda fn:os.path.getmtime(‘D:\\123\\‘+fn))
513
514 print(‘最新文件为:‘+lists[-1])
515 lists.sort()
516 print(os.path.getmtime(‘D:\\123\\‘+lists[-1]))
517 print(lists)
518
519 ##########################################################
520 from urllib import request
521
522 with request.urlopen(‘https://api.douban.com/v2/book/2129650‘) as f:
523     data=f.read()
524     print(‘状态:‘,f.status,f.reason)
525     for k ,j in f.getheaders():
526         print(‘%s %s‘%(k,j))
527     print(‘数据:‘,data.decode(‘utf-8‘))
528
529 req=request.Request(‘http://www.douban.com/‘)
530 req.add_header(‘User-Agent‘, ‘Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25‘)
531 with request.urlopen(req) as m:
532     print(‘状态1:‘,m.status,m.reason)
533     for k,j in m.getheaders():
534         print(‘%s :%s‘ %(k,j))
535     print(‘数据1:‘,data.decode(‘utf-8‘))
536
537
538 可以直接作用于for循环的数据类型有以下几种:
539     一类是集合数据类型,如list、tuple、dict、set、str等;
540     一类是generator,包括生成器和带yield的generator function。
541     这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。
542
543 生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出StopIteration错误表示无法继续返回下一个值了。
544     可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。
545     可以使用isinstance()判断一个对象是否是Iterator对象:
546
547
548 map函数/refuce函数/filter函数
549 >>>list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
550 [‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘]
551
552 reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
553
554 def is_odd(n):
555     return n % 2 == 1
556
557 list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
558 # 结果: [1, 5, 9, 15]
559
560 >>> sorted([36, 5, -12, 9, -21], key=abs)
561 [5, 9, -12, -21, 36]
562
563
564 列表生成式:
565 >>> [x * x for x in range(1, 11)]
566 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
567
568 等价于:
569 >>> L = []
570 >>> for x in range(1, 11):
571 ...    L.append(x * x)
572 ...
573 >>> L
574
575
576
577 闭包:相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”
578     返回闭包时牢记的一点就是:返回函数不要引用任何循环变量,或者后续会发生变化的变量。
579
580
581 匿名函数
582 lambda x: x * x
583 等价于
584 def f(x):
585     return x * x
586
587
588
589 装饰器:
590     这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。
591
592
593 Python作用域:
594     1、正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,x123,PI等
595     2、类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的__author__,__name__就是特殊变量,hello模块定义的文档注释也可以用特殊变量__doc__访问,我们自己的变量一般不要用这种变量名;
596     3、类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc,__abc等;
597     之所以我们说,private函数和变量“不应该”被直接引用,而不是“不能”被直接引用,是因为Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量。
598
599
600 获取对象信息:
601 1、使用type()判断对象类型
602 2、使用isinstance(‘aaa‘,str)判断对象类型
603 3、使用dir()获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list
604 >>> type(123)
605 <class ‘int‘>
606 >>> type(‘str‘)
607 <class ‘str‘>
608 >>> type(None)
609 <type(None) ‘NoneType‘>
610 >>> isinstance([1, 2, 3], (list, tuple))
611 True
612 >>> hasattr(obj, ‘x‘) # 有属性‘x‘吗?
613 True
614 >>> obj.x
615 9
616 >>> hasattr(obj, ‘y‘) # 有属性‘y‘吗?
617 False
618 >>> setattr(obj, ‘y‘, 19) # 设置一个属性‘y‘
619 >>> hasattr(obj, ‘y‘) # 有属性‘y‘吗?
620 True
621 >>> getattr(obj, ‘y‘) # 获取属性‘y‘
622 19
623 >>> obj.y # 获取属性‘y‘
624 19
625
626
627
628 给一个实例绑绑定方法,但是对另外的实例无效
629 >>> def set_age(self, age): # 定义一个函数作为实例方法
630 ...     self.age = age
631 ...
632 >>> from types import MethodType
633 >>> s.set_age = MethodType(set_age, s) # 给实例绑定一个方法
634 >>> s.set_age(25) # 调用实例方法
635 >>> s.age # 测试结果
636 25
637     
时间: 2024-10-13 13:14:01

python小笔记的相关文章

一份python小笔记

lambda表达式:需要一个函数但又不想费神去命名一个函数的情况下使用(匿名函数) lambda演算是一门学科,lambda表达式是lambda演算的很小的一部分 装饰器是闭包的一个语法糖 python的函数内,可以直接引用外部变量,但不能改写外部变量(使用global,nonlocal等除外) 闭包的作用: 闭包的最大特点是可以将父函数的变量与内部函数绑定,并返回绑定变量后的函数(也即闭包),此时即便生成闭包的环境(父函数)已经释放,闭包仍然存在,这个过程很像类(父函数)生成实例(闭包),不同

Effective Python 小笔记之 zip 函数

环境:Python 3.5.1 CentOS 7 zip函数可以同时遍历两个迭代器. 在编写Python代码时,通常要面对很多列表,而这些列表中的对象,可能是相互关联的.如下例:     names = ['Cecilia', 'Lily', 'Maria']     length = [len(word) for word in names] 对于上例中的源列表和派生列表,相同索引处有关联关系,以此再引申出一个例子:     longest_name = None     max_length

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

python 学习笔记 6 -- 异常处理

当你的程序中出现某些 异常的 状况的时候,异常就发生了.例如,当你想要读某个文件的时候,而那个文件不存在.或者在程序运行的时候,你不小心把它删除了. 那么如果你是在IDE中运行,一个错误发生,异常会被打引出来,这便是未处理异常:当异常发生时,如果没有代码去关注和处理它,这些异常会传给置在Python中的缺省处理,他会输出一些调试信息并且终止运行.如果是在IDE中,这不是什么大事,但是如果是Python程序运行中的异常,它会导致整个程序终止,对于这些情况可以使用异常来处理. 1.try..exce

python学习笔记[3]-邮件的发送

本文摘抄自:http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html 一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍:    1.smtplib模块 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])   SMTP类构造函数,表示与SMTP服务器之间的连接,通过这个连接可以向smtp服务器发送指令,执行

python自学笔记

python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 循环 6.使用dict和set 6.1 dict 6.2 set 7.函数的使用 7.1函数返回多个值,同时接受多个值 7.2函数参数的默认值 7.3可变参数的函数 7.4可变个数带参数名的入参 7.5参数类型组合 8.关于函数递归 9.python的高级特性 9.1切片 9.2遍历 9.3列表生

python 学习笔记 13 -- 常用的时间模块之time

Python 没有包含对应日期和时间的内置类型,不过提供了3个相应的模块,可以采用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包含一些函数用于获取时钟时间和处理器的运行时间,还提供了基本解析和字符串格式化工具 *    datetime 模块为日期.时间以及日期时间值提供一个更高层接口.datetime 中的类支持算术.比较和时区配置. *    calendar 模块可以创建周.月和年的格式化表示.它还可以用来计算重复事件.给定日期是星期几,以及其他基