Python学习第〇篇-主要概念及示例
Posted carbs_wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习第〇篇-主要概念及示例相关的知识,希望对你有一定的参考价值。
前言
今天开始学习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
以上是关于Python学习第〇篇-主要概念及示例的主要内容,如果未能解决你的问题,请参考以下文章