表达式

代码风格

  • 代码格式指南

    • PEP8
    • 缩进4空格
    • 一行不超过79
    • 空行

赋值语句

基本

(x,y) = (5,10)
x
[x,y,z] = [1,2,3]
x
a,b,c = 'uhk'
a
5
1
'u'

序列赋值

- 形如“a,b,c = 'youpin'”这样的赋值语句是会报错的

可以使用一下方法解决:

s = 'youpin'
a,b,c = s[0],s[1],s[2:]
a
c
'y'
'upin'

拓展序列解包赋值

- *变量,获取剩余元素到list
a,b,*c = s
a,
c
('y',)
['u', 'p', 'i', 'n']
a,*b,c = s
a
b
type(b)
'y'
['o', 'u', 'p', 'i']
list
a,b,c,*d = 'ukj' #缺的给d
a
d
'u'
[]

多目标赋值

- a = b = 0

一个例子理解内部存储256限制的问题

a = 'ukj'
b = 'ukj'
a == b
a is b
True
True
a = 'ukj.cc'
b = 'ukj.cc'
a == b
a is b #因为字符长度问题,长的字符存储超过256位
True
False

下面理解下变量与对象指向的问题

a = 'lok'
b =a
c = b
a = b = []
a.append(3)
a
b #b的值也因此含有元素3,这个表明内存指向问题
[3]
[3]

参数化赋值

a,b = 1,2
a += b
a
l = [1,2]
l += [9,10]
l
l.extend([3,5,7])
l
3
[1, 2, 9, 10]
[1, 2, 9, 10, 3, 5, 7]

表达式

参数调用

字面值

方法调用

打印操作

  • print()

    • sep='分隔符'
    • end='终止符'
    • file=指定文件
s = '我'
url = '是'
url2 = 'who'
print(s,url,url2)
print(s,url,url2, sep = '|') #分隔符
print(s,url,url2, end = '|')
print(s,url,url2, end = '...\n',file = open('result.txt','w'),encoding = 'utf8') # 把打印的结果塞在文件里
我 是 who
我|是|who
我 是 who|

流程控制

if语句

一般格式

score = 55
if score >= 90:
print('优秀')
elif score >= 80:
print('良')
elif score >= 60:
print('及格')
else:
print('不及格')
不及格
operation= {
'add': '添加操作',
'update': '更新操作',
'delete': '删除操作'
}
print(operation.get('update'))
更新操作

多重分支

三元运算符

  • a = Y if X else Z
def add(x):
print(x+10)
operation= {
'add': add,
'update': lambda x: print(x*2),
'delete': lambda x: print(x*3)
}
def default_method(x):
print('默认方法,什么都不做')
operation.get('delte',default_method )(10) #这里赋值的10是add函数中的参数x
默认方法,什么都不做

while循环

一般格式

a, b = 0, 10
while a < b:
print(a)
a += 1
0
1
2
3
4
5
6
7
8
9

break

while True:
name = input('请输入一个姓名: ')
if name == 'stop':
break
age = input('请输入年龄: ')
print('您好:{},您的年龄是:{},欢迎光临'.format(name,age))
print('循环结束')
请输入一个姓名: stop
循环结束
while True: #对比上下两个例子可以发现break是完全跳出整个while循环,而不只是跳出循环分支
name = input('请输入一个姓名: ')
if name == 'stop':
break
age = input('请输入年龄: ')
print('您好:{},您的年龄是:{},欢迎光临'.format(name,age))
else:
print('循环结束')
请输入一个姓名: stop

continue

x = 10
while x:
x -= 1
if x %2 != 0:
continue #当x为奇数时,执行continue,跳过print操作,继续执行x的减法
print(x, end = ' ')
8 6 4 2 0
found = False
for x in range(1,5):
if x == 6:
found = True
print('已经找到了', x)
break if not found:
print('没找到')
没找到
  • 使用字符串
for i in 'sfesf':
print(i, end = ' ')
s f e s f
emp = {
'name':'Tom',
'dapartment':'technology',
'job':'development',
'salary':90008.0
}
for key in emp:
print('{} => {}'.format(key, emp[key])) #或者format(emp.get(key,'未找到'))
name => Tom
dapartment => technology
job => development
salary => 90008.0

pass

else

for value in emp.values():
print(value)
print(type(emp.values()))
Tom
technology
development
90008.0
<class 'dict_values'>
s1 = 'youkingthe.com'
s2 = 'gangwoqushujiao.com'
l = [x for x in s1 if x in s2]
print(l)
['o', 'u', 'i', 'n', 'g', 'h', '.', 'c', 'o', 'm']

for循环

range()

enumerate()

for x in range(1, 101,7): #不包括9
print(x)
1
8
15
22
29
36
43
50
57
64
71
78
85
92
99
s = 'you'
for (idx,item) in enumerate(s):
print('{}) {}'.format(idx+1, item))
1) y
2) o
3) u

第四天:语句、表达式与if分支、循环语句的更多相关文章

  1. c++中的结构化语句 判断语句if 分支语句switch 循环语句 while 和 do while 循环语句for的使用

    作业1: 使用if语句,根据1~7的数字,输出今天是星期几?的程序. 方法一,直接使用单独的if语句 #include <iostream> using namespace std; in ...

  2. 第二节 Python基础之变量,运算符,if语句,while和for循环语句

    我们在上一节中,我们发现当我们用字符串进行一些功能处理的时候,我们都是把整个字符串写下来的,比如"jasonhy".startwith("j"),如果我们在程序 ...

  3. 实验3 分支&循环语句(1)

    part  1 1.在循环中使用控制语句continue和break,其功能区别是: continue:只控制本次循环的结束. break:终止并跳出循环,之后的循环也不再执行. 2.在两层嵌套循环中 ...

  4. C语言 第四章 关系、逻辑运算与分支流程控制

    一.关系运算 若干表达式用关系运算符连接而成,就构成关系表达式. 关系表达式中,表达式成立,其值为1(真):表达式不成立,其值为0(假).其他表达式中,其结果如果是非0则为真,结果为0则为假. 关系运 ...

  5. if-elif-else分支判断语句(附加continue和break)---举例说明

    一.分支循环语句: a=input("请输入一个五位数字") if(len(a)!=5): print("输入的数字不合格"); elif(a[0::]==a[ ...

  6. Enze fourth day(循环语句 一)

    哈喽,大家好.又到了总结知识的时间了.今天在云和学院自学了一下循环语句,下面是自己总的一些知识点. 先补充一下选择结构中的switch语句. 理论:switch语句是一种多分支选择语句,当需要测试大量 ...

  7. bash循环语句

    1  )单分支if语句 if 测试条件 :then 如果满足条件就执行这里的代码 f 2)双分支的if语句 if  测试条件:then 如果满足条件就执行这里的代码 else 如果不满足条件就执行这里 ...

  8. shell 学习笔记9-while/until循环语句

    一.while循环语句 1.循环语句 循环愈久就是重复执行一条指令或一组执行,知道条件不在满足时停止,shell循环语句包括,while.until.for.select语句 2.while循环 主要 ...

  9. C++第一次作业(循环语句的使用)

    一.知识点 循环结构 二.教学目的 掌握while和do...while循环语句在C++中的写法 三.教学内容 1.while语句 (1)执行顺序:先判断表达式(循环控制条件)的值,若表达式的值为tr ...

  10. Java 循环语句及流程控制语句

    java循环语句while与do-while 一 while循环 while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句. 区别在于,while语句会反复地进行 ...

随机推荐

  1. LInux文件基础知识和文件目录操作(系统调用函数方式)

    1.进程是处于活动状态的程序,某个用户通过操作系统运行程序所产生的进程代表着该用户的行为.如果用户不具备访问某个目录和文件的权限,那么该用户的进程也不能访问. 2.Linux系统中文件安全机制是通过给 ...

  2. MySql在建立索引优化时需要注意的问题

    MySql在建立索引优化时需要注意的问题 设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率.设计MySql索引的时候有一下几点注意: 1,创建索引 对于查询占主要的应用来说,索引显得 ...

  3. ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗

    ylbtech-ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗 1.返回顶部 1. TechEmpower在10月30发布最新一 ...

  4. eclipse修改项目访问前缀

    eclipse项目右击 properties---web project setting---context root修改项目访问前缀

  5. python url编码与解码

    上代码 #codeing:utf-8 from urllib import parse ori_url_10='http://192.168.0.10:3080/asg/portal.do?call= ...

  6. 在Python的列表中利用remove()方法删除元素的教程

    在Python的列表中利用remove()方法删除元素的教程 这篇文章主要介绍了在Python的列表中利用remove()方法删除元素的教程,是Python入门中的基础知识,注意其和pop()方法的区 ...

  7. Dubbo入门到精通学习笔记(四):持续集成管理平台之Maven私有库和本地库的安装与配置

    文章目录 介绍 Maven私有库和本地库的安装与配置 Nexus安装 Nexus 配置(登录后) 介绍 如果构建的Maven项目本地仓库没有对应的依赖包,那么就会去Nexus私服去下载, 那么如果Ne ...

  8. 【C++】清空一个C++栈的快速方法

    来源:https://stackoverflow.com/questions/40201711/how-can-i-clear-a-stack-in-c-efficiently/40201744 传统 ...

  9. JFreeChart架构

    本章介绍给大家介绍 JFreeChart 不同类中如何交互的概念, JFreeChart基本类层次和应用水平的架构在基于Java应用程序如何工作的. 类层次架构 类层次架构解释了如何把不同阶层的相互库 ...

  10. NIO 源码分析(02-2) BIO 源码分析 Socket

    目录 一.BIO 最简使用姿势 二.connect 方法 2.1 Socket.connect 方法 2.2 AbstractPlainSocketImpl.connect 方法 2.3 DualSt ...