语句、就是写代码
代码风格
代码格式指南——
pep:python enhancement proposer:python增强协定——
其中有许多规范,其中一项PEP8——规范了平时写代码要注意哪些信息,格式如何规范。——
其中包括:
1.缩进时候总是四个字符:四个空格或者一个tab键
2.代码不要太长,一行代码不超过79个字符,
一行不够可以换行,python会自动识别
将一个代码操作屏幕分开:
3.定义两个函数,中间隔开两行
语句
赋值语句
1.
序列赋值
可以用元组tuple赋值
但其本身不是元组,依旧是x,y
元组中的元素可以被操作,而与元组无关
用列表赋值
字符串赋值
元组、列表、字符串赋值,都是
序列赋值
2.
扩展序列,解包赋值
以上为前后变量元素数量相等,前后变量数量不同的情况
前后不指定会出错
可以指定对前面赋值,用索引下标:
列表切割
用星号
,获取剩余变量到list,一个赋值中只能用一个星号
*
第一个值成为元组,第二个是字符串,第三个是列表。
list的.join方法可以将列表中的内容重新组合为子字符串。
用星号*解包,前面变量超过后面值的数量,会得到空的列表。
3.
多目标赋值:声明一个值,塞给多个变量
以上:
a is b #true
c is d #false
#原因在于,python中段字符串会被缓存,不被垃圾回收,长字符串会被清理,垃圾回收。
a=b=c='uke'
# 共同赋值
列表中一个变量可以被多个对象引用,共同指向同一个对象
但是有时候要将其分开,不要混淆,不要共同指向同一个对象
4.
参数化赋值
简单情况
列表中
在列表中添加一个元素:.append()方法
添加一个列表:.extend()方法
表达式
函数调用
字面值
方法调用
打印操作
1.print()可同时打印多个变量,这些变量默认以空格隔开。
2.
用什么隔开可以自己去指定,打印时候加上参数
将打印信息放到文件中
# sep是seperate
print(s,url,url1,sep='\')
# 将打印信息放到文件中
print(s,url,url1,end='...\n',file=open('result.txt','w',encoding='utf8'))
sep’分隔符’,end’终止符’,file’指定文件’
流程控制
if语句
1.
一般格式
score=75
if score>=90:
print('优秀')
elif score>=80: #elif是else if的缩写
print('良')
elif score>=60:
print('及格') #if的子语句,所以要缩进四个空格
else #else与if的关系是配对的,所以不用缩进
print('不及格')
2.
多重分支
配合字典表操作实现多重分支
operation={'add':'添加操作',
'update':'更新操作'
'delete':'删除操作'}
print(operation.get('update'))
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('delete')(10)
3.
三元运算符
#前面是条件成立情况,后面是条件不成立情况下
result='及格' if score>=60 else '不及格'
while循环
返回结果是布尔型,真或假,
1.
一般格式
x='youpinketang'
while x:
print(x,end=' ')
x=x[1:]
# 如果没有x=x[1:],x永远有值,永远满足条件会无限循环下;有了x=x[1:],每次循环都会减少第一个,从第二个开始;循环到后面,x中的元素为空,就会停止循环。
a,b=0,10
while a
print(a)
a += 1 #有了这个,a每次循环会加上1,a越来越大,到a=10,停止循环
2.
break
:
循环里遇到一个break,满足这个条件就会从循环里跳出来
while True:
name = input('请输入您的姓名:')
if name == 'stop':
break
age = input('请输入您的年龄:')
print('您好:{},您的年龄是:{},欢迎学习优品课堂课程'.format(name,age))
print('循环结束')
break是跳出整个循环,else是整个循环的一部分,因而后面的循环不再起作用
while True:
name = input('请输入您的姓名:')
if name == 'stop':
break
age = input('请输入您的年龄:')
print('您好:{},您的年龄是:{},欢迎学习优品课堂课程'.format(name,age))
else:
print('循环结束')
3.
cotinue
循环里设定一个条件,满足这个条件的话,就会跳过后面的代码,不再执行。跳出循环,跳到循环的头部,进行下一次循环。
x = 10
while x:
x <= 10
if x %2 != 0:
continue
print(x,end=' ')
# 还可以写成这样:
for x in range(1,11):
if x %2 != 0:
continue
print(x,end=' ')
# 不可写成下面这样:原因:python中条件为0时,即为false,循环就会停止,因而下面只能运行一次。
for x in range(1,11):
if x %2 = 0:
print(x,end=' ')
4.
pass
占位符,写一个循环,代码写什么还不确定,就先占个位,留个位置。
实例
found = false
for x in range(1,5):
if x == 6:
found = true
print('已经找到了',x)
break
if not found:
print('没找到')
# python中的表达for循环:遍历
for x in range(1,5):
if x == 6:
print('有这个数字',x)
break
else:
print('未找到')
for循环
for x in 目标序列(序列都可以用来遍历)
1.目标序列是
列表
列表中的数字,字符串,
2.目标序列是
字符串
字符串中的字母,一个元素(字母)的依次遍历
# 求出两个字符串的交集
resul = []
for i in s1:
if x in s2:
result.append(x)
print(result)
# 实际开发中用推导算法
a = [x for x in s1 if x in s2]
print(a)
3.
tuple
sum = 0
for x in (1,2,3,4,5):
sum += x
print(sum)
4.
字典表
键值对
emp = {'name':'Tom',
'department':'technology',
'salary':9000.0}
# for a in emp: #遍历的是dict的键
for key in emp: #用key直接表明出来
#print('{} => {}'.format(key,emp[key]))
#花括号在里面就不是字典表了,而是格式化的占位符
print('{}={}'.format(key,emp.get(key,'未找到’)))
# 只遍历他的键,或只遍历他的值
for key in emp.keys():
print(value)
# dict不能排序,将打印出来的内容排序,可通过将打印出来的结果放到列表中:将keys内容打印出来,放到列表中,对列表排序
3.
累加效果
sum = 0
for x in [1,2,3,4,5]:
sum += x
print(sum)
4.
关键字
range()
,生成一个序列
#for x in range(1,100): #终止到100,不包括100
#for x in range(1,101,2): #加上步长,都为奇数
#for x in range(1,101,2): #都为偶数
print(x)
enumerate()函数
意思为列举/枚举
可以获取索引和对应值
s = 'youpinketang'
for idx,item in enumerate(s):#idx和item是元组,括号可省略
print('{} ) {}'.format(idx + 1, item)