1.使用逗号输出
print 'Age:',42
name = 'Gumby'
salution = 'Mr.'
greeting = 'Hello.'
print greeting,salution,name
print greeting + ',',salution,name
2.把某件事为另一件事导入
from math import sqrt
print sqrt(4)
#当函数或者方法返回元祖时,这个特性很重要。
#假设需要获取字典中的任意的键-值对,可以使用popitem方法,这个方法将键-值作为元祖返回。
scoundrel = {'name':'Robin','girlfriend':'Marion'}
key,value = scoundrel.popitem()
print key
3.条件执行if语句
name = raw_input('What is your name?')
if name.endswith('Gumby'):
if name.startswith('Mr.'):
print 'Hello,Mr.Gumby'
elif name.endswith('Mrs.'):
print 'Hello,Mrs.Gumby'
else:
print 'Hello,Gumby'
else:
print 'Hello,stranger'
#in:成员资格运算符
name = raw_input('What is your name?')
if 's' in name:
print 'Your name contains the letter "s".'
else:
print 'Your name does not contain the letter "s".'
#断言 关键字assert 因为与其让程序在晚些时候崩溃,不如在错误条件出现时直接让他崩溃。
age = -1
assert 0 <= age <=100,'The age must be realistic'
4.循环
#while 循环
x = 1
while x <= 100:
print x,
x +=1
#for循环
#打印1~100的数字
for number in range(1,101):
print number,
#循环遍历字典元素
d = {'x':1,'y':2,'z':3}
for key,value in d.items():
print key, 'corresponds to',value
#迭代工具
#并行迭代
names = ['anne','beth','george','damon']
ages = [12,45,32,102]
#如果想要打印名字和对应的年龄,可以这样做
for i in range(len(names)):
print names[i],'is',ages[i],'years old' #这里i是循环变量的标准变量名
#使用内建函数的zip函数可以用来进行并行迭代,可以把两个序列“压缩”在一起,然后返回一个元祖的列表
for name,age in zip(names,ages):
print name,'is',age,'years old'
print zip(names,ages)
#翻转何排序迭代
print sorted([4,3,6,8,3])
print sorted('Hello,world!')
print list(reversed('Hello,world!'))
#跳出循环
#break 结束(跳出)循环可以使用break语句
#寻找100以内的最大平方数
from math import sqrt
for n in range(90,0,-1):
root = sqrt(n)
if root == int(root):
print n
break
#continue 它会让当前迭代结束,“跳”到下一轮循环的开始
#它的最基本的意思是“跳过剩余的循环体,但不是当前的迭代结束”。
#while True/break习语
while True:
word = raw_input('Please enter a word:')
if not word : break
print 'The word was ' + word
from math import sqrt
for n in range(99,80,-1):
root = sqrt(n)
if root == int(root):
print n
break
else:
print "Didn't find it"
#列表推导式--轻量级循环
#列表推导式是利用其他列表创建新列表的一种方法
print [x*x for x in range(10)]
print [x*x for x in range(10) if x % 3 == 0]
girls = ['alice','bernice','clarice']
boys = ['chris','arnold','bob']
letterGirls = {}
for girl in girls:
letterGirls.setdefault(girl[0],[]).append(girl)
print [b+'+'+g for b in boys for g in letterGirls[b[0]]]
print letterGirls
#字典的setdefault方法
#setdefault方法在某种程度上类似于get方法,就是能够获得与给定键相关联的值,除此之外,setdefault还能在字典中不含有给定
#键的情况下设定相应的键值
d = {}
print d.setdefault('name','N/A')
print d
d['name'] = 'Gumby'
print d
x = 1
del x
print x
#使用exec和eval执行和求值字符串
#exec 执行一个字符串的语句是exec
#可以通过增加in<scope>来实现,其中的<scope>就是起到放置代码字符串命名空间的字典。
from math import sqrt
scope = {}
exec 'sq = 4' in scope
print sqrt(4)
print scope['sq']
print len(scope)
print scope.keys()
#evel函数 eval是了死于exec的内建函数。exec语句会执行一系列Python语句,而eval会计算Python表达式
print eval(raw_input("Enter an arithmetic expression:"))