python

语句不加分号
文件后缀py,可直接双击运行
书写格式属于语法的一部分,没有大括号,缩进就是下一级(一个空格也为缩进)
在IDEL新建的程序窗口 程序可保存后直接按F5运行
单行注释 #注释

打印方法
    print ("abc")
    print ("abc","123")

变量声明
    s = "abc"

数组
    arr = ["abc","1234","7890"]

可使用下标访问字符串和数组
    word=['a','b','c','d','e','f','g']
    a=word[2]       #c
    b=word[1:3]     #['b', 'c']
    c=word[:2]      #['a', 'b']
    d=word[0:]      #['a', 'b', 'c', 'd', 'e', 'f', 'g']
    f=word[-1]      #g
    g=word[-4:-2]   #['d', 'e']
    h=word[-2:]     #['f', 'g']
    i=word[:-2]     #['a', 'b', 'c', 'd', 'e']
    l=len(word)     #7
    
使用append方法为数组添加元素
    word.append('h')

类型转换
    int("abc")
    str(1)

判断
    x = -1
    if x<0:
        x=0
        print ("x<0")
    elif x==0:
        print ("x==0")
    else:
        print ("x>0")
    注意:缩进属于语法的一部分,一个空格也算缩进,即认为是下一级,所以行数不该有的空格一个也不能有

循环
    可用来遍历数组或字符串
    a = ['cat', 'window', 'defenestrate']
    for x in a:
        print (x, len(x))

方法
    定义
        def 方法名称(参数列表):
            方法体,使用return返回值
    调用
        返回值 = 方法名称(参数列表);
    例
        def sum(a,b):
            return a+b
        
        r = sum(5,6)
        print (r)
    函数可以存储在变量,例
        def sum(a,b):
            return a+b

        func = sum
        r = func(5,6)
        print (r)
    函数形参可以设置默认值
        def add(a,b=2):
            return a+b
        r=add(1)
        print (r)
        r=add(1,5)
        print (r)

异常示例
    s=""
    if s =="":
        raise Exception("Input must no be empty.")

    try:
        i=int(s)
    except Exception as e:
        print "Could not convert data to an integer."
    else:
        print "You are %d" % i," years old"
    finally:
        print "Goodbye!"

导入其他文件
    在文件最开始 # 文件
    例: # a.py
    
导入其他模块
    模块其实就是一些函数和类的集合文件,用import来导入相应的模块。要写在文件最开始
    例 
        import codecs
        import os
        import sys

接收外部参数
    如 cmd--> python d:/aaa.py abc
    sys.argv[0] = d:/aaa.py
    sys.argv[1] = abc

读写文件示例
    读
        spath="D:/test/python/a.txt"
        f=open(spath,"r")
        for line in f:
            print (line)
        f.close()
    写
        import codecs
        spath="D:/test/python/a.txt"
        f = codecs.open(spath, "w", "utf-8")
        f.write("abc")
        f.close()

发送http请求(post)
    import urllib
    import urllib2
    queryUrl = "www.baidu.com"
    test_data = {'name':'张三','age':'18'}
    test_data_urlencode = urllib.urlencode(test_data)
    req = urllib2.Request(url = queryUrl,data =test_data_urlencode)
    res_data = urllib2.urlopen(req)
    returnVal = res_data.read()

有乱码可以试试
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')

类
    class Base:
        def __init__(self):
            print (self)
            self.data = []
        def add(self, x):
            self.data.append(x)
        def addtwice(self, x):
            self.add(x)
            self.add(x)

    # Child extends Base
    class Child(Base):
        def plus(self,a,b):
            return a+b

    oChild =Child()
    oChild.add("str1")
    print (oChild)
    print (oChild.data)
    print (oChild.plus(2,3))
    
    __init__方法是一个很特殊的方法,对象创建时自动调用,并将当前对象传入
    类中的方法的第一个参数都是调用方法的对象,在调用时不用传入
    

包(资料)
    module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个module a.py . 如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为_init_.py 的文件.该文件内容可以为空.这个层次结构如下所示: 
        parent 
          --__init_.py
          --child
            -- __init_.py
            --a.py

        b.py
    那么Python如何找到我们定义的module?在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:
        import sys
        print sys.path
    通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path 中:
        import sys
        sys.path.append('D:\\download')
        
        from parent.child.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)







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值