您的位置:首页 > 编程语言 > Python开发

Python学习第〇篇-主要概念及示例

2016-06-24 18:59 501 查看

前言

今天开始学习Python,争取每天一篇学习笔记。为保持与python风格一致,笔记中的语言尽量简洁。

1.总括:

python的语法与javascript相似,均为解释执行语言。

python可以使用如jython解释器,使得python可以在java虚拟机上运行。

python具有面向对象的特性,同时又没有保护类型、接口、抽象等特性。

跨平台

2.语法:

大小写敏感,代码块使用tab键或者空格进行分割代码。

保留字:

and           表达式运算,逻辑与
as            类型转换
asset         断言,判断变量或条件表达式是否为真
break         中断循环语句
class         定义类
continue      继续下一轮循环
def           定义函数/方法
del           删除变量或序列的值
elif          与if else结合使用
else          条件语句
except        except包含捕获异常后的操作代码块,与try、finally结合使用
exec          执行python语句
for           for循环
finally       异常后始终要执行的语句
from          用于导入模块,与import结合使用
global        定义全局变量
if            条件语句
import        用于导入模块,与from结合使用
in            判断变量是否在序列中
is            判断变量是否是某个类的实例
lambda        匿名定义函数
not           逻辑非
or            逻辑或
pass          空的类、方法或函数的占位符
print         打印语句(3.0版本以上使用print())
raise         异常抛出操作
return        函数返回结算结果
try           包含可能出异常的代码,与except、finally结合使用
while         循环语句
with          简化python的语句
yield         从函数依次返回值


变量不需要声明

强类型语言,变量赋值后即确定了数据类型。

3. 实践

1.打印keyword

>>> from keyword import kwlist
>>> print(kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']


2.执行一个py文件。

2.1. 将python.exe所在目录路径加入环境变量。

2.2. 新建文件helloworld.py,内容:

if __name__ == "__main__":
print("hello world")


2.3. cmd下,输入python 路径\helloworld.py

2.4. 输出:hello world

2.5. 说明:

2.5.1. 函数是按照缩进来确定范围的,定义的函数中可以有空行。

2.5.2. if name == “main“:为python中的主函数,相当于C语言中的main()

2.5.3. 如果不添加主函数,那么此处print()函数需要定格写。

2.5.4. 需要保持缩进的统一,如缩进都是空格,需要均使用空格,如果都是tab,则均使用tab

源码阅读:

这是Github上一个关于使用python脚本删除android系统中apk的程序,其功能包含:列举/删除apk。所有源码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

# 引入os包
import os;

# 删除所有你指定包名的 APP
# 定义函数
def delAllapp( ):
# 打印,3.x版本使用print()函数进行打印
print 'start delete all your app in your Phone or Simulator '
# popen是os的一个函数,其“返回值”是一个打开的文件对象,该文件对象里面是系统命令的“输出”
os.popen('adb wait-for-device');
# 3.x版本的raw_input()函数已经取消了,需要使用input()函数
corename = raw_input("input your app package corename:")
oriPackages = os.popen('adb shell pm list packages {name}'.format(name=corename));

for oriPackage in oriPackages:

deletePackage = oriPackage.split(':')[1]
os.popen('adb uninstall ' + deletePackage );
print deletePackage + "is deleted"

# 删除所有你指定包名的特定 APP
def listAllpackage( ):

i = 0
os.popen('adb wait-for-device');
corename = raw_input("input your app package corename:")
oriPackages = os.popen('adb shell pm list packages {name}'.format(name=corename));

for oriPackage in oriPackages:

deletePackage = oriPackage.split(':')[1]
print str(i) + ":" + deletePackage
deleteList.append(deletePackage)
i += 1

def deleteApp(number):
os.popen('adb uninstall ' + deleteList[number] );
print 'delete '+ deleteList[number] + "success"

#主函数程序入口
if __name__ == '__main__':

delAllapp()
```
another fun here
```
#deleteList = []
#listAllpackage()
#number = raw_input("input the number of app you want to delete:")
#deleteApp(int(number))


整个文件围绕着os.popen()函数展开,通过接受用户输入以及用户输出,达到删除某一/多个app的目的。

参考:

《Python开发技术详解》

https://github.com/wuchangfeng/Automatic-unistall-App
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: