17/精度Python程序开发指南第一章
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17/精度Python程序开发指南第一章相关的知识,希望对你有一定的参考价值。
要素#1:数据类型
1)Python使用int类型表示整数,使用str类型表示字符串(Unicode字符序列)
Python所能表示的整数大小只受限于机器内存,而非固定数理的字节数,字符串可以用双引号或单引号封装--只要符号是对称的,eg.
1 -973 2 23156 3 0 4 "Python code" 5 ‘Python code‘ 6 "positvely α β γ"
由于Python使用的是Unicode编码,所以字符串的符号不受限于ACSII,比如上面最后一个字符串
2)Python使用方括号([])来存取字符串等序列的某一项,eg.
1 >>>"Hard Times"[5] 2 ‘T‘ 3 >>>"griaffe"[0] 4 ‘g‘
传统上,Python shell使用>>>作为提示符;方括号存取这种语法适用于任意数据类型(只要能构成序列)的数据项,比如字符串或列表;需要注意Python语法中,索引位置是从0开始计数的
3)在Python中,str类型与基本的数值类型(比如int)都是固定的的;唯一想说明的就是:虽然可以用方括号取回字符串某索引位置的字符,但是不能将其设置为新字符(在Python中,字符指长度为1的字符串)
4)如果需要将一个数据项从某种类型转换为另一种类型,那么可以使用语法datatype(item),eg.
1 >>>int("45") 2 45 3 >>>str(912) 4 ‘912‘
int()转换允许头尾处带空格,像int(" 45 ")也是可以的;str()转换几乎适用于所有的数据项
要素#2:对象引用
1 x = "green" 2 y = "blue" 3 z = x
1)在上面的几条语句,语法都是ObjectReference = value;Python不用事先声明变量类型,变量类型由值来决定;在上面第一条语句中,Python先会创建一个str对象,其文本为"green",同时还会创建一个名为x的对象应用,x引用的就是这个str对象,我们可以说"变量x已经被分配了"green";在第三条语句中,创建了一个名为z的对象引用,并将其设置为对象引用x所指的对象;用于对象引用的名称称为标识符
2)Python是大小写敏感的语言,"lim","LIM","Lim"是三个不同的标识符;在测试时,可以用type()函数,会返回给定数据项的数据类型
1 >>>a = 15 2 >>>type(a) 3 <class ‘int‘> 4 >>>b = "blue" 5 >>>type(b) 6 <class ‘str‘>
要素#3:组合数据类型
1)元组与列表可用于存储任意数量,任意类型的数据项;元组是固定的,创建之后不可改变,列表是可变的,在需要的时候可以进行增删改查;圆括号是元组,方括号是列表
1 >>> list = ["one",2,3,4,5] #创建一个列表 2 >>>len(list) 使用Python内置函数len()返回数据项的的长度 3 5 4 >>>tuple = ("Allen","Jack","Mary") #创建一个元组 5 >>>len(tuple) 6 3
要素#4:逻辑操作符
1)身份操作符
is操作符是一个二元操作符,如果其左端的对象引用与右端的对象引用指向同一个对象,则返回True
1 >>>a = [1,"Rention",None] 2 >>>b = [1,"Rention",None] 3 >>>a is b 4 False 5 >>>a = 10 6 >>>b = a 7 >>> a is b 8 True
还可以用is not对身份测试的反向测试
身份操作符的作用是查看两个对象引用是否指向相同的对象,如果要比较对象值,就应该用比较操作符
2)比较操作符
<表示小于,<=表示小于或等于,==表示等于(=表示赋值,与对象绑定),!=表示不等于,>=表示大于或等于,>表示大于
1 >>>a = 2 2 >>>b = 6 3 >>>a == b 4 False 5 >>>a < b 6 True 7 >>>a != b 8 True 9 >>>a = "many" 10 >>>b = "many" 11 >>>a is b 12 False 13 >>>a == b 14 True
从上面看出,a与b虽然是不同的对象,但是具有相同的值,因此比较的结果是相等了
!!!必须同类型的数据才能进行比较!!!
1 >>>a = 4 2 >>>0 <= a <=5 3 True
3)成员操作符
对于数列或集合这类数据类型,我们可以使用操作符in来测试成员关系,用not in测试非成员关系,eg.
1 >>> p = ["is","not","yes"] 2 >>> 3 in p 3 False 4 >>> yes in p 5 True 6 >>> s = "Wa,You are so beautiful" 7 >>> re in s 8 True
3)逻辑运算符
在Python中,逻辑运算符有and,or,not;在布尔上下文中,and和or返回的结果应该是True,False;在short-circuit逻辑中,返回的是决定结果的操作数,eg.
1 #在short-circuit逻辑 2 >>> five = 5 3 >>> two = 2 4 >>> five and two 5 2 6 >>> two or five 7 2
要素#5:控制流语句
1)(补充)在Python中,有一种特殊的控制流,eg.
1 x = 0 2 while x < 5: 3 # if x == 3: 4 # break 5 print(x) 6 x += 1 7 else: 8 print("this is an abnormal operation ")
如果循环是正常退出,则会执行后面的else语句,如果break跳出则不会执行,例如判断素数
要素#6:算术操作符
1)Python有的算术运算符集,包括基本的四则运算+、-、*、/;还有增强运算符+=,-=,*=,/=;额外一个剥离运算符//,eg.
1 >>> 5 + 2 2 7 3 >>> 5 - 2 4 3 5 >>>a = 3 6 >>> a *= 4 # <==> a = a* 4 7 12 8 >>> b = 24 9 >>> b /= 6 #<==> b = b/6 10 4 11 >>> 7 / 2 12 3.5 13 >>> 7 // 2 14 3
如果除法得一个小数,如果需要产生一个整数值可以使用剥离运算符
1 >>> name = "Jack" 2 >>> name + "Joe" #表示连接两个字符串,但不会改变原来的字符串 3 ‘JackJoe‘ 4 >>>name 5 ‘Jack‘ 6 >>> name += "Doe" #扩展字符串,会改变原来的字符串 7 >>> name 8 "JackDoe"
要素#7:输入/输出
1)Python提供input()输入,使用print()输出,eg.
1 print("-----------------------------------") 2 name = input("Please enter your name:") #input()带参数作为提示输入信息 3 print("Oh,Your name is ",name) 4 5 #运行结果如下: 6 ----------------------------------- 7 Please enter your name:Jack 8 Oh,Your name is Jack
以上是关于17/精度Python程序开发指南第一章的主要内容,如果未能解决你的问题,请参考以下文章
《程序员面试指南》第一章 栈和队列 构造数组的MaxTree