python基础学习笔记(六)

系统 1453 0

python基础学习笔记(六)

2013-04-21 22:52  虫师 阅读( ... ) 评论( ... ) 编辑 收藏

 

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

 

基本语句的更多用法


 

使用逗号输出

                >>> 
                
                  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

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

                
                >>> 
                
                  print
                
                
                   x,y,z

                
                2 1 3
              

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

                >>> scoundrel ={
                
                  '
                
                
                  name
                
                
                  '
                
                :
                
                  '
                
                
                  robin
                
                
                  '
                
                ,
                
                  '
                
                
                  girlfriend
                
                
                  '
                
                :
                
                  '
                
                
                  marion
                
                
                  '
                
                
                  }

                
                >>> key,value =
                
                   scoundrel.popitem()

                
                >>>
                
                   key

                
                
                  '
                
                
                  name
                
                
                  '
                
                
>>>
                
                   value

                
                
                  '
                
                
                  robin
                
                
                  '
                
              

链式赋值

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

                >>> x = y = 42

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

                
                >>>
                
                   x

                
                42
              

增理赋值

                >>> 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 
                
                
                  "
                
                
                  
                
                
                  "
                
                , line 1, 
                
                  in
                
                
                  
                    assert
                  
                   0 < age < 100 , 
                  
                    '
                  
                  
                    the age must be realistic
                  
                  
                    '
                  
                  
                    
AssertionError: the age must be realistic
                  
                
              

 

 

循环语句


 打印 1 100 的数( while 循环)

                x= 1

                
                  while
                
                 x <= 100
                
                  :
    
                
                
                  print
                
                
                   x
  x 
                
                += 1

                
                  #
                
                
                  输出
                
                
1
2
3
4
                
                  
.
.

                
                100
              

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

                name = 
                
                  ''
                
                
                  while
                
                
                  not
                
                
                   name:
    name 
                
                = raw_input(
                
                  '
                
                
                  please enter your name:
                
                
                  '
                
                
                  )

                
                
                  print
                
                
                  '
                
                
                  hello.%s!
                
                
                  '
                
                 %
                
                  name

                
                
                  #
                
                
                  输入
                
                
>>>
                
                   
please enter your name:huhu

                
                
                  #
                
                
                  输出
                
                
hello.huhu!
              

打印 1 100 的数( for  循环)

                
                  for
                
                 number 
                
                  in
                
                 range(1,101
                
                  ):
  
                
                
                  print
                
                
                   number

                
                
                  #
                
                
                  输出
                
                
1
2
3
4
                
                  
.
.

                
                100
              

是不是比 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
                
                
                  #
                
                
                  输出
                
                
>>> 
81
              

 

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,结果
                
              

 

 

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论