bool用于判断布尔值的结果是True还是False

>>> bool("a")

True

>>> bool(3)

True

>>> bool("")

False

>>> bool(0)

False

Python中的elif类似于Java中的elseif

>>> number = (int)(input("input a number: "))

input a number: 9

>>> if number >0:

...     print("postive")

... elif number

...     print("negative")

... else:

...     print("zero")

...

postive

可以将符合if后面的语句和if放在一行,也可以使用空格来缩进。使用空格来缩进时,如果缩进所使用的空格的个数不一样会导致出错,这点是需要注意的。

Python中==和Java中的作用不一样,比较的是内容,比较内存地址使用的是is或者is not

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

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

>>> x == z

True

>>> x is z

False

>>> x is not z

True

in运算符用于判断元素是否是成员

>>> name = input("input your name: ")

input your name: sdd

>>> if "s" in name:

...    print("\"s\" is in your name")

... else:

...     print("not in")

...

"s" is in your name

更多的运算符操作:

>>> number = (int)(input("input a number between 0 and 10 : "))

input a number between 0 and 10 : 2

>>> if 0

...    print("correct number")

... else:

...    print("wrong number")

...

correct number

while循环

>>> x=1

>>> while x

...     print(x)

...     x = x+1

for循环,Python中的for循环常和range配合使用

>>> for i in range(0,100):    #也可以写成range(100)

...    print(i)

>>> words = ["hello world"]

>>> for word in words:

...    print(word)

...

hello world

能使用for循环时尽量使用for循环,for循环更加简洁。

使用for循环遍历字典

>>> d= {"a":"1","b":"2","c":"3"}

>>> for key,value in d.items():

...    print(key,value)

...

b 2

a 1

c 3

list有sort方法,tuple和str没有sort方法,但是可以直接调用内置的sorted方法

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

>>> l.sort()

>>> l

[1, 2, 3, 4]

>>> sorted((2,4,1,3))

[1, 2, 3, 4]

>>> sorted("2413")

['1', '2', '3', '4']

同样的还使用与reverse,用于做翻转操作。

break语句,和for配合使用,跳出循环

求1到99平方根为整数的数字,找到1个后使用break跳出循环

>>> for int in range(99,0,-1):

...     if sqrt(int) % 1 ==0.0 :

...        print(int)

...        break

...

81

continue,跳过本轮循环

>>> for int in range(0,11):

...    if int % 2 == 0:

...       print(int)

...    else:

...       continue

...

while True用于构建一个无限循环

>>> while True:

...    word = input("Please input a word: ")

...    if not word : break

...    print(word)

...

Please input a word: add

add

Please input a word: p

p

Please input a word:

for循环可以配合else使用,for中有输出时则不会调用else,否则会调用else

>>> from math import sqrt

>>> for int in range(99,81,-1):

...     if sqrt(int) % 1 ==0.0 :

...        print(int)

...        break

...    else:

...        print("not found")

...

not found

列表推导式:轻量级for循环

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

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

可以代替下面复杂的逻辑:

>>> items = []

>>> for int in range(0,10):

...    items.append(int*int)

...

>>> items

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

用if增加更多的限制条件:

>>> [x*x for x in range(10) if x%3==0]

[0, 9, 36, 81]

增加更多的for语句:

>>> [(x,y) for x in range(3) for y in range(3)]

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

Python中空代码是非法的,如果某种情况下的处理代码未完成,又想进行调试,可以用pass代替未完成的代码

>>> number = (int)(input("input a number between 0 and 10:"))

input a number between 0 and 10:-1

>>> if 0

...    print("correct number")

... else:

...     pass

...

exec函数可以执行字符串格式的Python命令

>>> exec("print(\"hello world\")")

hello world

但是简单的使用exec函数不是好的选择,exec的内容可能来自于网络,出于安全的考虑,需要将exec的内容先存储到一个命名空间中,从而使代码不会影响到其他的命名空间。

>>> from math import sqrt

>>> exec("sqrt =1")

>>> sqrt(4)

Traceback (most recent call last):

File "", line 1, in

TypeError: 'int' object is not callable

上述的例子就是产生了相互的干扰。

>>> from math import sqrt

>>> scope = {}

>>> exec("sqrt =1",scope)    #2.x版本的命令是exec("sqrt =1") in scope

>>> sqrt(4)

2.0

>>> scope.get("sqrt")

1

eval函数用于计算表达式的值:

>>> eval(input("enter an arithmetic expression: "))

enter an arithmetic expression: 6 + 18*2

42

>>> scope ={"x":1,"y":2}

>>> eval("x*y",scope)

2

>>> scope ={}

>>> exec("x=2",scope)

>>> eval("x*x",scope)

4

使用缩进来格式代码块时,一定要注意匹配,多一个少一个空格就可能无法匹配,导致出错。

创建函数:

>>> def facfunction(number):

...     fac = [0,1]

...     for n in range(number):

...        fac.append(fac[-1] + fac[-2])

...     return fac

...

>>> facfunction(8)

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

def关键字可以用于创建函数,其他地方要引用函数直接调用函数名即可。

Python中的函数可以用return返回一个返回值,没有返回值时可以返回空。

希望给函数的功能加上注释,可以使用#,也可以直接使用字符串,使用help参数来查看注释。

>>> def facfunction(number):

...     "caculate fac number"

...     for n in range(number):

...        fac.append(fac[-1] + fac[-2])

...     return fac

...

>>> help(facfunction)

Help on function facfunction in module __main__:

facfunction(number)

caculate fac number

Python基础篇(五)的更多相关文章

  1. python基础篇(五)

    PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...

  2. Python基础篇(五)_文件和数据格式化

    Python基础篇_文件和数据格式化 文件的使用:文件打开.关闭.读写 文件打开:通过open()函数打开文件,并返回一个操作文件的变量. 使用语法:<变量名> = (<文件路径以及 ...

  3. python基础篇(六)

    PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...

  4. python基础篇(一)

    PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...

  5. python基础篇(二)

    PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...

  6. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  7. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  8. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

  9. python基础篇-day1

    python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...

随机推荐

  1. [bzoj1717][Usaco2006 Dec]Milk Patterns 产奶的模式 (hash构造后缀数组,二分答案)

    以后似乎终于不用去学后缀数组的倍增搞法||DC3等blablaSXBK的方法了= = 定义(来自关于后缀数组的那篇国家集训队论文..) 后缀数组:后缀数组SA是一个一维数组,它保存1..n的某个排列S ...

  2. noip2015 提高组 解题报告

    完美退役...说好的不卡常呢QAQ day1: T1:模拟题?..考察选手将题目描述翻译成代码的能力233 //其实真相是考验rp..论代码雷同的危害233 T2:简单图论,每个点出度为1所以是基环内 ...

  3. html button 点击链接

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. js数组操作记录

    一 .splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. arrayObject.splice(index,howmany,item1,.....,itemX) 参数 描述 in ...

  5. vue-router自动判断左右翻页转场动画

    前段时间做了一个移动端spa项目,技术基于 :vue + vue-router + vuex + mint-ui 因为使用了vue-cli脚手架的webpack模版,所有页面都以.vue为后缀的文件作 ...

  6. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address 

    http://blog.csdn.net/ownfire/article/details/7966645 今天在做LNMP的时候,启动nginx服务,无法开启,导致网页打不开.把服务从起一下发现提示错 ...

  7. 织梦dede列表调用图集的第一张图片大图原图地址(非缩略图)

    dede(55) 我们在使用dede图片集的时候经常会碰到列表页或者内容页要调用一张图片而并非缩略图,那么碰到这样的问题怎么办呢?今天就给大家分享一个解决办法: 步骤一: 修改include/exte ...

  8. 邓_Excal

    --------------------------------------------------------------------- 快速输入固定文字 有一些固定的词组,输入 1 个.2 个,貌 ...

  9. 邓_ Php·魔术方法

    ================================================ 1.__tostring()   用于定义输出对象引用时调用  常用于打印一些对象的信息 必须有返回值 ...

  10. 【开发技术】 B/S、C/S的区别

    c/s     客户端----服务器端             可以用譬如vb或vc等语言开发,比如最常用的oicq就是.   需要在客户端安装软件. b/s     浏览器端----服务器端     ...