任何语句,零基础学习0一

ca88会员登录中心 11
ca88会员登录中心

         打印1-100

from somemodule import somefunction , anotherfunction ….

语句块

语句块是在条件为真(条件语句)时实行或执行多次的一组语句。在代码前停放空行来缩进语句就能够创造语句块。

块中的每行都亟待缩进同样的量。

众多言语应用异乎平日单词或然字符(比方begin或{)来表示二个语句块的初叶,用此外的单词或字符(如end或})表示语句块的利落。

在python中,冒号(:)用来标记语句块的初始,块中的每个话语都以缩进的(缩进量一样)。当回退到和早已关闭的块一样的缩进量时,就代表目前块已经停止了。

         a=int(input(‘input num:’))

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

基准实行和if语句

if语句能够达成标准实践,即使基准剖断为真,则前边的语句块推行,即使基准为假,语句块就不会被实行。

name=raw_input(“Please input a name: “)

if name.endswith(“Bob”):

print “Hello,Bob!”

假若用户输入了以鲍勃结尾的名字,则打字与印刷出问候语。

             print (‘this is 2’)

from somemodule import somefunction

正如不相称类型

反驳上,对于相对大小的任意多少个对象x和y都以足以应用相比较运算符比较的,并且都会得到二个布尔值结果。可是唯有在x和y是相同恐怕近似类型的对象时,比较才有意义。

在python中相比运算和赋值运算同样是能够接连的——多少个运算符可以连在一同使用:

>>> a=5

>>> 0

True

>>> 0

False

>>> 03

True

      上边包车型地铁值作为布尔表明式时都不被看做假(false)

字符串类型也适用
>>> str = ‘str’
>>> str += ‘ing’
>>> str*=2
>>> str
‘stringstring’

循环

        if语句,当if后边的表明式为真时施行

1四、循环中的else子句

增量赋值

将表明式运算符放置在赋值运算符=的左边,这种写法叫做增量赋值,对于*、/、%等标准运算符都适用:

>>> x=5

>>> x+=3

>>> x*=2

>>> x/=4

>>> x

4

对此别的数据类型也适用(只要二元运算符本身适用于那个数据类型就能够):

>>> s=’too’

>>> s+=’many’

>>> s*=2

>>> s

‘toomanytoomany’

      若是急需检讨多少个原则,就可以利用elif,它是else if的缩写。要和if
else 联合利用     

17、使用del删除

elif语句

设若急需检查多个标准,就能够使用elif,它是“else
if”的简写,也是if和else子句的共同利用——也正是兼备标准的else子句。

num=input(“Please input a num: “)

if num>0:

print “num > 0”

elif num<0:

print “num < 0”

else:

print “num = 0”

      贰.更复杂的规则

叁、 体系解包

while循环

用来在其余条件为实在情况下重新实行八个代码块。

i=5

while i>0:

print i

i-=1

结果:

5

4

3

2

1

             print (‘this is 2’)

Python中用冒号(:)来标记语句块的初始,块中的每一个言语都是缩进的,当回退到和曾经关闭的快同样的缩进量时,就意味着近些日子块截至了

利用逗号输出

打印八个表明式,只要将那么些表明式用逗号隔开分离就可以:

>>> print “age:”,28

age: 28

参数之间都插入了3个空格符。

壹旦在最后加上逗号,那么接下去的语句会与前一条语句在同样行打字与印刷:

print “Hello,”,

print “World!”

结果:

Hello, World!

      print (i)
   for 更简洁,能用for尽量不用while,它容易造成死循环。
 3.退出循环
  break语句用来终止循环语句

  continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

一三、跳出循环

什么样都没发生

稍许时候,程序怎样事情都无须做:

>>> pass

>>>

name=raw_input(“Please input a name: “)

if name == ‘signjing’:

print “I’m signjing”

elif name == ‘sj’:

pass

else:

print “unknown”

执行:

Please input a name: signjing

结果:

I’m signjing

执行:

Please input a name: sj

如果将pass行注释:

if name == ‘signjing’:

print “I’m signjing”

elif name == ‘sj’:

#pass

else:

print “unknown”

试行报错:

File “pass.py”, line 6

else:

^

IndentationError: expected an indented block

 

列表推导式是行使别的列表创立新列表

三人行

         if a=2:

assert

is:同1性运算符

以此运算符相比较有趣,它看起来和==同样,但实际却不一致:

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

>>> z=[1,2,3]

>>> x==y

True

>>> x is y

True

>>> x == z

True

>>> x is z

False

x和z相等却不平等,因为is运算符是判断同一性而不是相等性。

x和y被绑定到同二个列表上,而变量z被绑定在其余三个装有同等数值和各样的列表上。它们的值大概相当于,但却不是1个目的。

         if a=2:

相互迭代

in:成员身份运算符

前边表达过了,此处略;

      1.while循环

False None 0 ” ” ( ) [ ] { } 那一个标志解释器会看成false
其余的满贯都为真

编号迭代

稍稍时候想要迭代系列中的对象,同时还要取安妥前目的的目录。

暂略;

             print (‘this is 2’)

8、嵌套代码块

布尔变量

上边的值在作为布尔表明式时候,会被分解看做假(False):

False None 0 “” () [] {}

换句话说,也便是行业内部值False和None、全部品类的数字0(包蕴浮点数、长整型和别的类型)、空类别(比方空字符串、元组和列表)以及空的字典都为假。别的的凡事都表达为真,包括特种值True。

正规的真值为True和False。事实上,True和False只可是是一和0的“华丽”说法而已。

>>> True

True

>>> False

False

>>> True==0

False

>>> True==1

True

>>> False==0

True

>>> False==1

False

>>> False+True+23

24

布尔值True和False属于布尔类型,bool函数能够用来(和list、str以及tuple同样)转变其余值。

>>> bool(‘I think ,therefore I am’)

True

>>> bool(42)

True

>>> bool(0)

False

>>> bool(”)

False

>>> bool(False)

False

>>> bool(())

False

>>> bool({})

False

>>> bool([])

False

因为全数值都能够视作布尔值,所以差不多无需对它们进行显式转变(能够说python会自动调换那个值)。

注意:尽管[]和””都是假植(也便是说bool([])==bool(“”)==False),它们自个儿并不对等。对于其它不一致品类的假值对象也是这么(举例,()!=False)。

         打印两个表明式,将它们用逗号隔断

break

规范化、循环、其余语句

        elif a=0:

1八、使用exec和eval 实施和求值字符串

嵌套代码块

if语句里能够嵌套使用if语句:

num = input(“Please input a num: “)

if num > 0:

if num >5:

print “num > 5”

elif num > 3:

print “num >3 and num <= 5”

else:

print “num <= 3 and num > 0”

elif num < 0:

if num < -10:

print “num < -10”

elif num < -4:

print “num < -4 and num >= -10”

else:

print “num >= -4 and num < 0”

else:

print “num = 0”

       
  ca88会员登录中心 1

6、语句块

交互迭代

程序能够而且迭代三个体系:

names=[‘anne’,’beth’,’damon’]

ages=[13,19,21]

for i in range(len(names)):

print names[i],’is’,ages[i],’years old.’

结果:

anne is 13 years old.

beth is 19 years old.

damon is 21 years old.

内建的zip函数能够用来进展互动迭代,把八个类别“压缩”在同步,然后重临二个元组的列表:

names=[‘anne’,’beth’,’damon’]

ages=[13,19,21]

for name,age in zip(names,ages):

print name,”is”,age,”years old.”

结果:

anne is 13 years old.

beth is 19 years old.

damon is 21 years old.

zip函数能够成效于自由多的队列。关于它很重大的一些是zip能够应付不等长的行列:当最短的行列“用完”的时候就能够截止:

>>> zip(range(5),xrange(100))

[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]

>>> zip(range(5),xrange(2))

[(0, 0), (1, 1)]

        多少个赋值

使用逗号输出 –
打字与印刷多个表明式也许有效的,但要用逗号隔开分离 >>> print
‘chentongxin’,23 SyntaxError: invalid syntax
python3.0后头,print不再是语…

continue

continue语句用的要少诸多,它让近期的迭代截至,“跳”到下1轮循环的始发。基本意思是:跳过剩余的循环体,但不了事循环。当循环体相当大而且很复杂时,会很有用。

for i in range(5):

print i

if i > 2:

continue

print “–“

结果:

0

1

2

3

4

三.循环

调换变量

break

竣事循环能够利用break语句。

for i in range(5):

print i

if i > 2:

break

print “–“

结果:

0

1

2

3

     2.for循环

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

扭曲和排序迭代

reversed和sorted,同列表的reverse和sort方法类似,但功能于任何类别或可迭代对象上,不是原地修改对象,而是回到翻转或排序后的版本:

>>> sorted([4,3,6,8,3])

[3, 3, 4, 6, 8]

>>> sorted(‘hello,world!’)

[‘!’, ‘,’, ‘d’, ‘e’, ‘h’, ‘l’, ‘l’, ‘l’, ‘o’, ‘o’, ‘r’, ‘w’]

>>> list(reversed(‘hello,world!’))

[‘!’, ‘d’, ‘l’, ‘r’, ‘o’, ‘w’, ‘,’, ‘o’, ‘l’, ‘l’, ‘e’, ‘h’]

>>> ”.join(reversed(‘hello,world’))

‘dlrow,olleh’

       
 ca88会员登录中心 2

同1性运算符 is

标准化和规范化语句

      

1、print

赋值法力

       a=int(input(‘input num:’))

x = y = somefunction()

链式赋值

链式赋值是将同一个值赋给多少个变量的走后门。

x=y=somefunction()

和底下语句的作用是如出1辙的:

y=somefunction()

x=y

注意:上边的话语和底下的语句不自然等价:

x=somefunction()

y=somefunction()

        沟通变量

pass 程序如何都不做

正如运算符

表达式 描述

x==y x等于y

x

x>y x大于y

x>=y x大于等于y

x<=y x小于等于y

x!=y x不等于y

x is y x和y是同三个指标

x is not y x和y是分歧的对象

x in y x是y容器的积极分子

x not in y x不是y容器的分子

         

words = [‘this’,’is’,’an’,’ex’,’parrot’]
for word in words:
print(word)

print和import

趁着越来越一遍遍地思念地读书python,可能会晤世这种感到:有些自感觉已经调控的知识点,还隐藏着部分令人奇怪的特征。

       

while循环

else语句

else子句(之所以叫子句,是因为它不是单独的话语,而不得不当做if语句的一局地)能够扩展一种选择。

name=raw_input(“Please input a name: “)

if name.endswith(“signjing”):

print “Hello,signjing!”

else:

print “Hello,someone!”

要是第二个语句块未有被实践,则转入第一个语句块。

       
 ca88会员登录中心 3

四、 链式赋值

把某件事作为另一件事导入

从模块导入函数的时候,能够应用:

import somemodule

from somemodule import somefunction

from sommodule import somefunction,anotherfunction,yetanotherfunction

from somemodule import *

里面,唯有鲜明本人想要从给定的模块导入全体功效时,才应该利用最后三个本子。

假定四个模块都有open函数,应该如何做呢?

只需选用第贰种格局导入,然后像上面那样使用函数:

module1.open(…)

module2.open(…)

但还有此外的选项:能够在言语末尾扩展一个as语句,在该子句后交付名字,或为整个模块提供小名:

>>> import math as foobar

>>> foobar.sqrt(4)

2.0

也足感觉函数提供外号:

>>> from math import sqrt as foobar

>>> foobar(4)

2.0

对于open函数,能够像下边这样使用:

from module1 import open as open1

from module2 import open as open2

            print (‘this is not 2’)

if 和 else 用法

列表推导式——轻量级循环

列表推导式是使用其余列表创设新列表的一种方法。专门的学业办法邻近于for循环。

>>> [x*x for x in range(1,6)]

[1, 4, 9, 16, 25]

能够追加判别标准:

>>> [x*x for x in range(1,6) if x%2==0 ]

[4, 16]

能够追加越多的for语句:

>>> [x*y for x in range(1,3) for y in (2,5)]

[2, 5, 4, 10]

也能够和if语句联合利用:

>>> [x*y for x in range(1,11) for y in range(1,9) if x%3==0
if y%4==0 ]

[12, 24, 24, 48, 36, 72]

瞩目:for循环部分和if语句部分之间都未曾标点。

     二.赋值魔法

5、 增量赋值

断言

if语句有个十分管用的近亲,其行事措施有些有一点像下边那样(伪代码):

if not condition:

crash program

那般做是因为与其让程序在晚些时候崩溃,不及在错误条件出现时直接让它崩溃。一般的话,你能够须求某些标准必须为真。语句中运用的要紧字为assert。

>>> age=10

>>> assert 0

>>> age=-2

>>> assert 0

Traceback (most recent call last):

File “”, line 1, in

assert 0

AssertionError

要是需求确认保证程序中的某些条件一定为真本领让程序符合规律干活以来,assert语句就有用了,能够在先后中置入检查点:

标准化后能够增添字符串(用逗号把规范和字符串隔绝),用来讲解断言:

>>> assert 0

Traceback (most recent call last):

File “”, line 1, in

assert 0

AssertionError: make age right

     
  ca88会员登录中心 4

号码迭代

while True/break习语

ca88会员登录中心,while
True达成了一个永世不会融洽结束的大循环,但在循环体内部的if语句中进入条件,在尺度满足时调用break语句。这样,就能够在循环之中任何地方而不是只在起首终止循环。

固然应该小心在代码中再三利用break语句,但那些特殊的技能用得非日常见。

         a=int(input(‘input num:’))

玖、更目迷五色的规格

字符串和种类相比

字符串可以遵从字母顺序排列举办相比。

>>> “a” < “b”

True

>>> “abc” < “ab”

False

注意:实际的依次大概会因为运用分裂的locale而和方面包车型客车事例有所区别。

别的的行列也得以以同样的方法开展比较,不过比较的不是字符而是成分的其他类型:

>>> [1,2,4]>[1,2,3]

True

>>> [1,2,[2,’a’]]

True

       else子句,之所以称之为子句是因为它不能够独立存在,信赖if语句

12、一些迭代工具

eval

eval(用于“求值”)是看似于exec的内建函数。

exec语句会推行一文山会海的python语句,而eval会总结python表明式,并重临结果值。

exec语句并不回来任何对象,因为它自己就是言辞。

>>> eval(raw_input(“Enter an arithmetic expression: “))

Enter an arithmetic expression: 2*6+8

20

print和import
随着愈来愈刻画入微地上学python,大概汇合世这种以为:有个别自以为已经调整的知识点,还暗藏着有个别令人惊叹…

        

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

队列解包

多少个赋值操作能够而且展开:

>>> x,y,z=1,23,456

>>> print x,y,z

1 23 456

用它调换多个(或八个)变量:

>>> x,y=y,x

>>> print x,y

23 1

>>> x,y,z=y,z,x

>>> print x,y,z

1 456 23

事实上,这里所做的事务叫做类别解包或可迭代解包——将五个值的队列解开,然后嵌入变量的队列中。

>>> values=1,2,3

>>> values

(1, 2, 3)

>>> x,y,z=values

>>> print x,y,z

1 2 3

当函数只怕措施重临元组(可能其它类别或可迭代对象)时,那一个特点尤其有用。即使须求获得(和删除)字典中的任意的键-值对,可以应用popitem方法,那个办法将键值对作为元组重回,那么这几个元组能够平素赋值到两个变量中:

>>> people={‘name’:’signjing’,’age’:’28’,’weight’:’72’}

>>> x,y=people.popitem()

>>> print x,y

age 28

>>> x,y=people.popitem()

>>> print x,y

name signjing

>>> x,y=people.popitem()

>>> print x,y

weight 72

它同意函数再次来到贰个上述的值并且打包成元组,然后通过2个赋值语句很轻易举办走访。所解包的队列中的成分数量必须和停放在赋值符号=左边的变量数量完全壹致,不然python会在赋值时引发那多少个:

>>> x,y=1,3,4

Traceback (most recent call last):

File “”, line 1, in

x,y=1,3,4

ValueError: too many values to unpack

>>> x,y,z=2,9

Traceback (most recent call last):

File “”, line 1, in

x,y,z=2,9

ValueError: need more than 2 values to unpack

     
  ca88会员登录中心 5

python3.0之后,print不再是言辞,而是函数,函数要加上括号

布尔运算符

and运算符,连接三个布尔值,且在两个都为真时再次回到真,不然重回假。

or运算符,连接多个布尔值,且在相互都为假时重临假,不然重回真。

not运算符,连接二个布尔值,当连接的布尔值为真时再次来到假,为假时回去真。

     1.if语句和else,elif

对等运算符

等于运算符

想要知道七个东西是还是不是等于,应该运用相当运算符,即三个等号==:

>>> “abc”==”abc”

True

>>> “abc”==”Abc”

False

单个相等运算符是赋值运算符,是用来改换值的,不能够用来相比较。

         if a=2:

popitem : 获取字典中的键值对

使用del删除

相似的话,python解释器(以其无穷的智慧)自动删除那一个不再动用的指标。另壹种艺术是行使del语句,它不但会移除一个目的的引用,也会移除这些名字自身。

>>> x=[‘hello’,’world’]

>>> y=x

>>> y[1]=’python’

>>> x

[‘hello’, ‘python’]

>>> del x

>>> y

[‘hello’, ‘python’]

事实上,python中是绝非办法删除值的,因为值不再动用时,python解释器会肩负内部存款和储蓄器的回收。

      

七、 条件和条件语句

for循环

list1=list(‘signjing’)

for l in list1:

print l

结果:

s

i

g

n

j

i

n

g

numbers=[1,2,3,4]

for n in numbers:

print n

结果:

1

2

3

4

迭代(循环的另一种说法)有个别范围的数字是很宽泛的,有个内建的函数可供使用:

for n in range(1,5):

print n

结果:

1

2

3

4

range函数的办事办法邻近于分片,蕴涵下限,不包涵上限,固然期待下限为0,则足以只提供上限。

提示:

设若能采用for循环,就尽量不利用while循环。

        while语句特别灵活。它能够用来在其余条件为实在情形下再度施行。

字符串和系列相比较

exec

进行二个字符串的言辞是exec:

>>> exec “print ‘hello'”

hello

但使用简便款式的exec语句并非是好事。很多时候能够给它提供命名空间——能够放变量的地方。

>>> from math import sqrt

>>> exec “sqrt = 1”

>>> sqrt(4)

Traceback (most recent call last):

File “”, line 1, in

sqrt(4)

TypeError: ‘int’ object is not callable

能够经过in 来落实,当中就是起到放置代码字符串命名空间效果的字典。

>>> from math import sqrt

>>> scope={}

>>> exec “sqrt = 1” in scope

>>> sqrt(4)

2.0

>>> scope[‘sqrt’]

1

看得出,潜在的破坏性代码并不会覆盖sqrt函数,原来的函数能健康办事,而通过exec赋值的变量sqrt只在它的功能域内有效。

小心,固然供给将scope打字与印刷出来的话,能收看里面包蕴不少事物,因为内建的__builtins__字典自动包括全部的内建函数和值:

>>> len(scope)

2

>>> scope.keys()

[‘__builtins__’, ‘sqrt’]

        

>>> x = 2
>>> x += 1
>>> x*=2
>>> x
6

卡住逻辑

x and y要求七个变量都为真时才为真,倘若x为假,则x and
y立即赶回false,而不需计算y的值。同理,x or
y只要有三个为真则为真,要是x为真,则x or
y直接再次来到True,而不需总括y的值。那样,制止了无用地实行代码,能够用作壹种本事运用。

2.规格和规则语句

continue

巡回遍历字典元素

一个简单的for语句就会循环字典的全部键,就好像处理连串同样:

d={‘x’:1,’y’:2,’z’:3}

for key in d:

print key,d[key]

结果:

y 2

x 1

z 3

for循环的一大利润正是能够在循环中选取系列解包:

d={‘x’:1,’y’:2,’z’:3}

for key,value in d.items():

print key,value

结果:

y 2

x 1

z 3

一.print和import越多消息

>>> print(‘chentongxin’,23)
chentongxin 23
>>> 1,2,3
(1, 2, 3)
>>> print 1,2,3
SyntaxError: invalid syntax
>>> print(1,2,3)
1 2 3

一些迭代工具

在python中迭代连串(或任何可迭代对象)时,一些函数极度有效。有个别函数位于itertools模块,还有个别python的内建函数也10分卓有成效。

     
  ca88会员登录中心 6

SyntaxError: invalid syntax

使用exec和eval实行和求值字符串

稍稍时候会动态地成立python代码,然后将其看成言语试行或当作表明式总结,那近似于“青灰法力”——以前,一定要慎之又慎,仔细思考:

            print (‘this is 0’)

[x*x for x in range(10)]

循环中的else子句

当在循环体内部使用break语句时,经常是因为找到了某物或某事发生了,在跳出时做一些事情是差不离的,但稍事时候想要在并未有跳出以前做些事情。能够在循环中扩充3个else语句——仅在向来不调用break时实践。

for i in range(5):

print i

if i > 6:

break

print “–“

else:

print “I’m here”

结果:

0

1

2

3

4

I’m here

for和while循环中都能够运用continue、break语句和else子句。

      它们之间还足以嵌套使用

10、断言

更目眩神摇的标准

     壹.利用逗号输出

四个赋值同时开始展览

跳出循环

         打印1-100

import somemodule

     
  ca88会员登录中心 7

11、循环

      false None 0 ” () [] {}

name = input(‘what is your name?’)

     
  ca88会员登录中心 8

使用逗号输出 – 打字与印刷多少个表明式也是实惠的,但要用逗号隔开分离

 

if 里面 能够持续嵌套 if语句

       就好像上边那样,不是很复杂呢?

if name.endswith(‘Gumby’):
print(‘hello,mr,gumby’)
else:
print(‘hello,stranger’)
elif 用法:

            print (‘this is not 2’)

相比较运算符

     
  ca88会员登录中心 9

①5、列表推导式 – 轻量级循环

        增量赋值

二、把某件事作为另一件事导入

       
  ca88会员登录中心 10

for循环

        else:

成员身价运算符 in

        for i in range(1,101):

>>> print ‘chentongxin’,23

 

from somemodule import *

     
  ca88会员登录中心 11

1六、什么都没发生

        链式赋值

语句块实在条件为真时实践或然举办的累累的1组语句。在代码钱放置空格来缩进就可以创立语句块

        else:

name = ”
while not name:
name = input(‘please enter your name:’)
print(‘hell,%s’ % name)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图