python数学函数键盘 python函数的写法

python 基础教程 运算
a = 21
b = 10
c = 0
c = ab
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 ( ab ):
print "3 - a 不等于 b"
else:
print "3 - a 等于 b"
if ( ab ):
print "4 - a 小于 b"
else:
print "4 - a 大于等于 b"
if ( ab ):
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 = ab
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:
【python数学函数键盘 python函数的写法】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 num0:# 值小于零时输出
print 'error'
else:
print 'roadman'# 条件均不成立时输出
循环语句:
count = 0
while (count9):
print 'The count is:', count
count = count1
print "Good bye!"
i = 1
while i10:
i= 1
if i :# 非双数时跳过输出
continue
print i# 输出双数2、4、6、8、10
i = 1
while 1:# 循环条件为1必定成立
print i# 输出1~10
i= 1
if i10:# 当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.mkdiros.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编写用pow()函数计算球的体积?使用键盘输入值并不是编辑表中值的唯一方式 。在某些情况下,为了设置字段值 , 可能要对单条记录甚至是所有记录执行数学计算 。您可以对所有记录或选中记录执行简单计算和高级计算 。此外,还可以在属性表中的字段上计算面积、长度、周长和其他几何属性 。以下各部分包括使用字段计算器的若干示例 。使用 Python、SQL 和 Arcade 执行计算 。
本主题着重于基于 Python 的计算字段示例 。要了解有关 Arcade 表达式的详细信息,请参阅 ArcGIS Arcade 指南 。要了解有关 SQL 表达式的详细信息,请参阅计算字段 。
注:
Python 强制将缩进作为语法的一部分 。请使用两个或四个空格来定义每个逻辑级别 。将语句块的开头和结尾对齐并且保持一致 。
Python 计算表达式字段将使用惊叹号 (!!) 括起 。
命名变量时,请注意 Python 区分大小写,因此 value 不同于 Value 。
输入语句后,如果想将其写入文件,请单击导出 。导入按钮将提示您查找和选择一个现有的计算文件 。
简单计算
仅通过一个短表达式就可以计算出多种计算结果 。
简单字符串示例
一系列 Python 字符串函数均支持使用字符串,包括 capitalize、rstrip 和 replace 。
将 CITY_NAME 字段中字符串的首字母大写 。
!CITY_NAME!.capitalize()
去掉 CITY_NAME 字段中自字符串结尾起的所有空白区 。
!CITY_NAME!.rstrip()
将 STATE_NAME 字段中的“california”全部替换为“California” 。
!STATE_NAME!.replace("california", "California")
在 Python 中,字符串字段中的字符可以通过索引和分割操作进行访问 。索引操作将在索引位置提取字符,而分割操作则会提取一组字符 。在下表中,假设 !fieldname! 是值为 "abcde" 的字符串字段 。
示例
说明
结果
!fieldname![0]
第一个字符
"a"
!fieldname![-2]
倒数第二个字符
"d"
!fieldname![1:4]
第二、三和四个字符
"bcd"
Python 也支持使用 format() 方法的字符串格式 。
将合并后的 FieldA 和 FieldB 以冒号分隔开 。
"{}:{}".format(!FieldA!, !FieldB!)
常见 Python 字符串操作
简单数学示例
Python 提供了处理数字的工具 。Python 也支持一些数值和数学函数,包括 math、cmath、decimal、random、itertools、functools 和 operator 。
运算符
说明
示例
结果
xy
x 加上 y
1.52.5
4.0
x - y
x 减去 y
3.3 - 2.2
1.1
x * y
x 乘以 y
2.0 * 2.2
4.4
x / y
x 除以 y
4.0 / 1.25
3.2
x // y
x 除以 y(向下取整除法)
4.0 // 1.25
3.0
x % y
x 模 y
8 % 3
2
-x
x 的负数表达式
x = 5
-x
-5
x
x 不变
x = 5
x
5
x ** y
以 x 为底 , 以 y 为指数的幂
2 ** 3
8

!Rank! * 2
根据给定的半径字段计算球体的体积 。
4.0 / 3.0 * math.pi * !Radius! ** 3
旧版本:
在 ArcGIS Pro 中,使用的是 Python 3,在 ArcGIS Desktop 中,使用的 Python 2 。Python 2 使用的是整型数学计算,这就意味着两个整型值相除将始终生成整型值 (3 / 2 = 1) 。在 Python 3 中,两个整型值相除将生成浮点型值 (3 / 2 = 1.5) 。
Python 内置函数
Python 包含多个可用的内置函数,包括 max、min、round 和 sum 。
Python 内置函数
通过字段列表计算每条记录的最大值 。
max([!field1!, !field2!, !field3!])
通过字段列表计算每条记录的总和 。
sum([!field1!, !field2!, !field3!]) 使用代码块
通过 Python 表达式和代码块参数可执行以下操作:
在表达式中应用任意 Python 函数 。
访问地理处理函数和对象 。
访问要素几何的属性 。
访问新的随机值运算符 。
使用 if-then-else 逻辑对值进行重分类 。
表达式类型
代码块
Python 3
支持 Python 功能 。使用 Python 函数 (def) 表示代码块 。在适当的情况下,几何属性将通过地理处理对象表示(如点对象) 。
Arcade
支持 Arcade 功能 。
SQL
支持 SQL 表达式 。
执行 SQL 表达式可以更好地支持使用要素服务和企业级地理数据库的计算 , 尤其是在性能方面 。使用该表达式可以将单次请求设置为要素服务或数据库,而不必一次执行一个要素或一行的计算 。
旧版本:
在 ArcGIS Desktop 中,计算字段工具支持 VB、PYTHON 和 PYTHON_9.3 表达式类型 。VB 表达式类型,在某些产品中受支持,但在 64 位产品中不受支持,其中包括 ArcGIS Pro 。
出于相后兼容性考量 , ArcGIS Pro 中仍然支持 PYTHON 和 PYTHON_9.3 关键字,但是不会作为选择列出 。使用这些关键字的 Python 脚本将可继续使用 。
Python 3 表达式类型与旧版 PYTHON_9.3 关键字的唯一区别在于 Python 3 会将日期字段中的值作为 Python datetime 对象返回 。
注:
Python 3 表达式类型与随 ArcGIS Pro 安装的 Python 版本无关 。这只是历史上的第三个 Python 相关关键字(继 PYTHON 和 PYTHON_9.3 之后 。
各 Python 函数可通过 def 关键字定义,关键字后为函数名称及函数的输入参数 。可编写 Python 函数,使 Python 函数能够接受任何数量的输入参数(也可以没有任何参数) 。函数将通过 return 语句返回值 。函数名称可由您自行选?。ú坏檬褂每崭? ,也不得以数字开头) 。
注:
如果函数未通过 return 语句显式返回值,则函数将返回 None 。
注:
请牢记,Python 强制要求将缩进作为语法的一部分 。请使用四个空格来定义每个逻辑级别 。将语句块的开头和结尾对齐并且保持一致 。
代码示例 - 数学
在使用以下数学示例时,请假设表达式类型为 Python 3 。
将字段的值四舍五入为保留两位小数 。
表达式:
round(!area!, 2)
通过 math 模块将米转换成英尺 。以转换值为底,以 2 为指数进行幂运算 , 然后再乘以 area 。
表达式:
MetersToFeet((float(!shape.area!)))
代码块:
import math
def MetersToFeet(area):
return math.pow(3.2808, 2) * area 通过 Python 逻辑计算字段
可以使用 if、else 和 elif 语句将逻辑模式包含在代码块中 。
按照字段值进行分类 。
表达式:
Reclass(!WELL_YIELD!)
代码块:
def Reclass(WellYield):
if (WellYield = 0 and WellYield = 10):
return 1
elif (WellYield10 and WellYield = 20):
return 2
elif (WellYield20 and WellYield = 30):
return 3
elif (WellYield30):
return 4 代码实例 - 几何
除以下代码示例外,请参阅下方的“几何单位转换”部分 , 以了解有关转换几何单位的详细信息 。
计算某要素的面积 。
表达式:
!shape.area!
计算某要素的最大 x 坐标 。
表达式:
!shape.extent.XMax!
计算某要素中的折点数 。
表达式:
MySub(!shape!)
代码块:
def MySub(feat):
partnum = 0
# Count the number of points in the current multipart feature
partcount = feat.partCount
pntcount = 0
# Enter while loop for each part in the feature (if a singlepart
# feature, this will occur only once)
while partnumpartcount:
part = feat.getPart(partnum)
pnt = part.next()
# Enter while loop for each vertex
while pnt:
pntcount= 1
pnt = part.next()
# If pnt is null, either the part is finished or there
# is an interior ring
if not pnt:
pnt = part.next()
partnum= 1
return pntcount
将点要素类中每个点的 x 坐标平移 100 。
表达式:
shiftXCoordinate(!SHAPE!)
代码块:
def shiftXCoordinate(shape):
shiftValue = https://www.04ip.com/post/100
point = shape.getPart(0)
point.X= shiftValue
return point 几何单位转换
几何字段的面积和长度属性可通过用 @ 符号表示的单位类型进行修改 。
面积测量单位关键字:
ACRES | ARES | HECTARES | SQUARECENTIMETERS | SQUAREDECIMETERS | SQUAREINCHES | SQUAREFEET | SQUAREKILOMETERS | SQUAREMETERS | SQUAREMILES | SQUAREMILLIMETERS | SQUAREYARDS | SQUAREMAPUNITS | UNKNOWN
线性测量单位关键字:
CENTIMETERS | DECIMALDEGREES | DECIMETERS | FEET | INCHES | KILOMETERS | METERS | MILES | MILLIMETERS | NAUTICALMILES | POINTS | UNKNOWN | YARDS
注:
如果数据存储在地理坐标系中且具有线性单位(例如英尺),则会通过测地线算法转换长度计算的结果 。
警告:
转换地理坐标系中数据的面积单位会生成不正确的结果,这是由于沿 globe 的十进制度并不一致 。
计算某要素的长度(以码为单位) 。
表达式:
!shape.length@yards!
计算某要素的面积(以英亩为单位) 。
表达式:
!shape.area@acres!
测地线面积和长度也可以通过带 @(后跟测量单位关键字)的 geodesicArea 和 geodesicLength 属性进行计算 。
计算某要素的测地线长度(以码为单位) 。
表达式:
!shape.geodesicLength@yards!
计算某要素的测地线面积(以英亩为单位) 。
表达式:
!shape.geodesicArea@acres! 代码实例 - 日期
日期和时间可使用 datetime 和 time 模块进行计算 。
计算当前日期 。
表达式:
time.strftime("%d/%m/%Y")
计算当前日期和时间 。
表达式:
datetime.datetime.now()
计算的日期为 2000 年 12 月 31 日 。
表达式:
datetime.datetime(2000, 12, 31)
计算当前日期和字段中的值之间的天数 。
表达式:
(datetime.datetime.now() - !field1!).days
通过向字段中的日期值添加 100 天来计算日期 。
表达式:
!field1!datetime.timedelta(days=100)
计算字段中的日期值为一周中的周几(例如,星期天) 。
表达式:
!field1!.strftime('%A') 代码实例 - 字符串
可以使用多种 Python 编码模式来完成字符串计算 。
返回最右侧三个字符 。
表达式:
!SUB_REGION![-3:]
将所有大写字母 P 替换为小写字母 p 。
表达式:
!STATE_NAME!.replace("P","p")
通过空格分隔符串连两个字段 。
表达式:
!SUB_REGION!" "!STATE_ABBR! 转换为正确的大小写形式
下列各例显示的是转换单词的不同方法,这些方法可使每个单词的首字母变为大写、其余字母变为小写 。
表达式:
' '.join([i.capitalize() for i in !STATE_NAME!.split(' ')]) 表达式:
!STATE_NAME!.title() 正则表达式
Python 的 re 模块提供了正则表达式匹配操作,可用于对字符串执行复杂的模式匹配和替换规则 。
re - 正则表达式运算正则表达式的用法
使用单词 Street 替换 St 或 St. , 在字符串的末尾生成一个新单词 。
表达式:
update_street(!ADDRESS!)
代码块:
import re
def update_street(street_name):
return re.sub(r"""\b(St|St.)\Z""",
'Street',
street_name) 累加计算和顺序计算
可以使用全局变量来进行累加计算和顺序计算 。
根据某间隔值计算顺序 ID 或数字 。
表达式:
autoIncrement()
代码块:
rec=0
def autoIncrement():
global rec
pStart = 1 # adjust start value, if req'd
pInterval = 1 # adjust interval value, if req'd
if (rec == 0):
rec = pStart
else:
rec = recpInterval
return rec
计算数值型字段的累加值 。
表达式:
accumulate(!FieldA!)
代码块:
total = 0
def accumulate(increment):
global total
if total:
total= increment
else:
total = increment
return total
计算数值型字段的百分比增量 。
表达式:
percentIncrease(float(!FieldA!))
代码块:
lastValue = https://www.04ip.com/post/0
def percentIncrease(newValue):
global lastValue
if lastValue:
percentage = ((newValue - lastValue) / lastValue) * 100
else:
percentage = 0
lastValue = https://www.04ip.com/post/newValue
return percentage 随机值
可以使用 random 模块来计算随机值 。
通过 numpy 站点包来计算 0.0 和 1.0 之间的随机浮点值 。
表达式:
getRandomValue()
代码块:
import numpy
def getRandomValue():
return numpy.random.random()
使用随机模块来计算 0 与 10 之间的随机整数 。
表达式:
random.randint(0, 10)
代码块:
import random 计算空值
在 Python 表达式中,可通过 Python None 来计算空值 。
注:
仅当该字段为空时,才可以进行以下计算 。
使用 Python None 计算空值 。
表达式:
None 相关主题
有关字段计算的基础知识
授权转载:gisoracle
网课学习权威结业证书
我们精心汇总了一些相对简单
培训考核通过便可获取的证书
自然资源部职鉴中心发证
可用于招投标、资质系统

测绘师继续教育20学时
中国测绘网新媒体中心
cehui8@qq.com
商务合作/微信 214979525
python里面有哪些自带函数?python系统提供了下面常用的函数:
1. 数学库模块(math)提供了很多数学运算函数;
2.复数模块(cmath)提供了用于复数运算的函数;
3.随机数模块(random)提供了用来生成随机数的函数;
4.时间(time)和日历(calendar)模块提供了能处理日期和时间的函数 。
注意:在调用系统函数之前,先要使用import 语句导入 相应的模块
该语句将模块中定义的函数代码复制到自己的程 序中,然后就可以访问模块中的任何函数,其方 法是在函数名前面加上“模块名.” 。
希望能帮到你 。
关于python数学函数键盘和python函数的写法的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读