Python的基础知识点
一.import 与 from…import
这个是Python中我认为较为重要的东西。
1.导入模块的几种详细方式
1,improt 模块名
调用:模块名.功能名
2,import 模块名 as 别名
调用:别名.功能名
3,from 模块名 import 功能名
调用:直接功能名
4,from 模块名 import 功能名 as 别名
调用: 直接拿别名来用
5,from 模块名 import * (用 * 号 一次性导入所有功能)
调用:直接功能名
注意点:* 号没法用别名
(如果导入模块方式不同,其中引用模块中的变量格式也会发生改变)
2.导入sys模块
sys是查询Python文件路径的一个模块,下面有两种不同的引用情况:
1.import 模块名
import sys
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
2.from 模块名 import 功能名
from sys import argv,path # 导入sys模块中特定的成员即argv,path
print('path:',path) # 因为已经导入path成员,所以此处引时不需要加sys.path
3.导入模块的搜索路径
在终端进入后输入Python,先进入到ipython终端,随后输入以下命令,可得到sys模块的路径。
sys.path 返回导入模块时的搜索路径集,是一个list列表。
- 从上面列出的目录里依次查找要导入的模块文件
- ’ ’ 表示当前路径
- 列表中的路径的先后顺序代表了python解释器在搜索模块时的先后顺序
3.多模块导入开发
#main.py
from get import *
from show import *
# 主流程
def main():
get() #以get.py为模块
show() #以show.py为模块
if __name__ == '__main__':
main()
#get.py
#import gift
from gift import *
def send():
print("有礼物了,羡慕去呗")
have_gift = True
二.命令行参数
各类命令行参数:
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
1.利用sys的 sys.argv来获取命令行参数
- sys.argv 是命令行参数列表。
- len(sys.argv) 计算命令行参数个数。
- sys.argv[0] 表示脚本名。
2.利用getopt模块
getopt 模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是 sys.argv。
语法格式为:
getopt.getopt(args, options[, long_options])
- args: 要解析的命令行参数列表。
- options: 以字符串的格式定义,options 后的冒号 : 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。
- long_options: 以列表的格式定义,long_options 后的等号 = 表示如果设置该选项,必须有附加的参数,否则就不附加参数。
该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有 - 的参数,代码如下:
import sys
import getopt
def site():
name = None
url = None
argv = sys.argv[1:]#调用argv的相对路径或绝对路径
try:#用来提前预估错误的,可以避免程序运行报错,其专业名词叫异常
opts, args = getopt.getopt(argv, "n:u:")
except:
print("Error")
for opt, arg in opts:
if opt in ['-n']:
name = arg
elif opt in ['-u']:
url = arg
print( name +" " + url)
site()
3.文件的路径
1.相对路径:
顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。
2.绝对路径:
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的Perl 程序是存放在c:/apache/cgi-bin 下的,那么c:/apache/cgi-bin就是cgi-bin目录的绝对路径
4.Try在Python中的用法及意义
- 意义:程序在运行的时候,如果python解释器遇到一个错误,会停止程序的执行,
并且提示一些错误的信息,这就是异常
我们在程序开发的时候,很难将所有的特殊情况都处理,
通过异常捕获可以针对
突发事件做集中处理,从而保证程序的健壮性和稳定性 - 在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确)
可以增加try来捕获异常 - try这个关键字来捕获异常
try:尝试执行的代码
except:出现错误的处理 - 不论try中写文件的过程中是否有异常,finally中关闭文件的操作一定会执行。由于finally的这个特性,finally经常被用来做一些清理工作。
代码进行实现如下:
data = 1
try:
if data == 1:
raise ZeroDivisionError
except ZeroDivisionError:
data = 0
else:
data = 10
finally:
print("Finally")
print(data)
5.raise语句
- 1.raise:单独一个 raise。该语句引发当前上下文中捕获的异常(比如在 except 块中),或默认引发 RuntimeError 异常。
- 2.raise 异常类名称:raise 后带一个异常类名称,表示引发执行类型的异常。
- 3.raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。
raise 语句的基本语法格式为:
raise [exceptionName [(reason)]]
总而言之,raise语句就是程序员手动引发的异常,从而为了让程序能够正常平稳的运行或者报错后也能找到正确的错误之类。
6.Python中in在各类语句中的作用
- for in
定义:是循环结构的一种,经常用于遍历字符串、列表,元组,字典等
结构格式:for x in y:
执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束。
举例说明:
2.if in
结构格式:if a in b
即可解释为若b中包含a,则返回True,否则返回False。
#elif in与if in的用法大致相同。