Python

本文介绍了Python的基础知识,包括Python对象模型、变量定义、字符串操作以及基本输入输出。此外,详细阐述了Python中模块的导入与使用,包括import、from...import的不同用法以及如何扩展搜索路径。
摘要由CSDN通过智能技术生成

Python程序设计(一)

Python基础知识

Python对象模型

对象是Python语言中最基本的概念之一,Python中的一切都是对象。Python中有许多内置对象可供编程者直接使用,例如数字、字符串、列表、元组、字典、集合、del命令和len()、id()、type()等大量内置函数,下表中列出了其中一部分常见的Python内置对象。
在这里插入图片描述

Python变量

在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的变量。

>>>x=3
>>>print(type(x))
<class'int'>
>>>x='Hello world.'
>>>print(type(x))
<class'str'>
>>>x=[1,2,3]
>>>print(type(x))
<class'list'>

定义变量名(包括函数名和类名)的时候,需要注意以下问题:
(1)变量名必须以字母、汉字或下划线开头,但以下划线开头的变量在Python中有特殊含义。
(2)变量命中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等)。
(3)不能使用关键字作为变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字。
(4)不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作为变量,这会改变其类型和含义。
(5)变量名区分英文字母的大小写,例如student和Student是不同的变量。

字符串

转义字符含义转义字符含义
\n换行符\’’双引号
\t制表符\\一个\
\r回车\ooo3位八进制数对应的字符
\’单引号\xhh2位十六进制数对应的字符
\uhhhh4位十六进制数对应的字符\Uxxxxxxxx8位十六进制数对应的字符,要求不大于\U0010FFFF

基本输入输出

基本输入:
在Python中,使用内置函数input()来接收用户的键盘输入,input()函数的一般用法为
x=input(‘提示:’)
不论用户输入什么,input()函数的返回结果都是字符串,需要将其转换为相应的类型。

>>>x=input('Please input:')
Please input:3
>>>print(type(x))
<class 'str'>
>>>x=input('Please input:')
Please input:[1,2,3]
>>>print(type(x))
<class 'str'>

基本输出:
基本输出函数print()的语法如下:
print(value,…,sep=’’,end=’\n’,file=sys.student,flush=False)
其中,参数sep用来指定分隔符,参数end用来指定结束符。例如,下面的代码用来修改默认的分隔符:

>>>print(3,5,7,sep=':')
3:5:7
>>>print(3,5,7,sep=',')
3,5,7

下面的代码用来修改默认的结束符:

>>>for i in range(10,20):
   print(i,end='')
10 11 12 13 14 15 16 17 18 19

模块导入与使用

1.import模块名[as别名]
使用这种方式导入模块以后,需要在要使用的对象之前加上前缀,即以“模块名.对象名”的方式访问。也可以为导入的模块设置一个别名,然后可以使用“别名.对象名”的方式使用其中的对象。

>>>import math
>>>math.sin(0.5)  #求0.5的正弦值
0.479425538604203
>>>import random
>>>x=random.random()  #获得[0,1]区间上的随机小数
>>>n=random.randint(1,100)  #获得[1,100]区间上的随机整数
>>>import numpy as np  #导入模块并设置别名
>>>a=np.array((1,2,3,4))  #通过模块的别名来访问其中的对象

2.from 模块名 import 对象名[as别名]
使用这种方式仅导入明确指定的对象,并且可以为导入的对象起一个别名。这种导入方式可以减少查询次数,提高访问速度,同时也减少了程序员需要输入的代码量,不需要使用模块名作为前缀。例如:

>>>from math import sin
>>>sin(3)
0.1411200080598672
>>>f(3)
0.1411200080598672

比较极端的情况是一次导入模块中的所有对象,例如

from math import*

使用这种方式固然简单省事,但是并不推荐使用,一旦多个模块中有同名的对象,这种方式会导致混乱。
在测试自己写的模块时,可能需要频繁地修改代码并重新导入模块,可以使用imp模块或importlib模块的reload()函数。不论使用哪种方法重新加载模块,都要求该模块已经被正确加载,第一次导入和加载模块时不能使用reload()函数。
在导入模块时,Python首先在当前目录中查找需要导入的模块文件,如果没有找到,则从sys模块的path变量所指定的目录中查找,如果仍没有找到模块文件,则提示模块不存在。可以使用sys模块的path变量查看Pathon导入模块时搜索模块的路径,也可以使用append()方法向其中添加自定义的文件夹来扩展搜索路径。
在导入模块时,会优先导入相应的.pyc文件,如果相应的.pyc文件与.py文件时间不相符或不存在对应的.pyc文件,则导入.py文件并重新将该模块文件编译为.pyc文件。
在大的程序中可能需要导入很多模块,此时应按照下面的顺序来依次导入模块。
(1)导入Python内置模块和标准库,如math、os、sys、re。
(2)导入第三方扩展库,如PIL、numpy、scipy。
(3)导入自己定义和开发的本地模块。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值