Python学习

来源:互联网 发布:本周重要财经数据 编辑:程序博客网 时间:2024/06/18 12:10

网上的Python教程很多,我看了不少,这里列一些我看了慕课网等一些资料后的记录整理。

这里整理的不是很好,有时间会重新按照顺序整理。

--------------------------------------------------------

* Python跨平台

  Python代码块不用{ }表示,而用缩进。同一个块中必须使用相同的缩进。 一般以新行作为语句的结束符

  Python有两个方向---(1).2.x 版本  2.7

                                    (2).3.x版本   3.3            不兼容

   因为很多第三方库不支持3.3,所以学习往往用2.7


*   语言              速度                   代码量                 编译

       C                非常快                非常多               机器码

     Java               快                        多                    字节码

     python            慢                        少                   解释执行--->保存成.py文件

     就像F1与公交的区别,关键还是网络速度和数据库读取操作


* 将python.exe所在的目录加到path中


* Django是一个有python写的开源web应用框架,只支持python到2.7 

   ORM,URL分时系统,MVC

* python比较重要的是搞清:序列,元祖,字典,集合等概念 以及 序列表达式,生成器表达式


* 多行显示 a='''......                     单行注释 #

                         ......

                         ......"

                   print a


* 变量的赋值操作即使声明+定义的过程  var1=1

                                                               del var1

                                                               print var1 ---报错


 Numbers     String        List [ ]      Tuple ( )      Dictionary { }

s='ilovepython'

s[头下标:尾下标]---从头下标一直取到尾下标的前一个,为空表示从头取到尾

“+”字符串连接运算符

 对list、tuple等进行切片:  L[ : ]--表示从头到尾

                                            L[::2]--表示每两个元素取一个

元祖Tuple不允许更新( , ,,)----但是我们可以对元祖进行连接tuple3=tuple1+tuple2

   序列List允许更新   [  ,  ,  ,]  ----List=[12,14,'as',34]


列表是有序的对象集合,通过偏移来存取

字典是无序的对象集合,通过来存取

字典的2中声明方式:

  1.dict={}

     dict['one']='this is one'

     dict['two']='this is two'

  2.dict2={'name':'john','code':6437,'dept':'sales'}

     dict2.keys()   #输出所有的键

     dict2.values()  #输出所有的值


10**2=100  9||2=4   

in/not in

a is b  -----id(a)==id(b)

zip()函数,range()函数


if 判断条件:

elif条件2:

.....

        else:....



for v in dict.itervalues():

for index,name  in  enumerate(L):--索引迭代

for letter in‘python’:                     #自动将‘python’当做char[]来看待

print ‘current letter’,letter   /   print ‘current letter’+letter-------------  ,空格     + 直接连



fruits=['apple','banana','pear']

for index i range(len(fruits)):

print 'fruit:'+fruits[index]


for num in range(10,20):

for i in range(2,num):                                                                 for 条件:

if num%i==0:                                                                                      ......

j=num/i                                                                                                break

print '%d equals %d*%d'%(num, i, j)                                         else:              #else语句在for语句正常执行完后执行

break                                                                                                   .....

else:                                                                                  

print '%d is a prime number'%num                      




print 'my name is %s and my age is %d'%('Gao',21)


L=['spam','Spam','SPAM!']

L[2]='SPAM!'

L[-2]='Spam'

len(list)  max(list)  min(list)  list(seq)  tuple(seq)

list.append(obj)   list.count(obj)     list.index(obj)    list.insert(obj)   list.reverse()    list.sort()



字典dict['key']

dict.clear()

del dict

dict.itervalues()

dict.values()---转成一个含value的list

dict.items()--转成一个含tuple的list,同时迭代key/value

dict.iteritems()   radiansdict.items()

str(dict)

一个键赋值2次会覆盖掉。


s=set([1,2,3])  set结果跟dictionary很像,只是没有value只有key,创建set的方式是调用set()并传入一个list

add(), remove()


struct_time元祖

不少python函数用一个元祖装起来的9组数字处理时间

time_year

       _mon

       _mday   一个月中的第几天

       _hour

       _min

       _sec

       _wday   一周中的周几

       _yday   一年中的第几天

       _isdist   夏时令

import time

localtime=time.loadtime(time.time())  ---time.time()为当前时间戳

localtime=time.asctime(time.loadtime(time.time()))


import calendar

cal=calendar.month(2008,1)   #打印2008年1月月历

print cal


import math

。。。。。



* def functionname(参数):

       '''函数文字说明'''

       函数

       return


def 函数名(*vartuple):

for var in vartuple:

print var

return


一个module模块只会别导入一次,这样可以防止一遍遍导入

from 模块名 import 函数名


python键盘读取: 1.raw_input("控制台提醒")---读取一行,并返回一个字符串

                               2.input(...)-----输入的是一个有效的python表达式,返回运算结果


file object=open(file_name,打开模式,buffering)

object.close()



* Class Employee:

'''类的说明'''

empCount=0

def _init_(self,name,salary):             #构造函数,self就是实例,就是this,只是this指针是隐式的

self.name=name                        #name和salary都是self的属性

self.salary=salary                       #调用函数的时候不必为self赋值,

Employee.empCount=1             #self只有在类的方法中才会有,独立的函数不必带self

def displayCount(self):              #self可以用其他的名称代替

print Employee.empCount

def displayEmployee(self):

print self.name,self.salary


     emp1=Employee("Zara",2000)


  Class 子类名(父类名):

构造函数要重写


0 0
原创粉丝点击