一、数据类型
五个标准的数据类型:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
1、Numbers 数字
数字数据类型用于存储数值,这意味着改变数字数据类型会分配一个新的对象。
#定义
var1 = 1
#可以用del语句删除一些对象的引用
del var
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
math、cmath库中还有大量的方法可用。
2、String 字符
字符串或串(String)是由数字、字母、下划线组成的一串字符。
str = 'Hello World!'
#从字符串中获取一段子字符串的话,可以使用[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第六个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
字符串格式化
print "My name is %s and weight is %d kg!" % ('Zara', 21)
三引号
引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
hi = '''hi
there'''
Unicode 字符串
u'Hello\u0020World !'
3、List 列表
列表用 [ ] 标识,可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始。
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
list1= ['physics', 'chemistry', 1997, 2000]
用append()方法来添加列表项
list1.append('Runoob')
用 del 语句来删除列表的元素
del list1[2]
4、tuple元组
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
5、字典
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
列表是有序的对象集合,字典是无序的对象集合。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
二、运算符
运算符 | 描述 | |
---|---|---|
** | 幂 - 返回x的y次幂 | 10**20 为10的20次方 |
// | 取整除 - 返回商的整数部分(向下取整) | 9//2=4 |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
in | 在指定的序列中找到值返回 True | |
not in | 在指定的序列中没有找到值返回 True | |
is | is 是判断两个标识符是不是引用自一个对象 | |
is not | is not 是判断两个标识符是不是引用自不同对象 | |
and | 布尔"与" - 如果 x 为 False,返回 False,否则它返回 y 的计算值。 | x and y |
or | 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。 | |
not | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
三、条件/循环语句
1、if
num = 5
if num == 3:
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0:
print 'error'
else:
print 'roadman'
2、while循环
break、continue存在。多一个pass控制语句,相等于占位符,不跳转流程。
i = 1
while i < 10:
i += 1
if i%2 > 0:
continue
print i
i = 1
while 1:
print i
i += 1
if i > 10:
break
多一个while else 的特殊结构,while … else 在循环条件为 false 时执行 else 语句块。
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
3、for循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for letter in 'Python':
print("当前字母: %s" % letter)
fruits = ['banana', 'apple', 'mango']
for fruit in fruits:
print ('当前水果: %s'% fruit)
for index in range(len(fruits)):
print ('当前水果 : %s' % fruits[index])
多一个while else 的特殊结构,while … else 在循环条件为 false 时执行 else 语句块。
for num in range(10,20):
for i in range(2,num):
if num%i == 0:
j=num/i
print ('%d 等于 %d * %d' % (num,i,j))
break
else:
print ('%d 是一个质数' % num)
4、嵌套循环
while expression:
while expression:
statement(s)
statement(s)