详解Python 基础知识
off999 2024-12-09 16:22 27 浏览 0 评论
Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异。在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。
python函数
函数通过def关键字定义,形如
python def function (arg1,arg2,...): ... fuction(1,2,...) #call function
DocStrings文档字符串
DocStrings文档字符串是一个重要工具,用于解释文档程序。
``` python
def function():
''' say something here!
'''
pass
...
print function.__doc__ #调用doc
```
DocStrings文档字符串 使用惯例 它的首行以大写字母开始简述功能,第二行空行,第三行为函数的具体描述
python模块
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。以下是载入方法: import方法(全部引入)
import modules
注意:一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。 from … import方法(部分引入) Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:
from modname import name1[, name2[, ... nameN]]
from … import*语句 导入模块内所有内容,并不建议使用。
Python模块搜索路径 当你导入一个模块,Python 解析器对模块位置的搜索顺序是:
当前目录 如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
dir()函数
函数一个排好序的字符串列表,内容是一个模块里定义过的名字。 返回的列表容纳了在一个模块里定义的所有模块,变量和函数。 特殊字符串变量name指向模块的名字,file指向该模块的导入文件名。
globals() 和 locals() 函数
据调用地方的不同,globals()和locals()函数可被用来返回全局和局部命名空间里的名字。 如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。 如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。 两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取。
Python中的包
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。简单来说,包就是文件夹,但该文件夹下必须存在 init.py 文件, 该文件的内容可以为空。init.py用于标识当前文件夹是一个包。 常用模块
系统相关的信息模块: import sys
sys.argv 是一个 list,包含所有的命令行参数.
sys.stdout sys.stdin sys.stderr 分别表示标准输入输出,错误输出的文件对象.
sys.stdin.readline() 从标准输入读一行 sys.stdout.write("a") 屏幕输出a
sys.exit(exit_code) 退出程序
sys.modules 是一个dictionary,表示系统中所有可用的module
sys.platform 得到运行的操作系统环境
sys.path 是一个list,指明所有查找module,package的路径.
操作系统相关的调用和操作: import os
os.environ 一个dictionary 包含环境变量的映射关系
os.environ["HOME"] 可以得到环境变量HOME的值
os.chdir(dir) 改变当前目录 os.chdir('d:\outlook')
注意windows下用到转义
os.getcwd() 得到当前目录
os.getegid() 得到有效组id os.getgid() 得到组id
os.getuid() 得到用户id os.geteuid() 得到有效用户id
os.setegid os.setegid() os.seteuid() os.setuid()
os.getgruops() 得到用户组名称列表
os.getlogin() 得到用户登录名称
os.getenv 得到环境变量
os.putenv 设置环境变量
os.umask 设置umask
os.system(cmd) 利用系统调用,运行cmd命令
内置模块(不用import就可以直接使用)常用内置函数:
help(obj) 在线帮助, obj可是任何类型
callable(obj) 查看一个obj是不是可以像函数一样调用
repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝
eval_r(str) 表示合法的python表达式,返回这个表达式
dir(obj) 查看obj的name space中可见的name
hasattr(obj,name) 查看一个obj的name space中是否有name
getattr(obj,name) 得到一个obj的name space中的一个name
setattr(obj,name,value) 为一个obj的name
space中的一个name指向vale这个object
delattr(obj,name) 从obj的name space中删除一个name
vars(obj) 返回一个object的name space。用dictionary表示
locals() 返回一个局部name space,用dictionary表示
globals() 返回一个全局name space,用dictionary表示
type(obj) 查看一个obj的类型
isinstance(obj,cls) 查看obj是不是cls的instance
issubclass(subcls,supcls) 查看subcls是不是supcls的子类
类型转换
chr(i) 把一个ASCII数值,变成字符
ord(i) 把一个字符或者unicode字符,变成ASCII数值
oct(x) 把整数x变成八进制表示的字符串
hex(x) 把整数x变成十六进制表示的字符串
str(obj) 得到obj的字符串描述
list(seq) 把一个sequence转换成一个list
tuple(seq) 把一个sequence转换成一个tuple
dict(),dict(list) 转换成一个dictionary
int(x) 转换成一个integer
long(x) 转换成一个long interger
float(x) 转换成一个浮点数
complex(x) 转换成复数
max(...) 求最大值
min(...) 求最小值
------
数据结构
在python中有三种内建的数据结构–列表、元组和字典。
列表(list)
list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。
列表是一种可变的数据类型。
python listname = [item1.item2,item3] listname.sort() listname.append(item4) del listname[0]
元组(Tuples)
元组与列表极其类似,只不过元组和字符串一样是不可变 即使你不能修改元组。元组通过圆括号中用逗号分割的项目定义。
元组最通常的用法是用在打印语句中,下面是一个例子:
print ‘%sis %d’ % (name,age)
字典(Dictionary)
字典有键和值二元组,键是不可变的对象,字典的值可以任意。键值对在字典中以这样的方式标记
d ={key1:value1,key2:value2}
序列(Sequence)
序列是列表,元组,字符串的总称,它的特点在于两个操作–索引操作符 (indexing/subscription)、切片操作符(slicing)
list[-1],list[0],list[1],list[3]
list[0;2] #0到1的 不包含2
list[2:] #2以后
list[:] #全部
引用
当你创建一个对象并给它赋一个变量的时候,这个变量仅仅引用那个对象,而不是表示那个对象本身 !也就是说,变量名只是指向计算机中存储那个对象的内存。这被称作名称到对象的绑定。
```python
#!/usr/bin/python
#-- coding=utf-8 --
print 'Simple Assignment'
shoplist = ['apple','mango','carrot','banana']
mylist = shoplist #简单的赋值 只是引用变量名
del shoplist[0]
del mylist[0]
print 'shoplist is',shoplist
print 'mylist is',mylist
print 'Coping by making full slice'
mylist = shoplist[:]
del mylist[0]
print 'shoplist is',shoplist
print 'mylist is',mylist
```
Simple Assignment
shoplist is ['carrot', 'banana']
mylist is ['carrot', 'banana']
Coping by making full slice
shoplist is ['carrot', 'banana']
mylist is ['banana']
很明显,普通引用只是名称的绑定,3而只有完整切片才是真正意义上的复制。所以我们在简单引用后一定要考虑是否可以更改,因为操作可能影响到源对象。
面向对象编程
注意在python中即使是整型也会被视为对象,这与C++和Java(1.5以前),在它们那儿整数是原始的内置类型。 在python中秉承一切皆对象的原则。 字段(Filed):属于某个对象或类的变量 方法(Method):属于类的函数 属性(Attribute):上者综合 -self 类方法与普通函数的区别所在,将类函数参数项前面用self修饰。与C++中this作用类似。
python class Person: def say_hi(self): print('Hello,how are you?')
Python中 特殊意义的类函数名称 init 方法 该方法会在类的对象被实例化(Instantiated)时立即运行。这一方法可以用作初始化操作。
python class Person: def __init__(self,name) self.name = name def say_hi(self): print('Hello,my name is',self.name) p = Person('Swaroop') p.say_hi()
特殊变量命名方法 1、 xx 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。若内部变量标示,如: 当使用“from M import”时,不会将以一个下划线开头的对象引入 。 2、 **xx 双下划线的表示的是私有类型的变量。只能允许这个类本身进行访问了,连子类也不可以用于命名一个类属性(类变量),调用时名字被改变(在类FooBar内部,**boo变成FooBarboo,如self._FooBarboo)
3、 xx定义的是特列方法。用户控制的命名空间内的变量或是属性,如init , import或是file 。只有当文档有说明时使用,不要自己定义这类变量。 (就是说这些是python内部定义的变量名)
在这里强调说一下私有变量,python默认的成员函数和成员变量都是公开的,没有像其他类似语言的public,private等关键字修饰.但是可以在变量前面加上两个下划线”“,这样的话函数或变量就变成私有的.这是python的私有变量轧压(这个翻译好拗口),英文是(private name mangling.) **情况就是当变量被标记为私有后,在变量的前端插入类名,再类名前添加一个下划线”“,即形成了_ClassName__变量名.**
相关推荐
- 但是不能打印(打印机已连接,但是不能打印)
-
保证打印机已被设置为默认打印机。2、检查一下打印机设置,确认打印机没有暂停或脱机使用打印机,查看是否存在“暂停”或“取消联机”设置都将不能打印。另外还要查看打印机端口设置是否正确;3、如果打印机处于联...
- 重装系统怎么激活windows7(重装系统怎么激活正版Win11)
-
在安装完Windows7系统后,需要进行激活,以获得完整的功能。以下是Windows7系统激活的步骤:1.打开“计算机”或“此电脑”,点击右键,选择“属性”。2.在弹出的“系统”窗口中,找到“...
- win7怎么设置自动关机命令(win7如果设置自动关机)
-
在Win7系统中,可以通过“任务计划程序”来设置定时自动关机。首先打开“任务计划程序”,选择“创建基本任务”,按照向导步骤设置任务名称、触发器(选择“按计划时间安排”并设置时间)、操作(选择“程序启动...
- 移动硬盘没有初始化怎么修复
-
常见的可能原因是:1,移动硬盘的数据线有问题,导致电脑识别异常。请尝试更换一根数据线,重新连接移动硬盘和电脑。2,移动硬盘功率偏大,由于供电不足,导致电脑没法正常识别,可以尝试把移动硬盘连接台式机后面...
- win2008ghost版下载(ghost 2008r2版本下载)
-
点击IE的“工具→Internet选项→安全”,将“Internet”区域的安全级别滑块由“高”拉动到“中”。以下设置随系统不同而稍有不同进入“控制面板→添加或删除程序→添加/删除Window...
- 不用u盘给新硬盘装系统(不用硬盘重装系统)
-
没有U盘,也可以使用硬盘安装器(HDDInstaller)来给新硬盘安装系统。以下是使用硬盘安装器的步骤:1.下载并安装硬盘安装器。可以在官网或其他可靠的下载网站下载硬盘安装器。2.打开硬盘安装...
- 爱思助手苹果版app下载(爱思助手下载手机苹果版)
-
不能在手机端直接下载,需要先下载PC端。安装步骤如下:第1步,安装爱思助手PC端用电脑访问爱思助手官网在产品中心下载并安装“爱思助手PC端V7版”第2步,安装爱思助手移动端打开爱思助手PC端用数据线连...
- windows7家庭版官网下载(原版win7家庭版)
-
家用电脑提供的下载是微软发布的正式版本的原版ISOnbsp;镜像,可以保障是没有病毒和任何修改的原版系统。至于你所说的是不是正版,正版并不是指一张光盘,而是指安装的系统是否有微软的正版授权,简单说也就...
-
- 电脑怎么下载word官方免费版
-
可以从官网或者360软件管家下载,还有激活使用。MicrosoftWord是微软公司的一个文字处理器应用程序。它最初是由RichardBrodie为了运行DOS的IBM计算机而在1983年编写的。随后的版本可运行于AppleMacin...
-
2025-11-07 21:51 off999
- 电脑网络已连接但无法访问互联网
-
因为网络配置有问题造成的,解决的方法也很简单,可以直接进入win7系统的“控制面板”—“网络”中,然后将除开拨号适配器以外的全部选项全部删除掉,然后重新启动计算机后再添加microsoft的“TCP/...
- win7隐藏文件怎么显示(win7中显示隐藏文件)
-
要在Win7中显示隐藏文件,需依次打开“我的电脑”或“计算机”→点击“工具”→选择“文件夹选项”→在弹出的“文件夹选项”窗口中点击“查看”标签→在“隐藏文件和文件夹”选项中选择“显示隐藏的文件、文件夹...
-
- 邮箱163注册怎么注册(邮箱163如何注册)
-
1.打开浏览器,搜索163邮箱,进入登录页面,点击去注册2.进入163邮箱注册页面后,输入想要的邮箱地址,输入密码,手机号,点击立即注册选项,就可以申请注册163邮箱了。操作方法01登陆163邮箱的官方网站,点击“注册”02可通过手机...
-
2025-11-07 20:03 off999
- 音频设备有哪些(音频设备有哪些类型)
-
用录音机,MP3,手机之类的,通常需采用话筒,麦克风等设备,现在自然声音的收集方式主要是用麦克风等声音采集设备捕捉声波,将声波的振动转化为模拟信号,然后用磁带将模拟信号记录下来,或者用电脑将模拟信号记...
- 华硕笔记本电脑不显示wifi列表
-
您好!可以在启动项处,右键,属性,选择自定义通知图标,查看声音和电池图标,选择显示或总是显示。确定。然后重启机器尝试。如果还是没有反应,则可能是相关的文件出现错误。比如使用了驱动软件更新系统的补丁或驱...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
