我在用这个属性的时候也遇到了这个问题。但是其实不是div中这个属性无效,我的代码中应用这个属性的div内容是中英文混写的 ,<div style="text-transform:capitalize;">首字母大写转换:i am fRom china。</div>,我将div里面的“:”删掉,换成空格之后就成功显示了。
可以参考一下。
一,python整数类型所表示的数据。
1,一般用以表示一类数值:所有正整数,0和负整数;。
2,整型作为最常用的,频繁参与计算的数据类型,在python3.5中解释器会自动在内存中创建-5-3000之间的(包含5,不包含3000)整型对象,也就是说在该范围内,相等都是同一个已经创建好的整型对象。范围之外的即使相等也表示不同对象,该特性随python版本而改变,不要过于依赖。
3,bool型继承了int型,他是int的子类。
4,Python2中有长整型long,数值范围更大,在python3中已取消,所有整型统一由int表示。
5,参与所有数值计算,数学运算,科学计算。这也是所有编程语言都有的数据类型,因为编程语言生而需要模拟人的思维,借助数学方式,自动计算、更好的解决大量重复性的事务,因此数值类型、整数类型在编程语言中不可或缺。
6,支持二进制(0b\0B开头),十进制,八进制(0o\0O),十六进制(0x\0X)。
二,python整数和浮点型支持常规的数值运算。
整数和浮点数都可参与的运算:+ - * / %(取余) //(整除) **(幂)
Python字符型:
python字符型表示的数据:
python3支持Unicode编码,由字母、数字和符号组成的形式就叫字符串,更接近或者相同与人们文字符号表示,因此在信息表示和传递时它也是最受认可的形式。在程序编写中也是非常常用,对应的可操作的方法也很多,很有意思。
字符串不可被修改,可以拼接等方法创建新字符串对象;
支持分片和下标操作;a[2:]。
支持+拼接,*重复操作和成员关系in/not in;
表示形式:用单引号双引号包含起来的符号;a = str(‘sdfsdfsdf’) 或 r’\t\nabcd’ 原始字符,Bytes:b’abcd’;
6,字符串属于不可变数据类型,内部机制为了节省空间,相同的两个字符串表示相同的一个对象。a = ‘python’ b = ‘python’ a is b :True。
二, 字符串支持的运算方法
1,capitalize() :首字母大写后边的字母小写 a = ‘abcd’ b = a.capitalize() b:Abcd。
2,casefold() lower():字母转换为全小写。
3,center(width,fillchar) :居中,width填补的长度;fillchar添加的字符。
a = a.center(10,’_’) //’____abcd____’ 默认无fillchar填充空格。
4,count(sub,star,end) :字母计数:sub要查询的字符。
5,encode(encoding=’utf-8’,errors=’strict’) 设置编码。
Errors :设置错误类型。
6,endswith(suffix,star,end) : 若以suffix结尾返回True。
7,expandtabs(8) :设置字符串中tab按键符的空格长度:’\tabcde’
8,find(sub,star,end) : 返回指定范围内的字符串下标,未找到返回-1。
9,index(sub,star,end) :返回指定范围字符串下标未找到抛出异常。
10,isalnum() :判断字符串是否是字母或数字,或字母和数字组合。
11,isalpha() :判断是否全是字母。
12,isdecimal() :判断字符串是否是十进制数值。
13,isdigit() :判断字符串是否是数字。
14,isidentifier() :判断字符串中是否包含关键字。
15,islower() :判断是否全小写。
16,isnumeric() :判断全是数字。
17,isspace() :判断是否是空格。
18,isupper() 判断是否大写。
19,istitle() :判断是否首字母大写。
20,join(iterable) :把可迭代对象用字符串进行分割:a.join(‘123’)。
21,ljust(width,fillchar);rjust() :左对齐右对齐。
22, upper() :将字符串改为大写。
23,split(sep=None,maxsplit=-1) :分割一个字符串,被选中字符在字符串中删除。
‘ab1cd1efg’.split(‘1’) :[‘ab’,’cd’,’efg’]。
三,字符串格式化:按照规格输出字符串。
format(*args,**kwargs) :args位置参数,kwargs关键字参数。
‘{0:.1f}’.format(123.468) :格式化参数,小数点后保留1位四舍五入。
四,字符串操作符%
1,%s :格式化字符串 ‘abcd%sdef’%’dddd’
2,%d:格式化整数。
3,%o格式化无符号八进制。
4,%x格式化无符号十六进制。
5,%f格式化定点数。
6, %e: 科学计数法格式化定点数。
7,%g 根据值大小自动选%f,%e。
8, %G E X :大写形式。
五,格式化辅助命令:
m.n :m最小总宽度,n小数点后位数:’%12.4f’%23456.789。
六,转义字符:字符串前r避免转义:r’\nhello\thi’
\n:换行符
\t:横向制表符
\':'
\":"
\b:退格符
\r:回车
\v:纵向制表符
\f:换页符
\o,\x:八进制和十六进制
\0:空字符串
Python列表list
一,Python的列表list类型表示的数据:
Python列表在cpython中被解释为长度可变的数组,用其他对象组成的连续数组。
列表中元素可以是相同或不同的数据类型;
当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙,总是连续的。
Python中的列表是一个序列,也是一个容器类型。
创建列表:a = []; b = [1,’python’]; c = list(); d = list((1,3,4,5))。
支持切片操作list[start,stop,step]。
python列表常用方法
1,append添加单个元素:list.append(object); //a.append(‘python’)。
2,extend添加可迭代对象: list.extend(iterable); //a.extend(‘abcde’/[1,2,3])。
3,insert 插入元素:list.insert(index,object): 在index下标前插入元素//a.insert(2,’python’)。
4,clear 清空所有元素:list.clear() //a.clear()。
5,pop 删除并返回一个元素:list.pop(index) //默认删除默认一个元素。
remove 删除指定元素:list.remove(v) ,v元素不存在报错 //a.remove(‘c’)。
7,count 返回这个值在列表中数量:list.count(value)。
8,copy 浅拷贝一个新列表:list.copy()。
9,sort:排序list.sort(reverse=False/True) :默认升序。
排序函数:sorted(list)。
10,reverse: 原地翻转:list.reverse()。
11,index(value,star,stop) :指定范围内该值下标:list.index(2,0,5)。
列表元素访问:
下标访问:list[1]
For循环遍历
通过下标修改元素:list[2 ] = ‘hello’
列表常用运算符:
1,比较运算符:从第一个元素开始对比。
2,+ 拼接一个新列表:l1+ l2。
3, 重复操作符:* ,多个列表拼接。
成员关系操作符:in/ not in。
逻辑运算符:and not or。
列表常用的排序方法:
冒泡排序;选择排序;快速排序;归并排序。
Python元组tuple
一,Python元组tuple数据类型表示的数据:
元组是受到限制的、不可改变的列表;
可以是同构也可以是异构;
元组是序列类型、是可迭代对象,是容器类型。
元组的创建: a = (1,2,3)或a=1,2,3; b = tuple(); c = tuple(iterable)。
支持切片操作tuple[start,stop,step]。
二,python元组常用方法
1,index(value,star,stop) :指定范围内该值下标:tuple.index(2,0,5)。
2,count(value) :值出现次数。
三,支持运算:
1,比较运算符:从第一个元素开始对比。
2,+ 拼接一个新元组:l1+ l2。
3, 重复操作符:* ,多个元组拼接。
4成员关系操作符:in/ not in。
逻辑运算符:and not or。
四,元组的访问
下标操作;
For循环遍历访问。
Python字典类型
一,Python字典dict表示的数据:{key:value}。
可根据关键字:键快速索引到对应的值;
字典是映射类型,键值对一一对应关系,不是序列;
字典元素是无序的;
字典是可迭代对象,是容器类型;
字典的创建:k = {}; k1={‘keyword’:object}; k2 = dict();。
K3 = dict(mapping); dict=(iterable)。
二,字典的访问:
通过key:k[‘key’]。
修改key对应的值:K[‘key’] = value。
For循环遍历出来的是key;
For循环键值对:for I in d.items():。
For 循环enumerate: for k,v in enumerate(k1):。
In/not in 成员关系查询键不支持查值。
三,字典常用方法
get(key,de):获取值:k.get(key,de) //若不存在则默认输出de。
pop(k,de):删除一个键值对,不存在输出de,未设置报错;
keys() :返回字典所有key组成的序列:list(k.keys()) [1,2,3];。
values():返回字典所有value组成的序列:list(k.values())。
items():返回键值对组成的元组为元素的序列:(类set)list(k.items())。
update(e):更新字典:e可是字典或两元素组成的单位元素序列:e=[(5,6),(7,8)];。
k.update(e)
clear():清空字典;
popitem()删除某个键值对,若字典为空则报错。
copy() :浅拷贝
10, fromkeys(iterable,value=None):从可迭代对象创建字典。
{}.fromkeys([1,2,3]) -----{1:None,2:None,3:None}。
11,setdefault(k,d=None) :若key不存在则生成一个键值对。
k.setdefault(‘keyword’)。
Python 集合set
集合表示的数据:
多个元素的无序组合,集合是无序的,集合元素是唯一的;
字典的键是由集合实现的;
集合是可迭代对象
集合创建:s = {1,2}; s1 = set(); s2 = set(iterable)。
集合元素的访问:
For 循环将集合所有元素全部访问一遍,不重复。
常用方法:
add(object):s.add(‘hi’) 向集合添加一个元素。
pop() :弹栈,集合为空则报错:删除任意一个元素;
clear():清空集合,返回一个空集合对象;
remove(object):删除一个元素,不存在和报错:s.remove(‘hi’)。
update(集合):更新另一个集合,元素不存在则不更新;
copy() :浅拷贝
集合的运算:
交集:s1&s2;
差集,补集:s1-s2;
并集:s1|s2;
Issubset():判断是否是子集:s1.issubset(s2) s1是否s2的集合子集。
Issuperset():判断是否是父集:s1.issuperset()。
不可变集合:
Frozenset():返回一个空的不可变集合对象。
Frozenset(iterable):。
S = frozenset(iterable)。
Python序列类型共同特性
一,序列类型共同特性
python序列类型有:str字符串,list列表,tuple元组。
都支持下标索引,切片操作;
下标都是从0开始,都可通过下标进行访问;
拥有相同的操作符
二,支持的函数:
len(obj):返回对象长度;
list(iterable):将可迭代对象转为列表;
tuple(iterable):将可迭代对象转为元组;
str(ojb):将任何对象转为字符串形式;
max(iterable): python3中元素要是同类型,python2中元素可异构:max([‘a’,1])。
min(iterable):和max类似;
sum(iterable,star=0),求可迭代对象和,默认star为0,元素不能为字符串。
sorted(iterable,key=None,reverse=False)。
s=[(‘a’,3),(‘b’,2),(‘c’,9)]。
sorted(s,key=lambda s:s[1]) //按照数字排序。
reversed(sequence):翻转序列,返回迭代器。
enumerate(iterable):返回enumerate对象,其元素都是一个元组(下标,值)
zip(iter1,iter2): zip([1,2],[3,4]) ----[(1,3),(2,4)]。
序列类型的切片操作:
Slice:
L[index]; 访问某个元素;
L[1:4]; 区间。
L[star:stop:step]; 设置步长取区间元素。
今天小编要跟大家分享的文章是关于Web前端工程师要掌握的JavaScript代码片段(一)。正在从事web前端工作的小伙伴们来和小编一起看一看吧,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助。
1、Anagramsofstring(带有重复项)。
使用递归。对于给定字符串中的每个字母,为字母创建字谜。使用map()将字母与每部分字谜组合,然后使用reduce()将所有字谜组合到一个数组中,最基本情况是字符串长度等于2或1。
constanagrams=str=>{。
if(str.length[str];。
returnstr.split('').reduce((acc,letter,i)=>。
acc.concat(anagrams(str.slice(0,i)+str.slice(i+1)).map(val=>。
letter+val)),[]);。
};
//anagrams('abc')->['abc','acb','bac','bca','cab','cba']。
2、数组平均数
使用reduce()将每个值添加到累加器,初始值为0,总和除以数组长度。
constaverage=arr=>arr.reduce((acc,val)=>acc+val,0)/。
arr.length;
//average([1,2,3])->2。
3、大写每个单词的首字母
使用replace()匹配每个单词的第一个字符,并使用toUpperCase()来将其大写。
constcapitalizeEveryWord=str=>str.replace(/\b[a-z]/g,char=>。
char.toUpperCase());。
//capitalizeEveryWord('helloworld!')->'HelloWorld!'。
4、首字母大写
使用slice(0,1)和toUpperCase()大写第一个字母,slice(1)获取字符串的其余部分。省略lowerRest参数以保持字符串的其余部分不变,或将其设置为true以转换为小写。(注意:这和上一个示例不是同一件事情)。
constcapitalize=(str,lowerRest=false)=>。
str.slice(0,1).toUpperCase()+(lowerRest?str.slice(1).toLowerCase():。
str.slice(1));
//capitalize('myName',true)->'Myname'。
5、检查回文
将字符串转换为toLowerCase(),并使用replace()从中删除非字母的字符。然后,将其转换为tolowerCase(),将('')拆分为单独字符,reverse(),join(''),与原始的非反转字符串进行比较,然后将其转换为tolowerCase()。
constpalindrome=str=>{。
consts=str.toLowerCase().replace(/[\W_]/g,'');。
returns===s.split('').reverse().join('');。
//palindrome('tacocat')->true。
6、计数数组中值的出现次数
每次遇到数组中的特定值时,使用reduce()来递增计数器。
constcountOccurrences=(arr,value)=>arr.reduce((a,v)=>v===。
value?a+1:a+0,0);。
//countOccurrences([1,1,2,1,2,3],1)->3。
7、当前URL
使用window.location.href来获取当前URL。
constcurrentUrl=_=>window.location.href;。
//currentUrl()->'https://google.com'。
8、Curry
使用递归。如果提供的参数(args)数量足够,则调用传递函数f,否则返回一个curried函数f。
constcurry=(fn,arity=fn.length,...args)=>。
arity
?fn(...args)
:curry.bind(null,fn,arity,...args);。
//curry(Math.pow)(2)(10)->1024。
//curry(Math.min,3)(10)(50)(2)->2。
9、Deepflattenarray。
使用递归,使用reduce()来获取所有不是数组的元素,flatten每个元素都是数组。
constdeepFlatten=arr=>。
arr.reduce((a,v)=>a.concat(Array.isArray(v)?deepFlatten(v):v),。
[]);
//deepFlatten([1,[2],[[3],4],5])->[1,2,3,4,5]。
10、数组之间的区别
从b创建一个Set,然后在a上使用Array.filter(),只保留b中不包含的值。
constdifference=(a,b)=>{consts=newSet(b);returna.filter(x。
=>!s.has(x));};。
//difference([1,2,3],[1,2])->[3]。
11、两点之间的距离
使用Math.hypot()计算两点之间的欧几里德距离。
constdistance=(x0,y0,x1,y1)=>Math.hypot(x1-x0,y1-y0);。
//distance(1,1,2,3)->2.23606797749979。
12、可以按数字整除
使用模运算符(%)来检查余数是否等于0。
constisDivisible=(dividend,divisor)=>dividend%divisor===0;。
//isDivisible(6,3)->true。
13、转义正则表达式
使用replace()来转义特殊字符。
constescapeRegExp=str=>str.replace(/[.*+?^${}()|[\]\\]/g,。
'\\$&');
//escapeRegExp('(test)')->\\(test\\)。
14、偶数或奇数
使用Math.abs()将逻辑扩展为负数,使用模(%)运算符进行检查。如果数字是偶数,则返回true;如果数字是奇数,则返回false。
constisEven=num=>num%2===0;。
//isEven(3)->false。
15、阶乘
使用递归。如果n小于或等于1,则返回1。否则返回n和n-1的阶乘的乘积。
constfactorial=n=>n。
//factorial(6)->720。
16、斐波那契数组生成器
创建一个特定长度的空数组,初始化前两个值(0和1)。使用Array.reduce()向数组中添加值,后面的一个数等于前面两个数相加之和(前两个除外)。
constfibonacci=n=>。
Array(n).fill(0).reduce((acc,val,i)=>acc.concat(i>1?acc[i-。
1]+acc[i-2]:i),[]);。
//fibonacci(5)->[0,1,1,2,3]。
17、过滤数组中的非唯一值
将Array.filter()用于仅包含唯一值的数组。
constfilterNonUnique=arr=>arr.filter(i=>arr.indexOf(i)===。
arr.lastIndexOf(i));。
//filterNonUnique([1,2,2,3,4,4,5])->[1,3,5]。
18、Flatten数组
使用reduce()来获取数组中的所有元素,并使用concat()来使它们flatten。
constflatten=arr=>arr.reduce((a,v)=>a.concat(v),[]);。
//flatten([1,[2],3,4])->[1,2,3,4]。
19、从数组中获取最大值
使用Math.max()与spread运算符(...)结合得到数组中的最大值。
constarrayMax=arr=>Math.max(...arr);。
//arrayMax([10,1,5])->10。
20、从数组中获取最小值
使用Math.min()与spread运算符(...)结合得到数组中的最小值。
constarrayMin=arr=>Math.min(...arr);。
//arrayMin([10,1,5])->1。
21、获取滚动位置
如果已定义,请使用pageXOffset和pageYOffset,否则使用scrollLeft和scrollTop,可以省略el来使用window的默认值。
constgetScrollPos=(el=window)=>。
({x:(el.pageXOffset!==undefined)?el.pageXOffset:el.scrollLeft,。
y:(el.pageYOffset!==undefined)?el.pageYOffset:el.scrollTop});。
//getScrollPos()->{x:0,y:200}。
22、最大公约数(GCD)
使用递归。基本情况是当y等于0时。在这种情况下,返回x。否则,返回y的GCD和x/y的其余部分。
constgcd=(x,y)=>!y?x:gcd(y,x%y);。
//gcd(8,36)->4。
23、Headoflist
返回ARR[0]
consthead=arr=>arr[0];。
//head([1,2,3])->1。
24、list初始化
返回arr.slice(0,-1)。
constinitial=arr=>arr.slice(0,-1);。
//initial([1,2,3])->[1,2]。
以上就是小编今天为大家分享的关于Web前端工程师要掌握的JavaScript代码片段(一)的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助。想要了解更多web前端相关知识和想要了解后面的代码片段的小伙伴,记得关注北大青鸟web培训官网。
使用键盘输入值并不是编辑表中值的唯一方式。在某些情况下,为了设置字段值,可能要对单条记录甚至是所有记录执行数学计算。您可以对所有记录或选中记录执行简单计算和高级计算。此外,还可以在属性表中的字段上计算面积、长度、周长和其他几何属性。以下各部分包括使用字段计算器的若干示例。使用 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
-x
x 的负数表达式
x = 5
-x
-5
+x
x 不变
x = 5
+x
x ** y
以 x 为底,以 y 为指数的幂。
2 ** 3
乘
!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。
给你俩吧!!!如果还想要其他的资料,给我留言。
这是单个的导航条。。。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。
<html xmlns="http://www.w3.org/1999/xhtml">。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />。
<title>nav01</title>。
<style type="text/css"> 。
* {
margin:0;
padding:0;
body {
font-family:Verdana, Arial, Helvetica, sans-serif;。
font-size:11px;。
background:#666;。
#nav {
margin:100px;
list-style:none;。
#nav li {
float:left;
#nav li a {
padding:10px 20px;。
background: url(images/nav.gif) repeat-x;。
color:#fff;
text-decoration:none;。
text-transform:capitalize; 。
display:block;。
#nav li a:hover {。
color:#000;
background:#ccc;。
border:0px solid #000;。
#nav li a:active {。
background: #333333;。
</style>
</head>
<body>
<ul id="nav">。
<li><a href="#">home</a></li>。
<li><a href="#">about</a></li>。
<li><a href="#">news</a></li>。
<li><a href="#">products</a></li>。
<li><a href="#">services</a></li>。
<li><a href="#">cloents</a></li>。
<li><a href="#">blog</a></li>。
<li><a href="#">link</a></li>。
</ul>
</body>
</html>
这是简单网页。。。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。
<html xmlns="http://www.w3.org/1999/xhtml">。
<!-- DW6 -->。
<head>
<!-- Copyright 2005 Macromedia, Inc. All rights reserved. -->。
<title>Home Page</title>。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />。
<link rel="stylesheet" href="mm_health_nutr.css" type="text/css" />。
<script language="JavaScript" type="text/javascript"> 。
//--------------- LOCALIZEABLE GLOBALS ---------------。
var d=new Date();。
var monthname=new Array("January","February","March","April","May","June","July","August","September","October","November","December");。
//Ensure correct for language. English is "January 1, 2004"。
var TODAY = monthname[d.getMonth()] + " " + d.getDate() + ", " + d.getFullYear();。
//--------------- END LOCALIZEABLE ---------------。
</script>。
</head>
<body bgcolor="#F4FFE4">。
<table width="100%" border="0" cellspacing="0" cellpadding="0">。
<tr bgcolor="#D5EDB3">。
<td width="382" colspan="3" rowspan="2"><img src="mm_health_photo.jpg" alt="Header image" width="382" height="101" border="0" /></td>。
<td width="378" height="50" colspan="3" id="logo" valign="bottom" align="center" nowrap="nowrap">insert website name</td>。
<td width="100%"> </td>。
</tr>
<tr bgcolor="#D5EDB3">。
<td height="51" colspan="3" id="tagline" valign="top" align="center">OPTIONAL TAGLINE HERE</td>。
<td width="100%"> </td>。
</tr>
<tr>
<td colspan="7" bgcolor="#5C743D"><img src="mm_spacer.gif" alt="" width="1" height="2" border="0" /></td>。
</tr>
<tr>
<td colspan="7" bgcolor="#99CC66" background="mm_dashed_line.gif"><img src="mm_dashed_line.gif" alt="line decor" width="4" height="3" border="0" /></td>。
</tr>
<tr bgcolor="#99CC66">。
<td colspan="7" id="dateformat" height="20"> <script language="JavaScript" type="text/javascript">。
document.write(TODAY); </script> </td>。
</tr>
<tr>
<td colspan="7" bgcolor="#99CC66" background="mm_dashed_line.gif"><img src="mm_dashed_line.gif" alt="line decor" width="4" height="3" border="0" /></td>。
</tr>
<tr>
<td colspan="7" bgcolor="#5C743D"><img src="mm_spacer.gif" alt="" width="1" height="2" border="0" /></td>。
</tr>
<tr>
<td width="165" valign="top" bgcolor="#5C743D">。
<table border="0" cellspacing="0" cellpadding="0" width="165" id="navigation">。
<tr>。
<td width="165"> <br />。
<br /></td>。
</tr>。
<tr>。
<td width="165"><a href="javascript:;" class="navText">topics</a></td>。
</tr>。
<tr>。
<td width="165"><a href="javascript:;" class="navText">guidelines</a></td>。
</tr>。
<tr>。
<td width="165"><a href="javascript:;" class="navText">educators</a></td>。
</tr>。
<tr>。
<td width="165"><a href="javascript:;" class="navText">special needs</a></td>。
</tr>。
<tr>。
<td width="165"><a href="javascript:;" class="navText">food science</a></td>。
</tr>。
</table>。
<br />。
<br />。
<br />。
<br /> </td>。
<td width="50"><img src="mm_spacer.gif" alt="" width="50" height="1" border="0" /></td>。
<td width="305" colspan="2" valign="top"><img src="mm_spacer.gif" alt="" width="305" height="1" border="0" /><br />。
<br />
<br />
<table border="0" cellspacing="0" cellpadding="0" width="305">。
<tr>。
<td class="pageName">WELCOME MESSAGE</td>。
</tr>
<tr>
<td class="bodyText"><p>This Home Page layout makes a great starting point for your website. Virtually all of the content is customizable, including the images, the text, and the links. You can decide whether to keep the existing graphics or swap them out for pictures of your own.</p>。
<p>The text on this page is intended to help you jumpstart your design by suggesting the sort of content you may want to include, but don't let it limit you. The same is also true for the link text - feel free to change the names of the links to better suit your particular needs. The Home Page layout can be used for multiple pages on your site, or you can choose from the Text, Catalogue, Product, or Calendar layouts as well. Don't be afraid to get creative and combine different page layouts to make your site as engaging as possible. If you have any questions about using Contribute to edit these pages, refer to the Read Me file included with the download or to the Contribute Help System. Have fun and make a great website!</p> </td>。
</tr>。
</table>。
<br />
<br /> </td>。
<td width="50"><img src="mm_spacer.gif" alt="" width="50" height="1" border="0" /></td>。
<td width="190" valign="top"><br />。
<br />。
<table border="0" cellspacing="0" cellpadding="0" width="190" id="leftcol">。
<tr>
<td width="10"><img src="mm_spacer.gif" alt="" width="10" height="1" border="0" /></td>。
<td width="170" class="smallText"><br />。
<p><span class="subHeader">TITLE HERE</span><br />。
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam. </p>。
<p><span class="subHeader">TITLE HERE</span><br />。
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam. </p>。
<p><span class="subHeader">TITLE HERE</span><br />。
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam. </p>。
<br />。
<br /> </td>。
<td width="10"> </td>。
</tr>。
</table> </td>。
<td width="100%"> </td>。
</tr>
<tr>
<td width="165"> </td>。
<td width="50"> </td>。
<td width="167"> </td>。
<td width="138"> </td>。
<td width="50"> </td>。
<td width="190"> </td>。
<td width="100%"> </td>。
</tr>
</table>
</body>
</html>