Python自动化开发学习1-2

简介:

模块

Python有他有非常丰富的标准库和第三方库。使用前要先用import命令导入,然后才能在之后的代码中调用。

sys 模块

1
2
import  sys
print (sys.path)   # 打印环境变量

结果输出的是一串目录列表,是python运行的环境变量。Python导入的时候会依次在这些目录中查找。

不过其中并没有sys.py这个文件。搜索了一下,sys模块对外没有.py文件,它是内置于解释器中的,并且是用C语言写的。

sys模块的一个重要的用法

1
2
import  sys
print (sys.argv)

需要在系统中,在文件名后带上参数执行。

$ python test.py 123 abc

会依次输出执行文件的目录,然后是执行时的所有参数(字符串),如下

['test.py', '123', 'abc']

os 模块

1
2
3
import  os
=  os.system( "dir" )   # 调用系统命令
print ( "-->\n" ,a)

这里以Windows系统中的dir命令为例。执行后输出了执行结果,不过变量a中的内容只有0,表示命令执行成功。如果命令执行错误,结果会是1。

如果需要将命令执行的结果保存到变量中,需要这样:

1
2
3
import  os
=  os.popen( "dir" ).read()
print ( "-->\n" ,a)

os.system只是执行命令,将执行结果保存,仅仅只在屏幕输出反馈,没有记录,所以我们也无法根于反馈信息做任何处理。

os.popen是将执行的反馈都保存下来了,但是并不能直接输出,输出的应该是内存地址。上面还用了read方法才将里面的内容取了出来。

os.mkdir("目录名")还可以创建目录

最后,自己写的代码保存为py文件后,也可以在别的地方使用import导入。注意放到环境变量的目录中,或者修改环境变量(这个没讲)。可以放到和执行文件同一个目录中,执行文件的目录也在环境变量中。

数据类型

数字和字符串没太大问题。数字中的复数a+bj。python里用的是j,以前学校里学的时候用的是i。好吧,关于复数基本都忘记光了,貌似也想不到什么需要应用到的场景。

负数的平方根也忘记有什么用了。而且math模块也不支持复数。要支持复数的计算需要cmath模块。具体就不试了。

数据运算

简单的就略过了

成员运算

in 和 not in。是否在指定的序列中。

1
2
3
4
5
=  [ 1 , 2 , 3 , 4 ]
print ( 1  in  a)
print ( 5  in  a)
print ( 1  not  in  a)
print ( 5  not  in  a)

身份运算

is 和 is not。是否是相同的对象。一般用来判断数据类型。

1
2
3
4
5
6
7
8
=  [ 1 , 2 , 3 , 4 ]
=  "hello"
print ( type (a))
print ( type (a)  is  list )
print ( type (a)  is  str )
print ( type (b))
print ( type (b)  is  not  list )
print ( type (b)  is  not  str )

位运算

&,|,^,~,<<,>>。这些。主要是二进制的计算。算IP地址的时候应该会用到。

1
2
=  3   # 0b11
print (~a& 0xff )   # 限制在255(0xff)之内取反

0000 0000 0000 0011 取反是 [1]111 1111 1111 1100 第一个是符号位,所以直接取反是负数。这里&0xff后把高位的负号(第一个1)和其他1都变成了0,结果就是0000 0000 1111 1100即252。算掩码的时候应该能用。

三元运算

先补一下if的简写。如果判断条件之后只跟一句可以简写在一行里。

1
if  True print ( "Hello" )

用三元运算赋值或运算

1
2
3
=  1  if  True  else  2
=  3  if  False  else  4
print (a,b)
1
2
print ( "a" if  True  else  print ( "b" )
print ( 1 if  False  else  print ( 2 )

试了一下使用逻辑运算and和or也能实现,不过不推荐。像下面这种情况空字符串会被判定为False,而不是我们想要得到的空字符串。

1
2
3
4
5
6
=  " " if True else " 你看不见我a"
=  " " and True or " 你看不见我b"
=  True  and  " " or " 你看不见我c"
print ( "a" ,a)
print ( "b" ,b)
print ( "c" ,c)

所以使用官方提供的三元运算还是有道理的。另外试了一下,还可以一直嵌套下去

1
2
3
4
print ( 'a' if  1  else  print ( 'b' if  1  else  print ( 'c' )
print ( 'a' if  0  else  print ( 'b' if  1  else  print ( 'c' )
print ( 'a' if  0  else  print ( 'b' if  0  else  print ( 'c' )
print ( 'a' if  0  else  print ( 'b' if  0  else  print ( 'c' if  0  else  print ( 'd' )

二进制数据bytes

pathon3里将字符串和二进制类型区分开了。现在无法混用,只能做类型转换。

本来通过网络传输文本的时候可以直接传字符串,现在必须要先将字符串转成二进制之后才能传。

数据类型的转换使用encode 和 decode。

1
2
3
4
5
6
msg  =  "749B=骑士救兵"
=  msg.encode( "utf-8" )   # 默认utf-8,所以可以省略,但是建议还是都加上
print (a)
code  =  b '\xe6\x9d\xa5\xe7\x8e\xa9\xe9\xad\x94\xe7\x8e\x8b\xe7\x9a\x84\xe5\x92\x9a\xef\xbc\x81'
=  code.decode( "utf-8" )
print (b)

作业

学完这个模块的作业


编写登陆接口

  • 输入用户名密码

  • 认证成功后显示欢迎信息

  • 输错三次后锁定

 

多级菜单

  • 三级菜单

  • 可依次选择进入各子菜单

  • 所需新知识点:列表、字典












本文转自骑士救兵51CTO博客,原文链接:http://blog.51cto.com/steed/1977268,如需转载请自行联系原作者
相关文章
|
1月前
|
存储 算法 API
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
176 82
|
11天前
|
数据采集 消息中间件 API
微店API开发全攻略:解锁电商数据与业务自动化的核心能力
微店开放平台提供覆盖商品、订单、用户、营销、物流五大核心模块的API接口,支持企业快速构建电商中台系统。其API体系具备模块化设计、双重认证机制、高并发支持和数据隔离等特性。文档详细解析了商品管理、订单处理、营销工具等核心接口功能,并提供实战代码示例。同时,介绍了企业级整合方案设计,如订单全链路自动化和商品数据中台架构,以及性能优化与稳定性保障措施。最后,针对高频问题提供了排查指南,帮助开发者高效利用API实现电商数智化转型。适合中高级开发者阅读。
|
16天前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
15天前
|
人工智能 自然语言处理 程序员
用通义灵码开发一个Python时钟:手把手体验AI程序员加持下的智能编码
通义灵码是基于通义大模型的AI研发辅助工具,提供代码智能生成、研发问答、多文件修改等功能,帮助开发者提高编码效率。本文通过手把手教程,使用通义灵码开发一个简单的Python时钟程序,展示其高效、智能的编码体验。从环境准备到代码优化,通义灵码显著降低了开发门槛,提升了开发效率,适合新手和资深开发者。最终,你将体验到AI加持下的便捷与强大功能。
|
25天前
|
存储 API 数据安全/隐私保护
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
72 6
|
25天前
|
C语言 Python
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
|
1月前
|
存储 人工智能 程序员
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
251 9
|
25天前
|
存储 数据采集 数据格式
Python自动化Office文档处理全攻略
本文介绍如何使用Python自动化处理Word、Excel和PDF文档,提升办公效率。通过安装`python-docx`、`openpyxl`、`pandas`、`PyPDF2`和`pdfplumber`等库,可以轻松实现读取、修改、创建和批量处理这些文档。具体包括:自动化处理Word文档(如读取、修改内容、调整样式),Excel文档(如读取、清洗、汇总数据),以及PDF文档(如提取文本和表格数据)。结合代码示例和实战案例,帮助你掌握高效办公技巧,减少手动操作的错误率。
52 1
|
1月前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
26 3
|
IDE 开发工具 Android开发
Python开发神器PyCharm,体验下吧
Python开发神器PyCharm,体验下吧
208 0
Python开发神器PyCharm,体验下吧