getrandom函数 maddrey判别函数
很多朋友对于getrandom函数和maddrey判别函数不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
python中get函数用法
在Python中,get()函数是用于从字典中获取指定键的值的方法。
get()的语法是:get(key, default)。其中,key是要获取值的键,default是可选参数,表示如果键不存在时返回的默认值。
使用get()函数的好处是,即使字典中没有指定的键,也不会抛出KeyError异常,而是返回默认值。如果不提供默认值,默认值为None。
下面是一些示例:
#创建一个字典
my_dict={'name':'Alice','age': 18,'gender':'female'}
#获取键name的值
name= my_dict.get('name')
print(name)#输出:Alice
#获取键city的值,由于键不存在,返回默认值Unknown
city= my_dict.get('city','Unknown')
print(city)#输出:Unknown
#不提供默认值,键city不存在,返回默认值None
city= my_dict.get('city')
print(city)#输出:None
python中的常见函数
1、print():用于将指定的内容输出到控制台。
2、len():用于返回指定对象的长度或元素个数。
3、type():用于返回指定对象的数据类型。
4、input():用于从控制台获取用户输入。
5、str():用于将指定对象转换为字符串类型。
6、int():用于将指定对象转换为整数类型。
7、float():用于将指定对象转换为浮点数类型。
8、range():用于生成指定范围内的整数序列。
9、max():用于返回指定对象中的最大值。
10、min():用于返回指定对象中的最小值。
11、sum():用于返回指定对象中所有元素的总和。
12、sorted():用于对指定对象进行排序。
13、abs():用于返回指定数的绝对值。
14、round():用于对指定数进行四舍五入。
15、random():用于生成随机数。
python函数有哪些
1、print()函数:打印字符串;
2、raw_input()函数:从用户键盘捕获字符;
3、len()函数:计算字符长度;
4、format()函数:实现格式化输出;
5、type()函数:查询对象的类型;
6、int()函数、float()函数、str()函数等:类型的转化函数;
7、id()函数:获取对象的内存地址;
8、help()函数:Python的帮助函数;
9、s.islower()函数:判断字符小写;
10、s.sppace()函数:判断是否为空格;
11、str.replace()函数:替换字符;
12、import()函数:引进库;
13、math.sin()函数:sin()函数;
14、math.pow()函数:计算次方函数;
15、os.getcwd()函数:获取当前工作目录;
16、listdir()函数:显示当前目录下的文件;
17、time.sleep()函数:停止一段时间;
18、random.randint()函数:产生随机数;
19、range()函数:返回一个列表,打印从1到100;
20、file.read()函数:读取文件返回字符串;
21、file.readlines()函数:读取文件返回列表;
22、file.readline()函数:读取一行文件并返回字符串;
23、split()函数:用什么来间隔字符串;
24、isalnum()函数:判断是否为有效数字或字符;
25、isalpha()函数:判断是否全为字符;
26、isdigit()函数:判断是否全为数字;
27、 lower()函数:将数据改成小写;
28、upper()函数:将数据改成大写;
29、startswith(s)函数:判断字符串是否以s开始的;
30、endwith(s)函数:判断字符串是否以s结尾的;
31、file.write()函数:写入函数;
32、file.writeline()函数:写入文件;
33、abs()函数:得到某数的绝对值;
34、file.sort()函数:对书数据排序;
35、tuple()函数:创建一个元组;
36、find()函数:查找返回的是索引;
37、dict()函数:创建字典;
38、clear()函数:清楚字典中的所有项;
39、copy()函数:复制一个字典,会修改所有的字典;
40、 get()函数:查询字典中的元素。
…………
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。
运算符
说明
示例
结果
x+ y
x加上 y
1.5+ 2.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(WellYield> 10 and WellYield<= 20):
return 2
elif(WellYield> 20 and WellYield<= 30):
return 3
elif(WellYield> 30):
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 partnum< partcount:
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= 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= rec+ pInterval
return rec
计算数值型字段的累加值。
表达式:
accumulate(!FieldA!)
代码块:
total= 0
def accumulate(increment):
global total
if total:
total+= increment
else:
total= increment
return total
计算数值型字段的百分比增量。
表达式:
percentIncrease(float(!FieldA!))
代码块:
lastValue= 0
def percentIncrease(newValue):
global lastValue
if lastValue:
percentage=((newValue- lastValue)/ lastValue)* 100
else:
percentage= 0
lastValue= 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
关于本次getrandom函数和maddrey判别函数的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。