Python基础必知必会答案
Python命令相关
使⽤python执⾏脚本
如何在命令⾏执⾏⼀个.py⽂件?
在命令⾏运⾏ python ⽂件路径/⽂件名,如
如果⽂件就在当前路径下,就可以直接python hello.py
注:MacOS的同学由于系统中默认为python2,终端中请使⽤python3 路径/脚本名
注:命令⾏使⽤python命令实际上是从环境变量PATH所配置的⽬录中逐个选择(MacOS/Linux为python)来解释执⾏路径指定的脚本,在某些情况如使⽤Jenkins/crontab执⾏时有可能没有权限读取环境变量PATH的值,导致不到python,可以使⽤的绝对路径执⾏,如
C:\Users\Secoo\AppData\Local\Programs\Python\ D:\hello.py
使⽤python -m
如何使⽤Python调⽤⼀个模块?
很多python的三⽅模块在安装时会在python安装路径的Scripts⽬录下⽣产可执⾏⽂件,如pytest、pip、HttpRunner的hrun等。⼀般来说,Scripts⽬录也需要配置到环境变量PATH中去,这样就可以直接在命令⾏中使⽤pytest、pip等命令。
当命令⾏提升pytest、pip等不是可执⾏命令时(即Scripts没有配置环境变量),我们也可以使⽤python -m 调⽤指定模块,如
python -m pytest ⽤例路径
python -m pip install 要安装的三⽅包
注:同样实⽤与MacOS,只是路径不是Scripts,pip显⽰不是可执⾏命令时,可以临时使⽤python3 -m pip来安装包
使⽤python -c
如何在命令⾏执⾏⼀⼩段Python代码?
使⽤python -c 代码,可以不进⼊Python交互环境执⾏⼀⼩段代码,如下图:
区分命令⾏和Python交互环境
如何区分命令⾏(cmd)环境和Python交互环境,执⾏.py⽂件和安装包在哪个环境?在Python交互环境如何验证⼀个包是否已安装?
命令⾏和Python交互环境的提⽰符不同,如下图
命令⾏环境,使⽤python执⾏python脚本、pip安装包、pytest执⾏⽤例,或执⾏其他系统命令。
Python交互环境,⽤来调试运⾏Python代码,如import导⼊,声明变量,if判断,定义函数等等。
系统命令⾏
系统命令⾏
Python交互环境
Python交互环境
在交互环境中可以通过import 三⽅包名,看是否报错来验证这个包是否已安装,如:
>>> import selenium
python基础代码大全加翻译不报错则说明selenium已安装
包安装相关
安装三⽅包
如何安装Python三⽅包?在命令⾏如何检查⼀个包是否已安装?
也可以⽤pip list命令查看已安装的包,如下图
注:Windows的字符串搜索使⽤findstr,MacOS/Linux需要改为grep
环境变量PATH的作⽤
环境变量PATH的作⽤是什么?命令⾏报错pip不是可执⾏命令的原因是什么?如何处理?
环境变量PATH的作⽤是,在命令⾏任意⼀个路径下可以直接使⽤某个命令或⼯具,如python、pip、pytest、java、adb等。在命令⾏输
⼊python命令时会从环境变量PATH所配置的路径中逐个去或d等可执⾏⽂件。
taro摩托车命令⾏报错pip不是可执⾏命令,是因为在当前PATH的所有路径中不到即,所在的⽬录没有配置到环境变量中去。
可以使⽤python -m pip来临时使⽤pip,或者包所在⽬录python安装⽬录中是Scripts⽬录配置到环境变量PATH中去。
注:更新环境变量后需要重新打开cmd才能⽣效,PyCharm的命令⾏则需要重启才能⽣效(读取到最新的环境变量)。
安装包时报错处理
pip安装时如何使⽤⾖瓣源安装,遇到以下报错,如何处理?
报错分为两个颜⾊,红⾊是出错,遇到出错时,我们先看最下⼀⾏
..ReadTimeoutError: HTTPSconnectionPool(….)
冒号前是异常类型,冒号后是具体说明,稍微翻译⼀下可以知道,这个是⼀个“读取超时错误”,原因是HTTP连接池连接服务器
,读取超时。
由于在线安装时,三⽅包是从国外⽹站上下载的,当三⽅包较⼤及⽹络不好时很容易发⽣这种情况。
解决⽅法是,重试或者使⽤国内源来安装(源就是⼀个镜像⽹站,⾥⾯也有各种包)。
pip安装时使⽤-i指定使⽤的源,如使⽤⾖瓣源安装就会快很多。
pip install selenium -i pypi.douban/simple/
黄⾊的为警告,提⽰当前pip不是最新版本,可以忽略,也可以使⽤提⽰的python -m pip install –upgrade pip命令进⾏升级。
PyCharm相关
PyCharm查看所使⽤环境和安装的包
PyCharm中如何确定使⽤的是虚拟环境还是本机环境?如何切换解释器?如何查看环境中安装了哪些包?
PyCharm默认新建项⽬时会新建虚拟环境(没有任何三⽅包的新环境),如下图:
你在命令⾏安装的包(安装到了本地环境),虚拟环境中是没有的,这时候你代码中去导⼊⼀个包会
网页设计制作表单
发现报错,如下图:
我可以打开终端,来查看是否使⽤了虚拟环境,如下图
前⾯有(venv)的就是虚拟环境(即没有任何包,需要重新安装)。
我们可以再PyCharm的终端使⽤pip list。
或在设置中查看当前环境的包,点击Files->Settings如下图:
到并点击 Project: 你的项⽬名下的Python Interpreter,如下图:
我们可以查看到当前环境中的包,可以通过上⾯的下拉框来切换解释器(即环境),也可以通过下⾯的加号安装所需要的包。
注:前期在新建项⽬时,可以点开Python解释器的折叠,直接选择本地环境来避免此问题。
PyCharm查看函数使⽤⽅法
PyCharm中如何查看所使⽤函数的⽅法定义,需要哪些参数,分别什么格式?
web前端职责我们在调⽤⼀个函数(特别是别⼈写的)时,往往需要知道怎么使⽤,即需要⼏个、什么类型的参数,返回什么类型的结果。在PyCharm中⼀般我们可以⿏标移动到调⽤函数上可以看到函数的定义,如下图:
这个表⽰,calc模块的add函数,有两个参数,都需要int整数格式,返回值为int整数格式。
我们也可以按住Ctrl键,⿏标移动到函数名上,查看提⽰。
当需要查看函数的具体定义和处理过程时,我们可以按住Ctrl键,⿏标点击函数名,调整到该函数,来查看函数的源码,如下图:
PyCharm中错误提醒
PyCharm中有浅红⾊⾼亮和浅黄⾊⾼亮,分别是什么原因,如何查看异常的详细信息?
浅红⾊⾼亮及红⾊波浪线表⽰报错,常见的是标点、括号格式或语法错误。
浅黄⾊⾼亮⼀般是函数参数异常或对象⽆此属性或⽅法,如下图:
运⾏报错处理
代码报错,如何查看是什么异常?异常的原因说明以及报错的是哪⼀⾏?
代码报错别紧张,⼀般先看报错最下⾯⼀⾏,冒号前是异常类型,冒号后是具体原因说明,如下图:
报错的⾏可以从上⾯看到,是main.py这个⽂件的第3⾏driver = webdriver.Chrome()报的错。
稍微翻译⼀下这是⼀个selenium常规异常中的“会话不能创建异常”,会话即和浏览器的连接交互。翻译⼀下具体愿意为,
信息:会话不能创建:这个版本的ChromeDriver只⽀持86版本的Chrome,当前的浏览器版本为89.0.4389.82,使⽤的浏览器地址为…
从翻译的报错原因我们可以分析出是我们⽤的chromedriver版本太⽼,不⽀持当前的浏览器,解决⽅法就是重新下载对应版本的chromedriver即可。
Python数据类型相关
可变和不可变类型
Python中有哪些数据类型?哪些是可变的,哪些是不可变的?
Python中常见的数据类型有:字符串、数字(整型、浮点、布尔型)、列表、元祖、字典、集合。
可变类型:列表、字典、普通集合是可变的
不可变类型:字符串、数字、元祖、frozen set(不可变集合)
可变类型⼀般为混合容器型,如列表,字典,可以随意增加删除,可以容纳任何类型的元素。
注:不可变类型,如字符串,在修改时会创建新的变量。
为什么要区分可变和不可变呢,因为有⼀种东西叫Hash(即散列表),它是通过变量来计算得出存储地址的,这就要求变量不能修改,不然就不到它的存储地址了。
因此不可变类型,字符串,数字,元祖等被称为可Hash的。Python中的字典和集合就是基于Hash类型的,字典的key只能是不可变类型。
哈希类型(字典、集合)因为是计算⼀下就知道存储地址,因此⽆论有多少数据,查询⼀个数据只需要⼀下操作,查询效率很⾼。
字符串是否数字判断
如何判断⼀个字符串是不是数字?
使⽤字符串的is_number()或is_digit()⽅法来判断字符串是否数字,如
‘123’.is_number()
返回为True则表⽰是数字
查开源代码的网站
字符串格式化
将name = ‘LiLy‘ age=18 gender=’⼥’,将name、age、gender变量实际值填⼊字符“我是Kevin,年龄21,性别male”
这是⼀个字符串格式化操作,我们通常需要将⼀批变量的值填⼊⼀个字符串中,拼接是最low的⽅式,⼀般我们先在字符串中放⼊占位符,然后将变量依次填⼊,4中⽅法如下图:
字符串列表相互转换
将⼀个字符串“I am the whole world”按空格分隔,列表反转,重新按空格拼接成“world whole the am I”
sl十字滑块联轴器
字符串分隔成列表(split),列表按分隔符组装层字符串(join)是最常⽤的两种⽅式,答案如下图:
也可以⼀⾏代码实现,如下图:
注:这⾥使⽤了reversed(),这个全局函数返回⼀个反转后的新列表,⽽列表的reverse()⽅法,是对原列表进⾏反转,返回是
None,我们使⽤join要求参数时⼀个列表,所以需要使⽤reversed()。
字典/列表遍历及组装
将⼀个字典{‘Kevin’: 21, ‘Lily’: 19, ‘John’: 20}改为列表[{‘name’: ‘Kevin’, ‘age’: 21}, {‘name’: ‘Lily, ‘age’: 19}, {‘name’: ‘John, ‘age’: 20}]形式
列表、字典的遍历及重新组装是⾮常常⽤的操作,代码如下图
也可以使⽤推导式快速得出结果,如下图:
注:遍历字典的key, value时,需要遍历字典的.items()⽅法⽽不是字典本⾝。
列表与集合
列表和集合的区别是什么?在⼤数据量查询时哪个更⾼效?
列表有点像数组,在内存中连续存储,使⽤索引查⾮常⽅便,通过值查则要从头开始逐个对⽐,因此列表约长,这个对⽐查过程越
慢。
集合基于Hash类型,元素存储的地址是计算出来的,⽆论数据量多⼤,查⼀个元素始终只需要⼀步操作。因此在⼤数据量查时集合效率更⾼。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。