首页 > 代码库 > 17/精度Python程序开发指南第一章

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>
type()函数的用法

要素#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操作符

    还可以用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
Python比较特性

  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

    如果循环是正常退出,则会执行后面的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程序开发指南第一章