python基础学习笔记(六)

简介:

 

学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事。

 

基本语句的更多用法


 

使用逗号输出


>>> print 'age:',25
age: 25

如果想要同时输出文本和变量值,却又不希望使用字符串格式化的话,那这个特性就非常有用了:


>>> name = 'chongshi'
>>> salutation = 'Mr'
>>> greeting = 'Hello.'
>>> print greeting,salutation,name
Hello. Mr chongshi

 

模块导入函数

从模块导入函数的时候,可以使用

import somemodule

或者

form somemodule immport  somefunction

或者

from somemodule import somefunction.anotherfunction.yetanotherfunction

或者

from somemodule import *  

最后一个版本只有确定自己想要从给定的模块导入所有功能进。

如果两个模块都有open函数,可以像下面这样使用函数:

module.open(...)

module.open(...)

当然还有别的选择:可以在语句末尾增加一个as子句,在该子句后给出名字。

>>> import math as foobar   #为整个模块提供别名
>>> foobar.sqrt(4)
2.0
>>> from math import sqrt as foobar  #为函数提供别名
>>> foobar(4)
2.0

赋值语句

序列解包

>>> x,y,z = 1,2,3
>>> print x,y,z
2 3
>>> x,y=y,x
>>> print x,y,z
1 3

可以获取或删除字典中任意的键-值对,可以使用popitem

>>> scoundrel ={'name':'robin','girlfriend':'marion'}
>>> key,value = scoundrel.popitem()
>>> key
'name'
>>> value
'robin'

链式赋值

链式赋值是将同一个值赋给多个变量的捷径。

>>> x = y = 42
# 同下效果:
>>> y = 42
>>> x = y
>>> x

增理赋值

>>> x = 2
>>> x += 1  #(x=x+1)
>>> x *= 2  #(x=x*2)
>>> x
6

 

控制语句


 if 语句:

name = raw_input('what is your name?')
if name.endswith('chongshi'):
    print 'hello.mr.chongshi'
#输入
>>> 
what is your name?chongshi  #这里输入错误将没有任何结果,因为程序不健壮
#输出
hello.mr.chongshi

 

else子句

name = raw_input('what is your name?')
if name.endswith('chongshi'):
    print 'hello.mr.chongshi'
else:
  print 'hello,strager'
#输入
>>> 
what is your name?hh  #这里输和错误
#输出
hello,strager

 

elif 子句

它是“else if”的简写

num = input('enter a numer:')
if num > 0:
    print 'the numer is positive'
elif num < 0:
    print 'the number is negative'
else:
  print 'the nuber is zero'
#输入
>>> 
enter a numer:-1
#输出
the number is negative

 

嵌套

下面看一下if嵌套的例子(python是以缩进表示换行的)

name = raw_input('what is your name?')
if name.endswith('zhangsan'):
    if name.startswith('mr.'):
        print 'hello.mr.zhangsan'
    elif name.startswith('mrs.'):
        print 'hello.mrs.zhangsan'
    else:
        print 'hello.zhangsan'
else:
    print 'hello.stranger'

  如果输入的是“mr.zhangsan”输出第一个print的内容;输入mrs.zhangshan,输出第二个print的内容;如果输入“zhangsan,输出第三个print的内容;如果输入的是别的什么名,则输出的将是最后一个结果(hello.stranger

 

断言

如果需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert 语句可以在程序中设置检查点。

>>> age = 10
>>> assert 0 < age < 100
>>> age = -1
>>> assert 0 < age < 100 , 'the age must be realistic'

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    assert 0 < age < 100 , 'the age must be realistic'
AssertionError: the age must be realistic

 

循环语句


 打印1100的数(while循环)

x= 1
while x <= 100:
    print x
  x += 1
#输出
2
4
.
.

再看下面的例子(while循环),用一循环保证用户名字的输入:

name = ''
while not name:
    name = raw_input('please enter your name:')
print 'hello.%s!' %name
#输入
>>> 
please enter your name:huhu
#输出
hello.huhu!

打印1100的数(for 循环)

for number in range(1,101):
  print number
#输出
2
4
.
.

是不是比while 循环更简洁,但根据我们以往学习其它语言的经验,while的例子更容易理解。

 

一个简单for 语句就能循环字典的所有键:

d = {'x':1,'y':2,'z':3}
for key in d:
  print key,'corresponds to',d[key]
#输出
>>> 
y corresponds to 2
x corresponds to 1
z corresponds to 3

break语句

break 用来结束循环,假设找100以内最大平方数,那么程序可以从100往下迭代到0,步长为-1

from math import sqrt
for n in range(99,0,-1):
    root = sqrt(n)
    if root == int(root):
        print n
        break
#输出
>>>

 

continue 语句

continue结束当前的迭代,“跳”到下一轮循环执行。

while True:
    s=raw_input('enter something:')
    if s == 'quit':
        break
    if len(s) < 3:
        continue
  print 'Input is of sufficient length'
#输入
>>> 
enter something:huzhiheng  #输入长度大于3,提示信息
Input is of sufficient length
enter something:ha        #输入长度小于3,要求重输
enter something:hah       #输入长度等于3,提示信息
Input is of sufficient length
enter something:quit       #输入内容等于quit,结果

目录
相关文章
|
3月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
547 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
3月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
185 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
3月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
201 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
3月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
76 1
|
3月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
152 1
|
3月前
|
索引 Python
Python学习笔记编程小哥令狐~持续更新、、、(上)
Python学习笔记编程小哥令狐~持续更新、、、(上)
56 2
|
3月前
|
存储 Python
Python学习笔记编程小哥令狐~持续更新、、、 (下)
Python学习笔记编程小哥令狐~持续更新、、、 (下)
42 1
|
3月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
49 0
【免费分享编程笔记】Python学习笔记(二)
|
3月前
|
Java 编译器 Go
Python学习笔记--- day01计算机基础和环境搭建(一)
Python学习笔记--- day01计算机基础和环境搭建(一)
50 2
|
3月前
|
程序员 编译器 Python
Python学习笔记--- day01计算机基础和环境搭建(二)
Python学习笔记--- day01计算机基础和环境搭建(二)
54 1