|
目标:主要研究例如梦幻西游全自动脚本类似的回合制游戏
主要找志同道合的开发者制作整理相关模块
一、Auto.js、火山安卓、按键精灵?
主要是火山安卓开发平台点击、滑动、识别相关模块整理制作
二、如果你是开发者感兴趣的话
组队开发请加vx:yeyunhuo
一、Python介绍 |
Python创始人Gudo van Rossum
Python能干什么?
总之听说很牛逼!我就喜欢牛逼的!
Python是高级语言、解释型语言、动态语言、强类型定义语言。
Python解释器有CPython、IPython、PyPy、Jython、IronPython,Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
什么是高级语言?
高级语言是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行,一条高级语言的语句往往需要若干条机器指令来完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。那具体的说,要将高级语言编译到什么程度呢,这又跟编译的技术有关了,既可以编译成直接可执行的目标代码,也可以编译成一种中间表示,然后拿到不同的机器和系统上去执行,这种情况通常又需要支撑环境,比如解释器或虚拟机的支持,Java程序编译成bytecode,再由不同平台上的虚拟机执行就是很好的例子。所以,说高级语言不依赖于机器,是指在不同的机器或平台上高级语言的程序本身不变,而通过编译器编译得到的目标代码去适应不同的机器。从这个意义上来说,通过交叉汇编,一些汇编程序也可以获得不同机器之间的可移植性,但这种途径获得的移植性远远不如高级语言来的方便和实用性大。
什么是解释型语言?
解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。
什么是动态语言?
动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
什么是强类型定义语言?
强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
CPython解释器?
当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython解释器?
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy解释器?
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython解释器?
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython解释器?
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
| 二、Python安装 |
windows
1、下载安装包
https://www.python.org/downloads/
2、安装
默认安装路径:C:\python27
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号
| 三、Hello World神圣仪式or变量\字符编码 |
什么是变量?
变量是用来存储信息的被引用,在计算机程序控制。它们还提供了一种用描述性名称对数据进行标记的方法,这样我们的程序就可以更清楚地被读者和我们自己理解。把变量看作容纳信息的容器是有帮助的。他们唯一的目的是在内存中标记和存储数据。然后可以在整个程序中使用这些数据。
Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.
声明变量代码声明一个变量,变量名为:name,变量name的值为:"sugar gourd"
变量定义的规则:
- 变量名只能是字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- [\'and\', \'as\', \'assert\', \'break\', \'class\', \'continue\', \'def\', \'del\', \'elif\', \'else\', \'except\', \'exec\', \'finally\', \'for\', \'from\', \'global\', \'if\', \'import\', \'in\', \'is\', \'lambda\', \'not\', \'or\', \'pass\', \'print\', \'raise\', \'return\', \'try\', \'while\', \'with\', \'yield\']
- 常量开头字母大写
变量的赋值:
什么是字符编码?
计算机底层是电路,高低电平表示0,1两种状态,0,1各种组合表示各种信息,最牛逼的字符编码是UTF-8(统一码、万国码),自从电脑用UTF-8它娘的再也不用担心电脑乱码了;
ASCII码最多只能表示255个字符
1980年gb2312最多只能表示7445字符
1995年GBK最多只能表示2W+字符
2000年GB18030最多只能表示2.7w+字符
Unicode 占用空间2bytes;UTF-8英文空间占用1bytes.中文空间占用3bytes;
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
显然ASCII码无法将世界上各种文字和符号全部表示,所以新出可以代表所有字符和符号的编码,即Unicode。它的升级版是UTF-8。
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)如果乱码更改为UTF-8即可。
#、\'\'、""这些符号干什么的?
当行注释 :#被注释内容;多行注释:“”被注释内容“”
| 四、用户输入 |
1 username = input("username:") 2 password = input("password:") 3 print(username,password)
1 name = input("name:") 2 age = input("age:") 3 job = input("job:") 4 salary = input("salary:") 5 info = \'\'\' 6 --------info of \'\'\' + name + \'\'\' -------- 7 Name:\'\'\' + name + \'\'\' 8 Age:\'\'\' + age + \'\'\' 9 Job:\'\'\' + job + \'\'\' 10 salary:\'\'\' + salary + \'\'\' 11 \'\'\' 12 print(info)
1 # %s string 字符串 2 # %d digit 数字 3 # %f floating point 浮点 4 name = input("name:") 5 age = int(input("age:")) # integer 整数 6 print(type(age), type(str(age))) # 数值类型转换 7 job = input("job:") 8 salary = int(input("salary")) # integer整数 9 info =\'\'\' 10 --------info of %s-------- 11 Name:%s 12 Age:%d 13 Job:%s 14 Salary:%d 15 \'\'\' % (name, name, age, job, salary) 16 print(info)
1 name = input("name:") 2 age = int(input("age:")) # integer 整数 3 print(type(age), type(str(age))) # 数值类型转换 4 job = input("job:") 5 salary = int(input("salary:")) # integer 整数 6 info2 = \'\'\' 7 --------info of {_name}-------- 8 Name:{_name} 9 Age:{_age} 10 Job:{_job} 11 Salary:{_salary} 12 \'\'\' .format(_name=name, _age=age, _job=job, _salary=salary) 13 print(info2)
1 name = input("name:") 2 age = int(input("age:")) # integer 整数 3 print(type(age), type(str(age))) # 数值类型转换 4 job = input("job:") 5 salary = int(input("salary:")) # integer 整数 6 info3 = \'\'\' 7 --------info of {0}-------- 8 Name:{0} 9 Age:{1} 10 Job:{2} 11 Salary:{3} 12 \'\'\' .format(name, name, age, job, salary) 13 print(info3)
getpass模块调用,功能输入密码不可见。
1 # 输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即: 2 import getpass 3 username = input("username:") 4 password = getpass.getpass("password:") 5 print(username, password)
if,else流程判断。
1 # 输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即: 2 # import getpass 3 username = input("username:") 4 password = input("password:") 5 # password = import.getpass("password:") 6 print(username, password) 7 if username == username and password == password: 8 print("Welcome user {name} login...".format(name=username)) 9 else: 10 print("Invalid username or password!")
1 # -*- coding : utf-8 -*- 2 # Author:sugar gourd 3 age_of_sugar = 22 4 guess_age = int(input("guess age:")) 5 if guess_age==age_of_sugar: 6 print("yes,you got it.") 7 elif guess_age > age_of_sugar: 8 print("think bigger...") 9 else: 10 print("think smaller...")
while循环
1 # -*- coding : utf-8 -*- 2 # Author:sugar gourd 3 count = 0 4 while True: 5 print("count:", count) 6 count = count + 1
1 # Author:sugar gourd 2 age_of_sugar = 22 3 while True: 4 guess_age = int(input("guess age:")) 5 if guess_age == age_of_sugar: 6 print("yes,you got it.") 7 break # 打断 8 elif guess_age > age_of_sugar: 9 print("think bigger...") 10 else: 11 print("think smaller...") 12
1 # Author:sugar gourd 2 age_of_sugar = 22 3 count = 0 4 while True: 5 if count == 3: # 判断 6 break 7 guess_age = int(input("guess age:")) 8 if guess_age == age_of_sugar: 9 print("yes,you got it.") 10 break # 打断 11 elif guess_age > age_of_sugar: 12 print("think bigger...") 13 else: 14 print("think smaller...") 15 count += 1 # 计数
1 # Author:sugar gourd 2 age_of_sugar = 22 3 count = 0 4 while count < 3: # 当count小于3执行 5 guess_age = int(input("guess age:")) 6 if guess_age == age_of_sugar: 7 print("yes,you got it.") 8 break # 打断 9 elif guess_age > age_of_sugar: 10 print("think bigger...") 11 else: 12 print("think smaller...") 13 count += 1 # 计数 14 else: 15 print("you have tried too many times..")
while循环优化版本
1 # Author:sugar gourd 2 for i in range(0, 10, 2): # i 临时变量 2是步长默认是1 3 print("loop", i)
1 # Author:sugar gourd 2 age_of_sugar = 22 3 count = 0 4 while count < 3: # 当count小于3执行 5 guess_age = int(input("guess age:")) 6 if guess_age == age_of_sugar: 7 print("yes,you got it.") 8 break # 打断 9 elif guess_age > age_of_sugar: 10 print("think bigger...") 11 else: 12 print("think smaller...") 13 count += 1 # 计数 14 if count == 3: 15 continue_confirm = input("do you want to keep guessing..?") 16 if continue_confirm != \'n\': # ! 不等于 17 count = 0
for循环
1 # Author:sugar gourd 2 for i in range(0, 10): 3 if i < 3: 4 print("loop", i) 5 else: 6 continue # continue跳出本次循环继续下个循环 break结束整个循环 7 print("hehe...")
1 # Author:sugar gourd 2 for i in range(10): # 循环套循环 3 print(\'--------\', i) 4 for j in range(10): 5 print(j) 6 if j > 5: 7 break