Shawn's Blog

一个伪程序员的伪技术博客

0X00 创建一个类

Python也是一个和C++、Java一样的面向对象编程语言,所以Python里也有类和对象。

1
2
3
4
5
6
7
8
9
class Person:   #这是一个类
def sayHello(self): #这是一个方法
print 'hello,world'

def setName(self, inputName):
self.name = inputName

def getName(self):
return self.getName()

在类中创建的方法使用def关键字定义,每个方法有一个或以上的参数,selft就是实例化的对象自己。需要返回值就return一个,不需要就可以不写return

Python的类和Java的类还是有点区别,Java的类里主要写的是属性和方法,Python里不写属性,因为Java的变量需要定义而Python的变量并不需要定义,最多也就是在前面个各个属性一个变量名并赋初值

0X01 实例化一个对象

类是一个很抽象的概念,可以由类实例化好多个对象出来。Java中我们习惯说成 new一个对象,而Python中并不需要new

1
2
3
4
xiaoming = Person() #实例化了一个类
xiaoming.setName('xiaoming') #调用一个方法
print xiaoming.getName()
xiaoming.sayHello()

此段代码接着上面的类声明

阅读全文 »

0X00 什么是字典

字典,顾名思义就是通过一个条件可以找到相应的值,字典由Key-Value组成。像是下面这样创建一个字典
字典中的数据是没有顺序的,不像列表一样有顺序,在字典中是没有固定顺序的

1
2
3
4
5
6
7
8
9
>>> a = {'name':'xiaoming', 'sex':'F', 'age':22}  #直接创建一个字典
>>> print a
{'age': 22, 'name': 'xiaoming', 'sex': 'F'}
>>> print a['name']
xiaoming

>>> b = dict(name='xiaogang', sex='M', age=23) #通过dict函数创建一个字典
>>> print b['name']
xiaogang

下文说的Key就是键, Value就是值
Key-Value 就是键值对,一个键对应着一个值
Key的值是可以随意改变的,但是Key的类型是固定的不能改变
如果为一个不存在的键赋值,那么会自动添加这个K-V

阅读全文 »

0X00 列表和元组

Python里有个东西叫做序列,可以想象成一堆数据。可以简单的通过序列实现数组、链表、栈和队列等数据结构。
序列有几种,常见的是列表和元组。

0X01 序列分片

我们可以从序列中截取一部分,这种操作被称为分片
分片的时候我们可以选择起始点和结束点,还能选择步长,甚至乃能倒序
分片使用:分隔开参数,一般情况下有两个参数,截取第一个参数到第二个参数,左开右闭
如果参数是负数的话,则表示倒数第几个
但是可以接受第三个参数,第三个参数表示步长。如果第二个参数是2那么就是接一跳一。
如果参数为空则表示极限。 具体可以看下面的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> username = 'hello,world'
>>> print username[4:8] #截取从4到8,左开右闭
o,wo
>>> print username[4:-2] #截取4到倒数第4的参数,如果想要包括最后一个是不能用-1的,要用下面的方式
o,wor
>>> print username[2:] #截取包括最后一个的话不能用-1,因为-1是最后一个,然后区间是左开右闭,所有右边留空就表示极限了
llo,world
>>> print username[:] #两头取极限,就是完整的序列
hello,world
>>> print username[1:8:2] #演示步长,此处步长为2
el,o
>>> print username[8:0:-1] #当步长为-1的时候,就是从后向前的
row,olle
阅读全文 »

0X00 如何定义一个字符串

** Python不需要定义 ** 其实就是这样的。。在Python中的字符串通常这么写

1
2
3
>>> str1 = 'hello,world'
>>> str2 = "It's work"
>>> str3 = """ Jack:"oh shit" """

str1 的声明方式是最普通的声明方式
str2 的声明方式可以在字符串中存在单引号‘
str3 的声明方式可以在字符串中存在双引号 “ 还能在字符串中换行

0X01 拼接字符串

1
2
3
4
5
>>> str1 = "hello"
>>> str2 = ","
>>> str3 = "world"
>>> print str1 + str2 + str3
hello,world

注意:
连接的时候加号左右都要是字符串,如果是字符串加数字就不行了。除非把数字转成字符串格式

阅读全文 »

0X00 准备工作

1.一台海外或者香港的服务器/虚拟主机(后面统称VPS),要有独立IP
2.VPS的带宽和流量不能太小
3.一个连接VPS的软件,LInux/Mac可以用终端,Windows用户可以用XShell或者putty
4.VPS要使用Linux系统,Debian/Ubuntu/CentOS都行

开工之前最好有Linux适用基础
没有VPS的推荐一个购买地址,便宜好用banwagong
这个网站不是官网,但是起到了类似中文官网的作用,可以按照里面的推荐和教程去购买适合自己的VPS
VPS买回来不止可以干这个、配置高一点的话还可以搭建一个独立博客和一些其他的服务

0X01 简述工作原理

** 不通过伟大防火墙时 ** 我们访问某网站,流量从我们的机器一路跑到网站服务器,然后服务器响应数据再一路跑回来。
现在 ** 有了伟大的防火墙 ** 不让我们和某些网站交流了,我们可以搭一个 ** 梯子 ** ,让流量通过梯子。其实用 ** 镜子 ** 比喻会更好一点。
** 有了镜子 ** 之后,我们的流量一路跑到镜子那里,镜子替我们将流量一路跑到网站服务器,然后网站服务器将数据一路发送到镜子,镜子再转发给我们。
所以造成下面几个问题:
1.你终端(电脑、手机等设备)产生的数据流量(代理流量)都要从梯子那里经过,所以梯子也要走一份流量。
2.你的网速同时取决于 你的速度、VPS的速度、网站服务器的速度
3.你的延迟同时取决于 你到VPS的延迟,VPS到网站服务器的延迟

阅读全文 »
0%