• 前言

    网络上有许多的语言,那么最容易上手的是什么呢?我认为是Python,用几个小时小白也能学会,而且,Python是一种很好的工具,编写起来十分简单,达到目的的效果快,比如一些的网络安全大赛的解题很多都是使用的Python,大学生,如果平时没事,写写Python脚本,抢抢课,签签到,你还在睡懒觉,别人没抢到,你啥都做完了。所以,Python是一种神奇的存在。(本教程为Python2脚本)

    基础语法

    Python的语法十分简单,易于维护。下面展示我的第一个Python脚本。

    1
    >>> print ("Hello, Python!")

    只需要在交互式命令窗口输入命令运行即可。看到结果是否很兴奋。

    一行代码

    Python 可以同一行显示多条语句,方法是用分号 ; 分开

    1
    2
    3
    >>> print ('hello');print ('python');
    hello
    python

    保留关键词

    Python有的词不能作为变量名,被Python保留了下来,它们是

    保留的 关键词 不能用
    and exec not
    assert finally or
    break for pass
    class from print
    continue global raise
    def if return
    del import try
    elif in while
    else is with
    except lambda yield

    缩进

    Python和其他语言的最大区别是不用{}包围代码块,而是用严格的缩进要求的,比如

    1
    2
    3
    4
    if True:
    print ("True")
    else:
    print ("False")

    就是代码必须保证它的空格数相同。否则会报错

    1
    2
    3
    4
    5
    if True:
    print ("True")
    else:
    print ("False")
    print('other')

    以上的代码会报错,最后一个print没有严格的缩进空格,以后大家注意点就行。

    一句多行

    如果是多行的代码,可以使用反斜杠连接,如

    1
    2
    3
    a = b + \\
    c + \\
    d

    语句中包含()[]{}就不需要\连接。

    1
    2
    numbers = [1 ,2 ,3 , 4 ,5 ,
    6 ,7 ,8 ,9 ]

    注释

    Python的注释采用#,’’’,”””进行注释

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    print('Hi Python')  #我是注释,不会被执行
    '''
    我们是多行注释
    注释
    注释
    '''
    print('ha ha')
    """
    我们也是多行注释
    注释
    注释
    """

    中文处理

    如果Python脚本遇到中文,程序会报错,需要在文件开头声明编码

    1
    2
    # -*- coding: UTF-8 -*-
    print('哈哈')

    等待用户输入

    在Python中\n表示换行,raw_input函数,等待用户输入,然后按下enter退出。

    1
    raw_input("按下 enter 键退出,其他任意键显示...\n")

    print函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    x="a"
    y="b"
    # 换行输出
    print x
    print y

    print '---------'
    # 不换行输出
    print x,
    print y,

    # 不换行输出
    print x,y

    结果是

    1
    2
    3
    4
    a 
    b
    -------
    a b a b

    变量类型

    Python也有变量,也要类型,不过编写简单。也是采用”变量名=变量值”的方式,就是将变量值赋值给变量名。
    Python标准变量有以下类型

    • Numbers(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Dictionary(字典)

    赋值变量

    单个赋值

    1
    2
    3
    a = 1 #这是整型
    b = 2.0 #浮点
    c = "3" #字符串

    多个赋值

    1
    a = b = c = 1

    a,b,c都被赋值为了1

    1
    a , b , c = 1 , 2.0 , "ha ha"

    a,b,c分别被赋值为了整型1,浮点2.0,字符串ha ha

    数字

    数字赋值时,number对象会被创建

    1
    2
    3
    a = 1
    b = 2
    c = 3

    del可以删除对象的引用。

    1
    2
    del a
    del b , c

    数字有四种类型

    • int(有符号整型)
    • long(长整型,也可以代表八进制和十六进制)
    • float(浮点型)
    • complex(复数)

    实例

    int long float complex
    10 51924361L 0.0 3.14j
    100 -0x19323L 15.20 45.j
    -786 0122L -21.9 9.322e-36j
    080 0xDEFABCECBDAECBFBAEl 32.3e+18 .876j
    -0490 535633629843L -90. -.6545+0J
    -0x260 -052318172735L -32.54e100 3e+26J
    0x69 -4721885298529L 70.2E-12 4.53e-7j

    注意:long 类型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。在 Python3.X 版本中 long 类型被移除,使用 int 替代

    字符串

    字符串就是字母,数字,或者其他字符组成的一串文字。

    1
    a = "我是字符串"

    其中,它们的下标对应关系

    0 1 2 3 4
    -5 -4 -3 -2 -1

    可以通过下标访问字符串。比如语法[头下标:尾下标],但是“有头无尾”,就是包括下标头,不包括下标尾。

    1
    2
    3
    a = '我是字符串'
    b = a[1:3]
    print(b)

    结果

    1
    是字

    其他例子

    1
    2
    3
    4
    5
    6
    7
    8
    str = 'Hello World!'

    print str # 输出完整字符串
    print str[0] # 输出字符串中的第一个字符
    print str[2:5] # 输出字符串中第三个至第六个之间的字符串
    print str[2:] # 输出从第三个字符开始的字符串
    print str * 2 # 输出字符串两次
    print str + "TEST" # 输出连接的字符串

    输出结果

    1
    2
    3
    4
    5
    6
    Hello World!
    H
    llo
    llo World!
    Hello World!Hello World!
    Hello World!TEST

    列表

    列表使用[]包围,索引类似于Python字符串,从左到右为0至+∞,从左往右为-1到-∞,支持[头下标:尾下标]用法。并且支持运算*和+

    1
    2
    3
    4
    5
    6
    7
    8
    a = ['一','二','三','四','五']  #这里定义了一个列表
    b =[5,2.5,155] #这也是一个列表
    print a # 输出完整列表
    print a[0] # 输出列表的第一个元素
    print a[1:3] # 输出第二个至第三个元素
    print a[2:] # 输出从第三个开始至列表末尾的所有元素
    print a * 2 # 输出列表两次
    print a + b # 打印组合的列表

    运行结果

    1
    2
    3
    4
    5
    6
    ['一','二','三','四','五']

    ["二","三"]
    ['三','四','五']
    ['一','二','三','四','五','一','二','三','四','五']
    ['一','二','三','四','五',5,2.5,155]

    元组

    和列表用法相似,是使用()包围,最大不同是,列表元素可修改,而元组不可修改。

    1
    2
    3
    4
    5
    a = (1,2,3,4) #我是一个元组
    b = [1,2,3,4] #我是一个列表
    print a[0],b[0] #输出1 1
    a[0]=100 #a是元组,不能修改,会报错
    b[0]=100 #b是列表,正常修改为[100,2,3,4]

    字典

    字典,听其名,便可以知道其高级,能够应用查阅。使用{}定义

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    a ={} #定义一个空字典
    a["she"]="she is girl"
    a["he"]="he is boy"

    b={"你":"you","我":"I","他":555}

    print a #输出a字典
    print b['你'] 在b字典中查询'你'的值
    print b.keys() #输出所有键,列表
    print b.values() #输出所有值,列表

    结果如下

    1
    2
    3
    4
    {"she":"she is girl","he":"he is boy"}
    you
    ["你","我","他"]
    ["you","I",555]

    数据的类型是可以转换的

    函数 描述
    int(x [,base]) 将x转换为一个整数
    long(x [,base] ) 将x转换为一个长整数
    float(x) 将x转换到一个浮点数
    complex(real [,imag]) 创建一个复数
    str(x) 将对象 x 转换为字符串
    repr(x) 将对象 x 转换为表达式字符串
    eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s) 将序列 s 转换为一个元组
    list(s) 将序列 s 转换为一个列表
    set(s) 转换为可变集合
    dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
    frozenset(s) 转换为不可变集合
    chr(x) 将一个整数转换为一个字符
    unichr(x) 将一个整数转换为Unicode字符
    ord(x) 将一个字符转换为它的整数值
    hex(x) 将一个整数转换为一个十六进制字符串
    oct(x) 将一个整数转换为一个八进制字符串
    以上函数可以返回一个新对象,作为转换后的值。

    更多相关信息可以了解

    上一篇:
    C语言对数组指针的理解
    下一篇:
    Android的java运行方案
    本文目录
    本文目录