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

2023-10-27

前言

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

1.总括:

  1. python的语法与javascript相似,均为解释执行语言。
  2. python可以使用如jython解释器,使得python可以在java虚拟机上运行。
  3. python具有面向对象的特性,同时又没有保护类型、接口、抽象等特性。
  4. 跨平台

2.语法:

  1. 大小写敏感,代码块使用tab键或者空格进行分割代码。
  2. 保留字:

    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. 变量不需要声明

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python学习第〇篇-主要概念及示例 的相关文章

随机推荐

  • Nexus因异常重启导致OrientDB数据库变为只读的问题修复

    文章目录 环境 问题描述 问题排查 解决步骤 环境 CentOS 7 6 Nexus 3 21 2 问题描述 装有Nexus的服务机在异常故障重启后 Nexus可以正常读取和拉取jar包 但尝试上传时报错 打开Nexus服务器上的日志文件发
  • 机器学习PCA——实验报告

    机器学习实验报告 实验报告pdf可在该网址下载 一 实验目的与要求 二 实验内容与方法 2 0 PCA算法学习与回顾 2 0 1 PCA推导的优化问题 2 0 2 优化问题的解 2 0 3 算法流程 2 1 人脸数据集 2 2 实验流程图
  • Qt—QPainter基本图形绘制详解

    QPainter描述 1 QPainter 类在小部件和其他绘制设备上执行低级绘制 2 QPainter 提供了高度优化的功能来完成大多数图形GUI程序所需的工作 它可以画从简单的线条到复杂的形状 它还可以绘制对齐的文本和像素图 QPain
  • sideeffects没配置css也还在,webpack4踩坑配置之sideEffects, 打包文件中没有css文件

    最开始先来讲一下sideEffects sideEffects sideEffects意为副作用 无副作用类似纯函数的概念 接受参数并返回值 不产生其他影响 这里的副作用针对模块 如果一个模块单纯的导入导出变量那就是无副作用的 如果还修改其
  • docker从安装到部署一个项目

    一 centos安装docker 参考博客 https blog csdn net m0 47010003 article details 127775185 1 设置一下下载Docker的镜像源 设置下载的镜像源为国内的阿里云 如果不设置
  • sqlilabs第五关

    文章目录 前言 一 二次注入 二 别的方法 三 sqlmap 前言 本来这篇博客前几天就准备写 奈何因为各种原因拖到了现在 然后参加ctf又白给 不说了 都是泪 流眼泪 jpg 如有错误希望各位师傅指正 拜托 jpg 一 二次注入 本次采用
  • iOS一键生成所有图标

    记录一个iOS开发一键生成图标的网站 https icon wuruihong com
  • CUDA性能优化系列——Kmeans算法调优(二)

    本篇介绍Kmeans算法中计算新的聚类中心部分 这部分主要逻辑 根据计算出的新的分类信息 对全部数据点依次对每个类别求出所属当前类别的数据点个数与坐标和 本质上就是进行规约运算 V1 Atomic实现全局规约 由于最终生成16个聚类中心 因
  • k-均值聚类Python代码实现

    k 均值聚类的简介可以参考 http blog csdn net fengbingchun article details 79276668 这里给出两种方式的k 均值实现 code主要来自于网络 1 以下code来自于 https mub
  • TensorFlow、PyTorch分布式训练

    要在两台主机之间使用分布式训练 您可以使用一些深度学习框架提供的工具和库来实现 这里以TensorFlow为例 介绍一下如何在两台主机之间使用分布式训练 首先 您需要安装TensorFlow和CUDA等相关软件 并确保两台主机都可以访问彼此
  • 基于nvJpeg编解码图片

    NvJpeg介绍 nvJPEG库为深度学习和超大规模多媒体应用程序中常用的图像格式提供了高性能 GPU加速的JPEG解码功能 该库提供单个和批处理JPEG解码功能 可有效利用可用GPU资源实现最佳性能 以及用户管理内存分配的灵活性需要解码
  • [转]QNX系统-基于高通骁龙SA8155平台,中科创达发布智能驾驶舱3.0解决方案

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 作为亚洲地区前
  • 百度云对象存储的图片转webp不展示图片的解决方案

    前言 百度云对象存储的图片 加上图片处理的参数后 像这种转webp格式的请求https xxxxxxxx cn xxxxxx jpg x bce process image format f webp 由于图片过大 导致请求超时了 提交了工
  • 测试用例优化和强化

    测试数据管理 1问题的提出 用例优化 2问题的提出
  • C1认证学习笔记(第二章)

    C1认证 二 web基础 语义化标签 任务目标 任务背景 常见的语义化标签 任务练习 表单标签 任务目标 任务背景 form标签 input 元素 label标签 select标签 button元素 任务练习 转义字符 任务目标 任务背景
  • Set排序

    工作中遇到 写了很久以前的写法 师兄给了很多建议 于是整理了一下 孔子曰 你知道茴香豆的茴字有几种写法吗 第一种 平常的写法 public class App public static void main String args Set
  • STM32中待机模式与看门狗的冲突问题

    最近在做刚刚入职的第一个STM32的项目 需要用到按键进入以及退出低功耗 待机模式 同时也要用到看门狗 排除进入低功耗待机模式的一些问题后加入看门狗 发现独立看门狗无法关闭 这样导致了待机模式无法进入 首先介绍一下STM32低功耗 按功耗由
  • Mac基于Aanconda PyCharm搭建Python开发环境

    基于Aanconda PyCharm搭建Python开发环境 Anaconda介绍 Anaconda指的是一个开源的Python发行版本 其包含了Python conda等180多个科学包及其依赖项 因为包含了大量的科学包 Anaconda
  • linux共享文件夹?

    linux共享文件夹 在Linux中 可以使用Samba或NFS等服务来共享文件夹 使用Samba共享文件夹 Samba是一种允许Windows和Linux之间共享文件和打印机的服务 以下是在Linux中使用Samba共享文件夹的步骤 安装
  • Python学习第〇篇-主要概念及示例

    前言 今天开始学习Python 争取每天一篇学习笔记 为保持与python风格一致 笔记中的语言尽量简洁 1 总括 python的语法与javascript相似 均为解释执行语言 python可以使用如jython解释器 使得python可