前言
网络上有许多的语言,那么最容易上手的是什么呢?我认为是Python,用几个小时小白也能学会,而且,Python是一种很好的工具,编写起来十分简单,达到目的的效果快,比如一些的网络安全大赛的解题很多都是使用的Python,大学生,如果平时没事,写写Python脚本,抢抢课,签签到,你还在睡懒觉,别人没抢到,你啥都做完了。所以,Python是一种神奇的存在。(本教程为Python2脚本)
基础语法
Python的语法十分简单,易于维护。下面展示我的第一个Python脚本。
1 | >>> print ("Hello, Python!") |
只需要在交互式命令窗口输入命令运行即可。看到结果是否很兴奋。
一行代码
Python 可以同一行显示多条语句,方法是用分号 ; 分开
1 | >>> print ('hello');print ('python'); |
保留关键词
Python有的词不能作为变量名,被Python保留了下来,它们是
| 保留的 | 关键词 | 不能用 |
|---|---|---|
| and | exec | not |
| assert | finally | or |
| break | for | pass |
| class | from | |
| continue | global | raise |
| def | if | return |
| del | import | try |
| elif | in | while |
| else | is | with |
| except | lambda | yield |
缩进
Python和其他语言的最大区别是不用{}包围代码块,而是用严格的缩进要求的,比如
1 | if True: |
就是代码必须保证它的空格数相同。否则会报错
1 | if True: |
以上的代码会报错,最后一个print没有严格的缩进空格,以后大家注意点就行。
一句多行
如果是多行的代码,可以使用反斜杠连接,如
1 | a = b + \\ |
语句中包含()[]{}就不需要\连接。
1 | numbers = [1 ,2 ,3 , 4 ,5 , |
注释
Python的注释采用#,’’’,”””进行注释
1 | print('Hi Python') #我是注释,不会被执行 |
中文处理
如果Python脚本遇到中文,程序会报错,需要在文件开头声明编码
1 | # -*- coding: UTF-8 -*- |
等待用户输入
在Python中\n表示换行,raw_input函数,等待用户输入,然后按下enter退出。
1 | raw_input("按下 enter 键退出,其他任意键显示...\n") |
print函数
1 | x="a" |
结果是
1 | a |
变量类型
Python也有变量,也要类型,不过编写简单。也是采用”变量名=变量值”的方式,就是将变量值赋值给变量名。
Python标准变量有以下类型
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
赋值变量
单个赋值
1 | a = 1 #这是整型 |
多个赋值
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 | a = 1 |
del可以删除对象的引用。
1 | del a |
数字有四种类型
- 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 | a = '我是字符串' |
结果
1 | 是字 |
其他例子
1 | str = 'Hello World!' |
输出结果
1 | Hello World! |
列表
列表使用[]包围,索引类似于Python字符串,从左到右为0至+∞,从左往右为-1到-∞,支持[头下标:尾下标]用法。并且支持运算*和+
1 | a = ['一','二','三','四','五'] #这里定义了一个列表 |
运行结果
1 | ['一','二','三','四','五'] |
元组
和列表用法相似,是使用()包围,最大不同是,列表元素可修改,而元组不可修改。
1 | a = (1,2,3,4) #我是一个元组 |
字典
字典,听其名,便可以知道其高级,能够应用查阅。使用{}定义
1 | a ={} #定义一个空字典 |
结果如下
1 | {"she":"she is girl","he":"he is boy"} |
数据的类型是可以转换的
| 函数 | 描述 |
|---|---|
| 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) | 将一个整数转换为一个八进制字符串 |
| 以上函数可以返回一个新对象,作为转换后的值。 |
更多相关信息可以了解
- Python中文文档Python2.7版 入门指南
- Python官方文档https://www.python.org/doc/
- Python 官网 https://www.python.org