1、打开pycharm,输入下面的代码:#!/usr/bin/python age = 25name = '李小绒'print)print)这个代码,定义了两个事物:age和name,而format的作用,就是在每一个语句后面,当一个“随身储物戒指”,而语句里面的{0}、{1}、{2}分别代表format里面的第一个事物、第二个事物、第三个事物上面代码的运行结果,就是:李小绒 今年 25 岁
2、运行下面的代码:#!/usr/bin/pytho i = 5 print i = i + 1 print s = '''第一行,第二行''' print 首先把i赋值为5,然后打印i,也就是打印目前i对应的值; 接着计算i+1,并把得到的新的数值赋予i,再次打印; 把一句话赋予s,然后打印s。第一行,第二行 注意,s后面的整个语句,用“三引号”来包裹的。
3、一个完整的语句,可以全写在同一行里面,所以上面的代码可以写为下面的形式:#!/usr/bin/pytho i = 5;print i = i + 1;print s = '''第一行, 第二行''';print 运行结果是一样的。但是这样写法的缺点是,整体代码看起来很混乱,不容易阅读。
4、不要随便缩进,否则就会运行出错:#!/usr/bin/pytho i = 5; print i = i + 1; print s = '''第一行, 第二行'''; print unexpected indent被百度翻译为——意想不到的缩进。
5、计算100的阶乘: n=100 sums=1 for i in range: sums=sumsi print
6、运行结果是:前100个整数的阶乘。然而我这里只需要求出100的阶乘:n=100 sums=1 for i in range: sums=sumsi print
王者之心2点击试玩
Python入门必备知识点
1、什么是Python 使用Pvthon的优缺点有哪些
Python是一种面向对象的解释性的交互式语言,带有对象、模块、线程、异常和内存自动管理的机制。使用Python的优点有:简单、易学、轻便可移植、可扩展、可读性具有多种内建数据类型、开源等等。使用Python的缺点有:运行速度慢,代码不能加密(解释性语言,发布python应用只能发布源代码,不像C发布编译后的应用文件)
2、什么是PEP 8
PEP8是一种编码规范,是一系列关于如何让Python代码更加具有可读性的编码建议。
3、什么是序列化和反序列化
序列化:将在内存中的变量转为可存储或传输的过程。应用JSON传输,序列化为统一格式ison反序列化:与序列化的过程相反Pickle模块允许我们将Python对象转换成一个string表示的信息,并且可以使用dump函数将其保存到一个文件中去,这样的过程称为序列化。而使用文件中保存的对象信息重构Python对象的过程称为反序列化。
4、Python是如何被解释执行的
Pvthon是一种解释型语言,它可以直接从源代码运行程序。程序员编写的源代码首先转变成一种中间语言代码,然后再被转换成能够直接执行的机器语言代码。
5Python是如何进行内存管理的
Python内存空间是以Python私有堆的形式进行管理的。所有的Python对象和数据结构都存放在一个私有堆中。解释器可以访问私有堆,而程序员不可以。将Pvthon堆空间中的内存分配给Pvthon对象的工作是由Python内存管理器完成的。而内核API则会提供给程序员一些相关的工具来完成涉及到内存的编码工作。
6能够找到程序中的bug进行静态分析的工具有哪些
Python还内置垃圾回收器,从而进行回收释放内存到堆空间能够找到程序中的bug进行静态分析的工具有哪些6、PyChecker是一种能够发现Python源代码中的bug并对其中的代码风格和复杂度进行警告的静态分析工具。另外一种工具是Pylint,它能够验证模块是否满足编码标准。
7、什么是Python装饰器
用来装饰一个函数从而使这个函数在不修改本身的函数定义外,动态产生额外的功能;装饰函数的入参为需要被装饰的函数。装饰器本质上是一个返回函数的高阶函数一个Python装饰器是我们在符合Python语法的同时又方便地对函数做的一些特定的修改。
8、列表、元组、集合、字典的区别是什么
列表:元素可变(任何数据类型),有序(可索引)append/insert/pop;元组:元素不可变但元素中的可变元素是可变的;有序(可索引);而且组可以被散列,例如作为字典的键。集合:无序(不可被索引)、互异字典:无序,键值对(key: value),key唯一不可重复
9、怎样理解字典和列表
它们是一种用来创建可变对象的语法结构,数据容器dic插入、查找速度比list快,不会随key的增加而增加,但list会随着元素的增加而增加(偏移量)
10、参数是如何通过值或者引用传递的
python中确切说应该是“传对象引用”的方式,引用对象传递。一切皆对象,参数皆引用如果函数收到的是一个可变对象(比如列表、字典)的引用,则可修改对象的原始值==相当于“引用传递”方式如果函数收到的是一个不可变对象(比如数字、字符、元组),就不能直接修改原始对象指向的值==相当于“值传递”方式。
Python办公自动化10个高频操作
遍历文件夹
批量操作的前提就是对文件夹进行遍历,使用S模块可以轻松的遍历文件夹,oswalk 遍历后产生三个参数:
1当前文件夹路径
2包含文件夹名称[列表形式]
3包含文件名称[列表形式
代码如下,大家可以根据自己的路径进行修改
当手上的需求明确有获取给定路径各级文件夹下所有符合条件的文件,并进行相应的批处理操作时即可使用oswalk
目标路径是否是文件
有时我们需要判断一个目录下是否存在文件也可以使用os模块。给定一个目标路径 path ,通过一行代码就能够判断这是文件还是文件夹路径
获取路径中的文件名川
ospathbasename 可以直接从绝对路径中获取最后的文件名,当然如果用传统的字符串切割方式也可以,即 pathsplit(”[-1]
创建文件夹四、创建文件夹的代码非常常用,因为往往生成的新文件都希望有个新的文件夹存储,代码如下:
但是,如果希望创建的文件夹已经存在,再运行osmkdir()则会报错而终止代码。为了避免这-情况的发生,可以在创建文件夹之前先判断文件夹是否存在。
用到的代码是ospathexists,只有当路径不存在 (即 ospathexists 返回的结果是 False时),才会创建
获取桌面路径
获取桌面路径也是非常常用的操作,可以使用ospathjoin(ospathexpanduser("~"),Desktop)获取桌面的绝对路径。这样做的好处是可以把数据放在桌面上,在不同的电脑上都能调用代码对数据进行处理。如果是在条电脑上把桌面路径固定在字符串中,则换一台电脑就必须修改桌面路径。代码如下
当然把上面的代码包装成一个函数GetDesktopPath) 需要时调用它会更加方便
重命名文件/文件央需要用到osrename()方法,下面的代码示例中分别演示如何重命名文件和文件夹
批处理文件 - 1除了前面的 oswalk 之外,有其他的 os 模块下方法可完成获取指定路径的全部或符合条件的文件(非遍历各级文件夹的需求),还可以使用下面两个代码第一种用到的方法是osscandir(),使用如下:
批处理文件 -
上面代码最后输出的是给定路径下各内容的名字、绝对路径第二种方法使用 oslistdir(),它比osscandir()简单一些,可直接调用输出名称而非路径:
移动文件/文件夹shutil也是经常出现在办公自动化场景中的模块我常用的就是移动文件/文件夹。需要用到shutilmove 方法,下面的代码示例中分别演示如何移动文件和文件夹
注意到上面后两行代码的区别吗
前一行是将目标文件移动到目标文件夹里,而后行,在将目标文件移动到目标文件夹里的同时,能够对其进行重命名也就是说,如果我们需要移动某个或某些文件到新的文件夹,并且需重命名文件,则我们并不需要用osrename先命名文件再用shutilmove 将其移动的指定文件夹,而是可以用shutilmove一步到位
批处理文件 -
最后要介绍的是glob模块,也是办公自动化必须要掌握的一个模块,同样可以用于批处理文件glob 最重要的功能就是搜索获取同一级或者各子级下符合条件的文件 (绝对路径) ,非常适合写批处理的代码。有时候我们需要对大量文件进行相同操作,在写完针对一份文件的操作后,只需要加上几行代码,就可以完成批处理全部文件的工作。大致代码框架如下
globglob()是一个非常重要的方法,能够获取给定路径下文件的绝对路径,并且接受通配符]搜索,大大拓宽了灵活程度, 表示任意字符长度,/的使用表示用通配符指代给定路径下的任何一层,recursive 参数允许遍历搜索。
欢迎分享,转载请注明来源:表白网
评论列表(0条)