资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

python基本函数教程 python的基础函数

python 基础教程

运算

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、安义网络推广、微信平台小程序开发、安义网络营销、安义企业策划、安义品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供安义建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

a = 21

b = 10

c = 0

c = a + b

print "1 - c 的值为:", c

c = a - b

print "2 - c 的值为:", c

c = a * b

print "3 - c 的值为:", c

c = a / b

print "4 - c 的值为:", c

c = a % b

print "5 - c 的值为:", c

a = 2

b = 3

c = a**b

print "6 - c 的值为:", c

a = 10

b = 5

c = a//b

print "7 - c 的值为:", c

python比较

a = 21

b = 10

c = 0

if ( a == b ):

print "1 - a 等于 b"

else:

print "1 - a 不等于 b"

if ( a != b ):

print "2 - a 不等于 b"

else:

print "2 - a 等于 b"

if ( a b ):

print "3 - a 不等于 b"

else:

print "3 - a 等于 b"

if ( a b ):

print "4 - a 小于 b"

else:

print "4 - a 大于等于 b"

if ( a b ):

print "5 - a 大于 b"

else:

print "5 - a 小于等于 b"

a = 5

b = 20

if ( a = b ):

print "6 - a 小于等于 b"

else:

print "6 - a 大于 b"

if ( b = a ):

print "7 - b 大于等于 a"

else:

print "7 - b 小于 a"

赋值

a = 21

b = 10

c = 0

c = a + b

print "1 - c 的值为:", c

c += a

print "2 - c 的值为:", c

c *= a

print "3 - c 的值为:", c

c /= a

print "4 - c 的值为:", c

c = 2

c %= a

print "5 - c 的值为:", c

c **= a

print "6 - c 的值为:", c

c //= a

print "7 - c 的值为:", c

逻辑运算符:

a = 10

b = 20

if ( a and b ):

print "1 - 变量 a 和 b 都为 true"

else:

print "1 - 变量 a 和 b 有一个不为 true"

if ( a or b ):

print "2 - 变量 a 和 b 都为 true,或其中一个变量为 true"

else:

print "2 - 变量 a 和 b 都不为 true"

a = 0

if ( a and b ):

print "3 - 变量 a 和 b 都为 true"

else:

print "3 - 变量 a 和 b 有一个不为 true"

if ( a or b ):

print "4 - 变量 a 和 b 都为 true,或其中一个变量为 true"

else:

print "4 - 变量 a 和 b 都不为 true"

if not( a and b ):

print "5 - 变量 a 和 b 都为 false,或其中一个变量为 false"

else:

print "5 - 变量 a 和 b 都为 true"

in,not in

a = 10

b = 20

list = [1, 2, 3, 4, 5 ];

if ( a in list ):

print "1 - 变量 a 在给定的列表中 list 中"

else:

print "1 - 变量 a 不在给定的列表中 list 中"

if ( b not in list ):

print "2 - 变量 b 不在给定的列表中 list 中"

else:

print "2 - 变量 b 在给定的列表中 list 中"

a = 2

if ( a in list ):

print "3 - 变量 a 在给定的列表中 list 中"

else:

print "3 - 变量 a 不在给定的列表中 list 中"

条件

flag = False

name = 'luren'

if name == 'python': # 判断变量否为'python'

flag = True # 条件成立时设置标志为真

print 'welcome boss' # 并输出欢迎信息

else:

print name

num = 5

if num == 3: # 判断num的值

print 'boss'

elif num == 2:

print 'user'

elif num == 1:

print 'worker'

elif num 0: # 值小于零时输出

print 'error'

else:

print 'roadman' # 条件均不成立时输出

循环语句:

count = 0

while (count 9):

print 'The count is:', count

count = count + 1

print "Good bye!"

i = 1

while i 10:

i += 1

if i%2 0: # 非双数时跳过输出

continue

print i # 输出双数2、4、6、8、10

i = 1

while 1: # 循环条件为1必定成立

print i # 输出1~10

i += 1

if i 10: # 当i大于10时跳出循环

break

for letter in 'Python': # 第一个实例

print '当前字母 :', letter

fruits = ['banana', 'apple', 'mango']

for fruit in fruits: # 第二个实例

print '当前水果 :', fruit

print "Good bye!"

获取用户输入:raw_input

var = 1

while var == 1 : # 该条件永远为true,循环将无限执行下去

num = raw_input("Enter a number :")

print "You entered: ", num

print "Good bye!"

range,len

fruits = ['banana', 'apple', 'mango']

for index in range(len(fruits)):

print '当前水果 :', fruits[index]

print "Good bye!"

python数学函数:

abs,cell,cmp,exp,fabs,floor,log,log10,max,min,mod,pow,round,sqrt

randrange

访问字符串的值

var1 = 'Hello World!'

var2 = "Python Runoob"

print "var1[0]: ", var1[0]

print "var2[1:5]: ", var2[1:5]

转义字符

格式化输出

print "My name is %s and weight is %d kg!" % ('Zara', 21)

字符串函数:

添加元素

list = [] ## 空列表

list.append('Google') ## 使用 append() 添加元素

list.append('Runoob')

print list

删除元素

list1 = ['physics', 'chemistry', 1997, 2000]

print list1

del list1[2]

print "After deleting value at index 2 : "

print list1

列表操作

列表方法

删除字典

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

del dict['Name']; # 删除键是'Name'的条目

dict.clear(); # 清空词典所有条目

del dict ; # 删除词典

print "dict['Age']: ", dict['Age'];

print "dict['School']: ", dict['School'];

字典的函数:

当前时间戳:

import time

time.time()

格式化日期输出

import time

print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())

a = "Sat Mar 28 22:24:24 2016"

print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

获取某个月日历:calendar

import calendar

cal = calendar.month(2016, 1)

print "以下输出2016年1月份的日历:"

print cal

当前日期和时间

import datetime

i = datetime.datetime.now()

print ("当前的日期和时间是 %s" % i)

print ("ISO格式的日期和时间是 %s" % i.isoformat() )

print ("当前的年份是 %s" %i.year)

print ("当前的月份是 %s" %i.month)

print ("当前的日期是 %s" %i.day)

print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )

print ("当前小时是 %s" %i.hour)

print ("当前分钟是 %s" %i.minute)

print ("当前秒是 %s" %i.second)

不定长参数:*

lambda:匿名函数

def....

python模块搜索路径

获取用户输入

str = raw_input("请输入:")

print "你输入的内容是: ", str

input可以接收表达式

open参数

write要自己添加换行符

读取10个字符

重命名:os.rename

os.remove

os.mkdir os.chdir

os.getcwd

os.rmdir

open参数

file的方法

异常:

try:

fh = open("testfile", "w")

fh.write("这是一个测试文件,用于测试异常!!")

except IOError:

print "Error: 没有找到文件或读取文件失败"

else:

print "内容写入文件成功"

fh.close()

try:

fh = open("testfile", "w")

fh.write("这是一个测试文件,用于测试异常!!")

finally:

print "Error: 没有找到文件或读取文件失败"

用户自定义异常:

os 模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:

| 序号 | 方法及描述 |

| 1 |

os.access(path, mode)

检验权限模式 |

| 2 |

os.chdir(path)

改变当前工作目录 |

| 3 |

os.chflags(path, flags)

设置路径的标记为数字标记。 |

| 4 |

os.chmod(path, mode)

更改权限 |

| 5 |

os.chown(path, uid, gid)

更改文件所有者 |

| 6 |

os.chroot(path)

改变当前进程的根目录 |

| 7 |

os.close(fd)

关闭文件描述符 fd |

| 8 |

os.closerange(fd_low, fd_high)

关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略 |

| 9 |

os.dup(fd)

复制文件描述符 fd |

| 10 |

os.dup2(fd, fd2)

将一个文件描述符 fd 复制到另一个 fd2 |

| 11 |

os.fchdir(fd)

通过文件描述符改变当前工作目录 |

| 12 |

os.fchmod(fd, mode)

改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。 |

| 13 |

os.fchown(fd, uid, gid)

修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。 |

| 14 |

os.fdatasync(fd)

强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。 |

| 15 |

os.fdopen(fd[, mode[, bufsize]])

通过文件描述符 fd 创建一个文件对象,并返回这个文件对象 |

| 16 |

os.fpathconf(fd, name)

返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 |

| 17 |

os.fstat(fd)

返回文件描述符fd的状态,像stat()。 |

| 18 |

os.fstatvfs(fd)

返回包含文件描述符fd的文件的文件系统的信息,像 statvfs() |

| 19 |

os.fsync(fd)

强制将文件描述符为fd的文件写入硬盘。 |

| 20 |

os.ftruncate(fd, length)

裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小。 |

| 21 |

os.getcwd()

返回当前工作目录 |

| 22 |

os.getcwdu()

返回一个当前工作目录的Unicode对象 |

| 23 |

os.isatty(fd)

如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。 |

| 24 |

os.lchflags(path, flags)

设置路径的标记为数字标记,类似 chflags(),但是没有软链接 |

| 25 |

os.lchmod(path, mode)

修改连接文件权限 |

| 26 |

os.lchown(path, uid, gid)

更改文件所有者,类似 chown,但是不追踪链接。 |

| 27 |

os.link(src, dst)

创建硬链接,名为参数 dst,指向参数 src |

| 28 |

os.listdir(path)

返回path指定的文件夹包含的文件或文件夹的名字的列表。 |

| 29 |

os.lseek(fd, pos, how)

设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效 |

| 30 |

os.lstat(path)

像stat(),但是没有软链接 |

| 31 |

os.major(device)

从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。 |

| 32 |

os.makedev(major, minor)

以major和minor设备号组成一个原始设备号 |

| 33 |

os.makedirs(path[, mode])

递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。 |

| 34 |

os.minor(device)

从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )。 |

| 35 |

os.mkdir(path[, mode])

以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。 |

| 36 |

os.mkfifo(path[, mode])

创建命名管道,mode 为数字,默认为 0666 (八进制) |

| 37 |

os.mknod(filename[, mode=0600, device])

创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。

|

| 38 |

os.open(file, flags[, mode])

打开一个文件,并且设置需要的打开选项,mode参数是可选的 |

| 39 |

os.openpty()

打开一个新的伪终端对。返回 pty 和 tty的文件描述符。 |

| 40 |

os.pathconf(path, name)

返回相关文件的系统配置信息。 |

| 41 |

os.pipe()

创建一个管道. 返回一对文件描述符(r, w) 分别为读和写 |

| 42 |

os.popen(command[, mode[, bufsize]])

从一个 command 打开一个管道 |

| 43 |

os.read(fd, n)

从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。 |

| 44 |

os.readlink(path)

返回软链接所指向的文件 |

| 45 |

os.remove(path)

删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。 |

| 46 |

os.removedirs(path)

递归删除目录。 |

| 47 |

os.rename(src, dst)

重命名文件或目录,从 src 到 dst |

| 48 |

os.renames(old, new)

递归地对目录进行更名,也可以对文件进行更名。 |

| 49 |

os.rmdir(path)

删除path指定的空目录,如果目录非空,则抛出一个OSError异常。 |

| 50 |

os.stat(path)

获取path指定的路径的信息,功能等同于C API中的stat()系统调用。 |

| 51 |

os.stat_float_times([newvalue])

决定stat_result是否以float对象显示时间戳

|

| 52 |

os.statvfs(path)

获取指定路径的文件系统统计信息 |

| 53 |

os.symlink(src, dst)

创建一个软链接 |

| 54 |

os.tcgetpgrp(fd)

返回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组 |

| 55 |

os.tcsetpgrp(fd, pg)

设置与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组为pg。 |

| 56 |

os.tempnam([dir[, prefix]])

返回唯一的路径名用于创建临时文件。 |

| 57 |

os.tmpfile()

返回一个打开的模式为(w+b)的文件对象 .这文件对象没有文件夹入口,没有文件描述符,将会自动删除。 |

| 58 |

os.tmpnam()

为创建一个临时文件返回一个唯一的路径 |

| 59 |

os.ttyname(fd)

返回一个字符串,它表示与文件描述符fd 关联的终端设备。如果fd 没有与终端设备关联,则引发一个异常。 |

| 60 |

os.unlink(path)

删除文件路径 |

| 61 |

os.utime(path, times)

返回指定的path文件的访问和修改的时间。 |

| 62 |

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

输出在文件夹中的文件名通过在树中游走,向上或者向下。 |

| 63 |

os.write(fd, str)

写入字符串到文件描述符 fd中. 返回实际写入的字符串长度 |

Python 几个重要的内置函数

在学习Python的过程中,有几个比较重要的内置函数:help()函数、dir()函数、input()与raw_input()函数、print()函数、type()函数。

第一、help()函数

Help()函数的参数分为两种:如果传一个字符串做参数的话,它会自动搜索以这个字符串命名的模块、方法等;如果传入的是一个对象,就会显示这个对象的类型的帮助。比如输入help(‘print’),它就会寻找以‘print’为名的模块、类等,找不到就会看到提示信息;而print在Python里是一个保留字,和pass、return同等,而非对象,所以help(print)也会报错。

第二、dir()函数

dir()函数返回任意对象的属性和方法列表,包含模块对象、函数对象、字符串对象、列表对象、字典对象等。尽管查找和导入模块相对容易,但是记住每个模块包含什么却不是这么简单,您并不希望总是必须查看源代码来找出答案。Python提供了一种方法,可以使用内置的dir()函数来检查模块的内容,当你为dir()提供一个模块名的时候,它返回模块定义的属性列表。dir()函数适用于所有对象的类型,包含字符串、整数、列表、元组、字典、函数、定制类、类实例和类方法。

第三、input与raw_input函数

都是用于读取用户输入的,不同的是input()函数期望用户输入的是一个有效的表达式,而raw_input()函数是将用户的输入包装成一个字符串。

第四、Print()函数

Print在Python3版本之间是作为Python语句使用的,在Python3里print是作为函数使用的。

第五、type()函数

Type()函数返回任意对象的数据类型。在types模块中列出了可能的数据类型,这对于处理多种数据类型的函数非常有用,它通过返回类型对象来做到这一点,可以将这个类型对象与types模块中定义类型相比较。

初学者学Python编程如何快速入门?

电子书集合|数据科学速查表|迁移学习实战 ,免费下载

链接:   提取码: z9x7

Python常用的正则表达式处理函数详解

正则表达式是一个特殊的字符序列,用于简洁表达一组字符串特征,检查一个字符串是否与某种模式匹配,使用起来十分方便。

在Python中,我们通过调用re库来使用re模块:

import re

下面介绍Python常用的正则表达式处理函数。

re.match函数

re.match 函数从字符串的起始位置匹配正则表达式,返回match对象,如果不是起始位置匹配成功的话,match()就返回None。

re.match(pattern, string, flags=0)

pattern:匹配的正则表达式。

string:待匹配的字符串。

flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。具体参数为:

re.I:忽略大小写。

re.L:表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境。

re.M:多行模式。

re.S:即 . ,并且包括换行符在内的任意字符(. 不包括换行符)。

re.U:表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库。

re.X:为了增加可读性,忽略空格和 # 后面的注释。

import re #从起始位置匹配 r1=re.match('abc','abcdefghi') print(r1) #不从起始位置匹配 r2=re.match('def','abcdefghi') print(r2)

运行结果:

其中,span表示匹配成功的整个子串的索引。

使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

group(num):匹配的整个表达式的字符串,group() 可以一次输入多个组号,这时它将返回一个包含那些组所对应值的元组。

groups():返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

import re s='This is a demo' r1=re.match(r'(.*) is (.*)',s) r2=re.match(r'(.*) is (.*?)',s) print(r1.group()) print(r1.group(1)) print(r1.group(2)) print(r1.groups()) print() print(r2.group()) print(r2.group(1)) print(r2.group(2)) print(r2.groups())

运行结果:

上述代码中的(.*)和(.*?)表示正则表达式的贪婪匹配与非贪婪匹配。

re.search函数

re.search函数扫描整个字符串并返回第一个成功的匹配,如果匹配成功则返回match对象,否则返回None。

re.search(pattern, string, flags=0)

pattern:匹配的正则表达式。

string:待匹配的字符串。

flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

import re #从起始位置匹配 r1=re.search('abc','abcdefghi') print(r1) #不从起始位置匹配 r2=re.search('def','abcdefghi') print(r2)

运行结果:

使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

group(num=0):匹配的整个表达式的字符串,group() 可以一次输入多个组号,这时它将返回一个包含那些组所对应值的元组。

groups():返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

import re s='This is a demo' r1=re.search(r'(.*) is (.*)',s) r2=re.search(r'(.*) is (.*?)',s) print(r1.group()) print(r1.group(1)) print(r1.group(2)) print(r1.groups()) print() print(r2.group()) print(r2.group(1)) print(r2.group(2)) print(r2.groups())

运行结果:

从上面不难发现re.match与re.search的区别:re.match只匹配字符串的起始位置,只要起始位置不符合正则表达式就匹配失败,而re.search是匹配整个字符串,直到找到一个匹配为止。

re.compile 函数

compile 函数用于编译正则表达式,生成一个正则表达式对象,供 match() 和 search() 这两个函数使用。

re.compile(pattern[, flags])

pattern:一个字符串形式的正则表达式。

flags:可选,表示匹配模式,比如忽略大小写,多行模式等。

import re #匹配数字 r=re.compile(r'\d+')  r1=r.match('This is a demo') r2=r.match('This is 111 and That is 222',0,27) r3=r.match('This is 111 and That is 222',8,27)   print(r1) print(r2) print(r3)

运行结果:

findall函数

搜索字符串,以列表形式返回正则表达式匹配的所有子串,如果没有找到匹配的,则返回空列表。

需要注意的是,match 和 search 是匹配一次,而findall 匹配所有。

findall(string[, pos[, endpos]])

string:待匹配的字符串。

pos:可选参数,指定字符串的起始位置,默认为0。

endpos:可选参数,指定字符串的结束位置,默认为字符串的长度。

import re #匹配数字 r=re.compile(r'\d+')  r1=r.findall('This is a demo') r2=r.findall('This is 111 and That is 222',0,11) r3=r.findall('This is 111 and That is 222',0,27)   print(r1) print(r2) print(r3)

运行结果:

re.finditer函数

和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

re.finditer(pattern, string, flags=0)

pattern:匹配的正则表达式。

string:待匹配的字符串。

flags:标志位,用于控制正则表达式的匹配方式,如是否区分大小写,多行匹配等。

import re  r=re.finditer(r'\d+','This is 111 and That is 222') for i in r:   print (i.group())

运行结果:

re.split函数

将一个字符串按照正则表达式匹配的子串进行分割后,以列表形式返回。

re.split(pattern, string[, maxsplit=0, flags=0])

pattern:匹配的正则表达式。

string:待匹配的字符串。

maxsplit:分割次数,maxsplit=1分割一次,默认为0,不限次数。

flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等。

import re  r1=re.split('\W+','This is 111 and That is 222')  r2=re.split('\W+','This is 111 and That is 222',maxsplit=1)  r3=re.split('\d+','This is 111 and That is 222')  r4=re.split('\d+','This is 111 and That is 222',maxsplit=1)  print(r1) print(r2) print(r3) print(r4)

运行结果:

re.sub函数

re.sub函数用于替换字符串中的匹配项。

re.sub(pattern, repl, string, count=0, flags=0)

pattern:正则中的模式字符串。

repl:替换的字符串,也可为一个函数。

string:要被查找替换的原始字符串。

count:模式匹配后替换的最大次数,默认0表示替换所有的匹配。

import re  r='This is 111 and That is 222' # 删除字符串中的数字 r1=re.sub(r'\d+','',r) print(r1) # 删除非数字的字符串  r2=re.sub(r'\D','',r) print(r2)

运行结果:

到此这篇关于Python常用的正则表达式处理函数详解的文章就介绍到这了,希望大家以后多多支持!

Python基础入门-函数的定义与使用

通过关键字def来创建函数,def的作用是实现python中函数的创建

函数定义过程:

函数名+()小括号执行函数

函数体内对全局变量只能读取,不能修改

局部变量,无法在函数体外使用

python 使用 lambda 来创建匿名函数。

所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。


网站题目:python基本函数教程 python的基础函数
文章位置:http://cdkjz.cn/article/hpiise.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220