一.if语句

if condition_1:

statement_block_1

elif condition_2:

statement_block_2

else:

statement_block_3

1.每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块

2.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块

3.在Python中没有switch – case语句

4.条件:(1)检查是否相等: ==;(2)检查是否不相等:!=;(3)比较数字:==,<=,>=;(4)布尔表达式: True  ;  False

(5)检查多个条件 : 1.条件一and条件二(同时满足);2.条件一or条件二(至少一个满足)

(6)检查特定值是否包含在列表中:1.特定值 in 列表 ;2.特定值 not in 列表

5.三元运算

 #比较两数,输出最大的值
a=int(input('数字A:'))
b=int(input('数字b:'))
c=a if a>b else b
print(c)
------------------------------
数字A:14
数字b:41
41

if...else...

 #比较三数,输出最大的值
a=int(input('数字A:'))
b=int(input('数字b:'))
c=int(input('数字c:'))
d=(a if a>b else b) if(a if a>b else b) else c
print(d)
----------------------------------------------------
数字A:124
数字b:121
数字c:21
124

三数最大值

二.while循环

while 判断条件:

语句

1.注意冒号和缩进

2.Python中没有do..while循环

3.可以通过设置条件表达式永远不为 false 来实现无限循环,可以使用 CTRL+C 来退出当前的无限循环

4.使用标志

 #定义一个变量作为标志,用于判断整个程序是否属于活动状态
active=True
while active:
message=input()
if message == 'quit':
active=False
else:
print(message)
---------------------------------------------------
d
d
33
33
quit

标志

三.else语句

1.如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句

2.如果 else 语句和 for 循环语句一起使用,else 语句块只在 for 循环正常终止时执行!

3.if语句中当不满足当前条件时,从而执行下一条else语句

四.for语句

for <variable> in <sequence>:

< statements>

else:

<statements>

1.for循环可以遍历任何序列的项目,如一个列表或者一个字符串

五.break和continue语句及循环中的else子句

1.break 语句可以跳出 for 和 while 的循环体

2.从 for 或 while 循环中终止,任何对应的循环 else 块将不执行

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

4.循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行

六.pass语句

1.pass是空语句,是为了保持程序结构的完整性

2.pass 不做任何事情,一般用做占位语句

七.输入输出语句

1.2.x中print (空格)"变量名";3.7中print("变量名")

2.print()输出函数

 #print(self, *args, sep=' ', end='\n', file=None)
# • *args:表示任何多个无名参数,它是一个tuple;
# • sep:指定输出的多个参数之间的间隔符,默认是一个空格;
# • end:指定最后一个参数输出之后输出的字符,默认是换行符。
print(2,3,4,5)
print(2,3,4,5,sep='+',end='\r\n')
----------------------------------------------------------------------
2 3 4 5
2+3+4+5

print()

3.将输出的值转成字符串: repr() 或 str()

(1).str(): 函数返回一个用户易读的表达形式

(2).repr(): 产生一个解释器易读的表达形式

 s="hello,world"
print(str(s))
print(repr(s))
a='hello world\n'
print(a)
print(repr(a)) # repr() 函数可以转义字符串中的特殊字符
print(str(a))
print(repr((s,a,('glle','runs'))))#repr(一个参数),参数可以是 Python 的任何对象
-----------------------------------------------------------------------------------------
hello,world
'hello,world'
hello world 'hello world\n'
hello world ('hello,world', 'hello world\n', ('glle', 'runs'))

str()和repr()

4.使用 str.format() 函数来格式化输出值,使输出的形式更加多样

 # print('{}{}'.format('',''))括号及其里面的字符(称作格式化字段)将会被format()中的参数替换
# 在括号中的数字用于指向传入对象在 format() 中的位置
print('{0} 和 {1}'.format('Google', 'Runoob'))
print('{1} 和 {0}'.format('Google', 'Runoob')) # 如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数
print('{name}名字: {old}'.format(name='小明', old='')) # 位置及关键字参数可以任意的结合
print('站点列表 {0}, {1}, 和 {other}。'.format('Google', 'Runoob', other='Taobao')) # '!a' (使用 ascii()),
# '!s' (使用 str())
# '!r' (使用 repr())
# 可以用于在格式化某个值之前对其进行转化
import math
print('常量 PI 的值近似为: {}。'.format(math.pi))
print('常量 PI 的值近似为: {!a}。'.format(math.pi)) # 可选项 ':' 和格式标识符可以跟着字段名。在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度
print('常量 PI 的值近似为 {0:.3f}。'.format(math.pi))#float保留3位小数
print('{0:10}---{1:10d}'.format('ta',4))#至少有10的宽度 # 如果你有一个很长的格式化字符串, 而你不想将它们分开, 那么在格式化时通过变量名而非位置会是很好的事情。
# 最简单的就是传入一个字典, 然后使用方括号 '[]' 来访问键值
table = {'Google': 1, 'Runoob': 2, 'Taobao': 3}
print('Runoob: {0[Runoob]}; Google: {0[Google]:d}; Taobao: {0[Taobao]:d}'.format(table))
print('Runoob: {Runoob:d}; Google: {Google:d}; Taobao: {Taobao:d}'.format(**table))
#也可以通过在 table 变量前使用 '**' 来实现相同的功能
---------------------------------------------------------------------------------------
Google 和 Runoob
Runoob 和 Google
小明名字: 18
站点列表 Google, Runoob, 和 Taobao。
常量 PI 的值近似为: 3.141592653589793。
常量 PI 的值近似为: 3.141592653589793。
常量 PI 的值近似为 3.142。
ta --- 4
Runoob: 2; Google: 1; Taobao: 3
Runoob: 2; Google: 1; Taobao: 3

str.format()

 print('{2:10s}{0:10d}{1:10f}'.format(33,11,''))
print('{2:^10s}{0:<10d}{1:>10f}'.format(33,11,''))
#域宽为10 s,d,f表示字符串,整型,浮点型
#<,>,^分别左对齐,右对齐,居中
-------------------------------------------------------------------------
22 33 11.000000
22 33 11.000000

补充

5.% 操作符也可以实现字符串格式化

6.input()函数读取键盘输入

Python2中raw_input将用户输入的内容当做字符串,传递给接受的变量,input会将用户输入的内容当做‘代码’进行处理,input=raw_input+eval

python3中只有input相当于python2中的raw_input,可以用eval函数实现python2中的input功能

input()函数让程序暂停工作,等待用户输入一些文本,用户按回车键后程序继续运行。我们可以将文本赋值存储在一个变量中,

 #input(*args, **kwargs)
#kwargs:表示关键字参数,它是一个dict
# input() 置函数从标准输入读入一行文本,默认的标准输入是键盘
#input 可以接收一个Python表达式作为输入,并将运算结果返回
#使用input时,python将用户输入解读为字符串,可用int()来获取数值输入
print(input('name:'))
a=input("old:")
print(a)
print(type(a))
b=int(a)
print(b)
print(type(b))
----------------------------------------------------------------------
name:alex
alex
old:16
16
<class 'str'>
16
<class 'int'>

input()

*input和split读取多个输入

 n1,n2=input('shuru1: ').split('#')#输入两个字符串,以#表示分隔
n3,n4,n5=input('shuru2:').split()##输入三个字符串,默认以空格表示分隔
s1=int(n1)+int(n2)
print(s1)
s2=int(n1)+int(n3)-int(n5)+int(n4)
print(s2)
--------------------------------------------------------
shuru1: 12#
shuru2:231 33 23
667
253

split

八.迭代器iterator

1.迭代是指重复反馈过程的活动,目的是为了接近并达到所需的目标或结果。每一次的过程的重复被称为一次迭代,所得到的结果会被用来作为下一次迭代的初始值。

2.迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器也是可迭代对象,也可作用于for in

3.迭代器是一个可以记住遍历的位置的对象。

4.迭代器只能往后,不能往前;迭代器一般不能多次迭代;取完之后再取元素会报错

5.迭代器适合用于遍历一些巨大或无限的集合,仅仅在迭代到某个元素时才处理该元素

6.迭代器有两个基本的方法:iter()(把可迭代对象转换成迭代器进行使用) 和 next()(遍历)。

 list=[1,2,34,3,4,'','als']
it=iter(list) # 创建迭代器对象,字符串,列表或元组对象都可用于创建迭代器
print(next(it)) # 输出迭代器的下一个元素
print(next(it)) # 输出迭代器的下一个元素,
# 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。
# 迭代器中访问完一个少一个,迭代器没有len
for x in it: #迭代器对象可以使用常规for语句进行遍历
print(x) #迭代器只能往前不会后退
--------------------------------------------------------------
1
2
34
3
4
32
als

iter()和next()

九.生成器generator

1.在 Python 中,使用了 yield 的函数被称为生成器(generator)函数,这个函数的执行结果就是生成器

2.跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个特殊的迭代器。

3.在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。

 def test():
print('xxx')
yield 1
print('a')
yield 2
print('b')
yield 3
print('c')
yield 7
print('d') g=test()
print(g)#<generator object test at 0x02DEE900> print(next(g))#xxx 1
print(next(g))#a 2
----------------------------------------------------------------
<generator object test at 0x0568E900>
xxx
1
a
2

yield

4.调用一个生成器函数,返回的是一个迭代器对象。

 #如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator
import sys
def fibonacci(n): # 生成器函数 - 斐波那契
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
f = fibonacci(10) # f 是一个迭代器,由生成器返回生成
while True:
try:
print (next(f), end=" ")
except StopIteration:
sys.exit()
-------------------------------------------------------------------
0 1 1 2 3 5 8 13 21 34 55

5.生成器表达式创建方式:把列表推导式的[]修改为()

 l=(i for i in range(1,10)if i%2==0)
l2=[i for i in range(1,10)if i%2==0] print(l)
print(l2)
----------------------------------------
<generator object <genexpr> at 0x0573E900>
[2, 4, 6, 8]

生成器表达式创建

6.生成器的send()方法

 #send方法有一个参数,指定的是上一次被挂起的yeild语句的返回值
#相比于.__next__(),可以额外的给yield语句传值
#注意第一次调用 t.send(None) def test():
print('xx')
res1=yield 1#'ooo'
print(res1) res2=yield 2
print(res2) g=test() print(g.__next__())#调用.__next__()方法时,执行函数xx 1
# print(g.__next__())#调用.__next__()方法时,执行函数None 2
print(g.send('ooo'))#调用send方法,给上次的yeild指定返回值ooo 2
-------------------------------------------------------------
xx
1
ooo
2

send()

7.关闭生成器.close()方法

 def test():
print('xxx')
yield 1
print('a')
yield 2
print('b')
yield 3
print('c')
g=test()
print(g.__next__())
g.close()#关闭生成器,无法再访问
# print(g.__next__())异常StopIteration
----------------------------------------------------
xxx
1

.close

8.如果碰到return,会直接终止,抛出StopIteration异常提示,生成器只会遍历一次

十.补充

1.assert关键字

 #assert断言
#当关键字后面的条件为假时,程序自动崩溃并抛出AssertionError的异常
#关键字后面的条件为真时,自动忽略
assert 3>4
#一般来说,我们可以用它在程序中置入检查点
#当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就很有用
---------------------------------------------------------------------------------------
Traceback (most recent call last):
File "E:/python_work/example/2018.4.2.py", line 21, in <module>
assert 3>4
AssertionError

assert

2.可迭代对象iterable:list,dict,set,str,generator(生成器),iterator(迭代器)

3.可迭代对象都可用for来遍历

python3 基础三的更多相关文章

  1. python002 Python3 基础语法

    python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...

  2. Python3基础(十二) 学习总结·附PDF

    Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...

  3. Python3基础(八) 模块

    在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...

  4. Python3基础语法和数据类型

    Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...

  5. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  6. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

  7. Bootstrap <基础三十一>插件概览

    在前面布局组件中所讨论到的组件仅仅是个开始.Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动.即使不是一名高级的 JavaScript 开发人员,也可以着手 ...

  8. Bootstrap <基础三十>Well

    Well 是一种会引起内容凹陷显示或插图效果的容器 <div>.为了创建 Well,只需要简单地把内容放在带有 class .well 的 <div> 中即可.下面的实例演示了 ...

  9. Bootstrap<基础三> 排版

    Bootstrap 使用 Helvetica Neue. Helvetica. Arial 和 sans-serif 作为其默认的字体栈. 使用 Bootstrap 的排版特性,您可以创建标题.段落. ...

随机推荐

  1. 【Aizu - 0189】Convenient Location (最短路 Floyd算法)

    Convenient Location 直接翻译了 Descriptions 明年毕业的A为就业而搬家.就职的公司在若干城市都有办公室,不同天出勤的办公室也不同.所以A在考虑住在哪去各个办公室的时长最 ...

  2. 最新 第一视频java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.第一视频等10家互联网公司的校招Offer,因为某些自身原因最终选择了第一视频.6.7月主要是做系统复习.项目复盘.Leet ...

  3. springboot集成elk 一: springboot + Elasticsearch

    1.ELK介绍 1> Elasticsearch是实时全文搜索和分析引擎, 提供搜集.分析.存储数据三大功能: 是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统. ...

  4. [转帖]Linux Shell常用技巧(五)

    Linux Shell常用技巧(五) https://zhuanlan.zhihu.com/p/73451771 1. 变量:在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可 ...

  5. 认识 Spring 框架(一)

    认识 Spring 框架 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP( ...

  6. LeetCode_#1_两数之和 Two Sum_C++题解

    1. 两数之和 Two Sum 题目描述 Given an array of integers, return indices of the two numbers such that they ad ...

  7. XDebug调试

    安装 访问Xdebug 点击download 找到RELEASES,点击 custom installation instructions. 在白色框框内填入phpinfo()出来的源码 点击Anal ...

  8. 导出excel的功能效果实现

    <el-button @click="exportExcel" > <i style="display: inline-block;"> ...

  9. win7+cuda+anaconda python+tensorflow-gpu+keras安装成功版本匹配汇总

    win7+cuda+anaconda python+tensorflow-gpu+keras安装成功版本匹配汇总 2019-09-20 15:06:03 wyx100 阅读数 38更多 分类专栏: M ...

  10. 监听lsnrctl status查询状态报错linux error 111:connection refused

    报错现象 今天给客户一个单实例环境配置监听,创建正常,查询状态异常报错 tns tns tns linux error :connection refused 匹配MOS Starting TNS L ...