第十章 Python语句简介
Python的代码书写要求,以及换行等
语句可以扩越多行,只要将其封闭在圆括号内,方括号内或大括号内即可,可以使用分号终止.
用\可以允许我们跨越多行
一个简单的交互式循环
while True:
input=raw_input("Please input text")
if input=='stop':
break
print input.upper()

while True:
input=raw_input("Please input text:")
if input=='stop':
break
elif not input.isdigit():
print 'bad'*5
else:
print int(input)**2
print bye

while True:
reply=raw_input('Enter text:')
if input=='stop':
break
try:
num=int(input)**2
except:
print 'bad'*8
else:
print num
print 'bye'

第十一章 赋值,表达式和打印
赋值语句
赋值语句建立对象引用值
变量名在首次赋值时候会被创建
变量名在引用前必须先赋值
隐式赋值语句
赋值语句形式
spam='spam'
spam,ham='yum','YUM'
[spam,ham]=['yum','YUM']
a,b,c,d='spam'
spam=ham='lunch'
spams+=42
多目标赋值以及共享引用时候
注意引用的对象是可变还是不可变
变量命名规则 通用
以单一下划线开头的变量名不会被from module import *语句导入
前后有下划线的变量名是系统定义的变量名,对解释器有特殊意义
以两下划线开头,但结尾没有两个下划线的变量名,是类的本地变量
通过交互模式运行时候 只有单个下划线的变量名会保存最后表达式的结果
重定向输出流
print x
等价于
import sys
sys.stdout.write(str(x)+'\n')

import sys
sys.stdout=open('log.txt',a)
...
print x,y,z

log=open('log.txt','w')
print>>log,1,2,3
print>>log,4,5,6
log.close()

第十二章 if测试
通用格式
if:

elif:

else:
字典默认get
branch={'soam':1.25,
'ham':1.99,
'eggs':0.99}
print branch.get('ham','bad')
print branch.get('eggs','bad')
真值测试
2 and 3,3 and 2
返回(3,2)
因为第一行的操作数都是真,所以Python会计算两侧,并返回右侧的对象,在第二个测试中,左侧的操作数为假,所以Python会在该处停止并将其返回作为测试结果
if/else三元表达式
A=Y if X else Z

第十三章 while和for循环
while循环
例子
x='spam'
while x:
print x,
x=x[1:]

a=0;b=10
while a<b:
print a,
a+=1

break 跳出最近所在的循环
continue 调到最近所在循环开头处
pass 什么事也不做,空占位语句
循环else块
只有当循环正常离开时候才会执行

while x
if match(x[0]):
print 'ni'
break
x=x[1:]
else:
print 'not found'

while True:
x=next()
if not x:break
....

x=1
while x:
x=next()
if x:
...
x=next()
while x:
...
x=next()

for循环
for x in ['spam','eggs','ham']:
print x,

sum=0
for x in [1,2,3,4]:
sum=sum+x

prod=1
for item in [1,2,3,4]:
prod*=item

s='lumberjack'
t=('and','I\'m','okay')
for x in s:
print x,
for x in t:
primt x,

在for循环中的元组赋值
T=[(1,2),(3,4),(5,6)]
for (a,b) in T:
print a,b

items=['aaa',111,(4,5),2.01]
tests=[(4,5),3.14]
for key in tests:
for item in items:
if item==key:
print key,"was found"
break
else:
print key,"not found"

文件扫描
file=open('test.txt','r')
print file.read()

file=open('text.txt')
while True:
line=file.readline()
if not line:
break
print line,

file=open('test.txt','rb')
while True:
chunk=file.read(10)
if not chunk:
break
print chunk,

for line in open('test.txt').readline():
print line

迭代器
for x in [1,2,3,4]:
print x**2
for x in (1,2,3,4):
print x**3,
for x in 'spam':
print x*2,
文件迭代器
f=open('test.py')
f.readline()
f.eardline()

f=open('test.py')
f.next()
f.next()

for line in open('test.txt'):
print line.upper()

迭代器在Python中是以C语言的速度运行的,而while循环是通过Python虚拟机器运行Python字节码的.

其他内置类型迭代器
L=[1,2,3]
I=iter(L)
I.next()
I.next()

D={'a':1,'b':2,'c':3}
for key in D.keys():
print key,D[key]

for key in D:
print key,D[key]

字典有一个迭代器,在迭代环境中,会自动依次返回一个键,所以完全不需要在内存中实际建立键列表

in成员关系测试,map内置函数以及其他内置工具也采用了迭代协议
upper=[line.upper() for line in open('test.py')]
map(str.upper(),open('test.py'))
'y=2\n' in open('test.py')
sorted(open('test.py'))

L=[1,2,3,4,5]
for i in range(len(L)):
L[i]+=1

并行遍历:zip和map
L1=[1,2,3,4]
L2=[5,6,7,8]
zip(L1,L2)
for (x,y) in zip(L1,L2):
print x,y,'--',x+y
当参数长度不同的时候,zip会以最短序列的长度为准来阶段所得到的元组

使用zip来构造字典
key=['spam','eggs','toast']
vals=[1,3,5]
D={}
for (k,v) in zip(key,vals):
D[k]=v

D1=dict(zip(key,vals))

产生偏移和元素:enumerate
s='spam'
for (offer,item) in enumerate(s):
print item,'appears at offset',offset

E=enumerate(s)
E.next()
E.next()

列表解析:初探
L=[x+10 for x in L]
lines=[line.rstrip() for line in lines]

扩展列表解析语法
lines=[line.rstrip() for line in open('test.py') if line[0]=='p']
res=[]
for line in open('test.py'):
if line[0]=='p':
res.append(line.rstrip())

转载于:https://www.cnblogs.com/SqLver/p/4936687.html

Python 学习---------Day4相关推荐

  1. 从零开始的python学习Day4

    Day4知识回顾 嵌套循环的时间对比 引入time模块 python将1970一月一日设置为第一天,time方法的得到的结果是从第一天到这行代码被执行的总秒数 import time print(ti ...

  2. python学习Day4 流程控制(if分支,while循环,for循环)

    复习 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量,魔法变量 - ...

  3. python学习day-4 集合与函数

    ---恢复内容开始--- 一.数据类型及变量总结 1.可变与不可变 修改变量的值,id可不可变 可变:id不变   列表,字典 不可变:id变了  字符串,数字,元祖 2.访问顺序 直接访问:数字 顺 ...

  4. Python学习笔记:Day4 编写Model

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  5. python进阶day4

    python进阶之路 Day4 hello world!今日是python学习的第四天,我将会在下面文章对基础语法进行一些介绍,主要为数字类型的详细讲解.列表基础等. 1.数字类型 ​ python中 ...

  6. pygame是python的一个库吗,python学习pygame,,基本库导入impor

    python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...

  7. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

  8. python学习------tab补全

    python学习------tab补全   python也可以进行tab键补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/env  ...

  9. Python学习day5作业-ATM和购物商城

    Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...

  10. Python学习系列(六)(模块)

    Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...

最新文章

  1. mysql 拼音查询_mysql实现用拼音搜索中文的数据库实现
  2. [渝粤教育] 西南交通大学 信号与系统A 参考 资料
  3. java controller json_Controller 获取 JSON
  4. 输入输出流_内部存储·
  5. Python库:wordcloud库介绍、政府工作报告词云、自定义背景词云
  6. poj 3979 分数加减法
  7. 求大于3的素数c语言,c语言判断一个大于3的数是否是素数
  8. 了解分布式系统和分布式系统中需要掌握的痛点
  9. Fidder抓包 基础版
  10. 视频教程:小型登陆系统(完)
  11. Windows更改鼠标滚轮方向
  12. c++算法解决力扣跳步问题
  13. 如何给计算机添加密码,怎么给电脑设置密码,手把手教你电脑怎么设置密码
  14. android添加adb命令行,Android—adb命令
  15. 【安全知识分享】重磅|雨季安全生产教育.pptx(附下载)
  16. 1.3. DIGITAL SIGNATURES数字签名
  17. Jenkins基础:Jenkinsfile使用实例:12:使用docker.build构建镜像
  18. 生产环境CPU占用飙高问题解决
  19. warnings 忽视警告
  20. 第六版PMBOK中工具与技术的介绍:会议,人际关系与团队技能

热门文章

  1. 算法题-字符串匹配算法
  2. C#区分中英文统计字符串的长度
  3. AjaxControlToolkit的CalendarExtender的本地化
  4. 系统调用的概念和类型
  5. jdk Queue抽象接口
  6. python *args 和 **kwargs
  7. staticmethod自己定制
  8. Linux负载均衡--LVS
  9. 接第三方图片滑动验证极验
  10. Storm实战常见问题及解决方案