Python基础篇(五)
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基础篇(五)的更多相关文章
- python基础篇(五)
PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...
- Python基础篇(五)_文件和数据格式化
Python基础篇_文件和数据格式化 文件的使用:文件打开.关闭.读写 文件打开:通过open()函数打开文件,并返回一个操作文件的变量. 使用语法:<变量名> = (<文件路径以及 ...
- python基础篇(六)
PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...
- python基础篇(一)
PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...
- python基础篇(二)
PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...
- python基础篇(三)
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- 面试题之第一部分(Python基础篇) 80题
第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...
- python基础篇-day1
python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...
随机推荐
- BZOJ 1432: [ZJOI2009]Function(新生必做的水题)
1432: [ZJOI2009]Function Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1205 Solved: 895[Submit][Sta ...
- oracle分页查询及原理分析(总结)
oracle分页查询及原理分析(总结) oracle分页查询是开发总为常用的语句之一,一般情况下公司框架会提供只需套用,对于增删改查而言,查是其中最为关键也是最为难的一块,其中就有使用率最高的分页查询 ...
- 什么是MVC ?
记得第一次面试phper(php是对我来说可以快速上手的另一web开发语言),人家问我MVC,我只知道m就是model,v就是view,c就是Controller,具体把其它的认识我是一无所知,结果我 ...
- eclipse中git解决冲突
摘录自http://blog.csdn.net/rosten/article/details/17068285 1. 工程->Team->同步 2.从远程pull至本地,就会出现如下内容 ...
- servlet入门学习之生命周期
一. 什么是Servlet Servlet是用Java语言编写的服务器端小程序,驻留在web服务器中,并在其中运行,扩展了web服务器的动态处理功能. 用java语言编写的java类 在web容器中运 ...
- Spring+JTA+Atomikos+mybatis分布式事务管理
我们平时的工作中用到的Spring事务管理是管理一个数据源的.但是如果对多个数据源进行事务管理该怎么办呢?我们可以用JTA和Atomikos结合Spring来实现一个分布式事务管理的功能.了解JTA可 ...
- SpringMVC的filter怎么使用Autowired依赖注入bean
有的时候根据我们业务的需要,我们需要在web项目中定义一个自己的filter,并想在这个filter中使用@Autowired注入bean供我们使用.如果直接使用的话是不行的,需要我们在xml文件 ...
- maven多模块搭建
此时你会发现父模块含有如下内容 这是因为创建的maven项目都带有样例,比如上图的这张图片 各种artifact都是做什么的呢,@参考文章中给出了答案 怎么创建不带这些呢? 那就创建simple pr ...
- Linux指令--ping
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说"ping一下某机器,看是不是开着".不能打开网页时会说"你先ping网关地址 ...
- 在Tomcat中采用基于表单的安全验证
.概述 (1)基于表单的验证 基于From的安全认证可以通过TomcatServer对Form表单中所提供的数据进行验证,基于表单的验证使系统开发者可以自定义用户的登陆页面和报错页面.这种验证方法 ...