代码规范
python代码简洁,因此对可读性要求高,所以一般开发需遵循一定的代码风格 如PEP8规范
相关介绍:
语句与表达式
元组定义(a,b,c)和a,b,c的定义效果相同
a,b,c='uke'
print(a)
print(b)
print(c)
相当于定义了a,b,c的元组,分别对应uke
u
k
e
元组的声明需要保持前后项数目一致
a,b,c='ukezz'
print(a)
print(b)
print(c)
ValueError: too many values to unpack (expected 3) 元组的定义需要保持前后项数目一致
可以用列表的切割法进行赋值
a,b,c = s[0],s[1],s[2:]
print(a)
print(b)
print(c)
y
o
upin
序列一致
扩展序列解包赋值
基本语法*变量 获取剩余元素到list,
解包赋值返回的是一个列表,list可以为空,也可以为多个元素
用上述的方法定义一个元组似乎有点不方便
可以采用
s = 'youpin'
a,b,c = s[0],s[1],s[2:]
a,b,*c=s
print(a)
print(b)
print(c)
c=''.join(c)#用join将列表里的元素拼接成字符串
print(c)
y
o
['u', 'p', 'i', 'n']
upin
一个变量多个引用的现象
多目标赋值
a=b=[]
a.append(3)
print(a)
print(b)
[3]
[3]
分开申明
a=[]
b=[]
c,d=[],[]
a.append(3)
c.append(3)
print(a)
print(b)
print(c)
print(d)
[3]
[]
[3]
[]
列表的扩展
列表的扩展有两种方式,用extend()方法效率要高一些
l = [1,2]
l+=[9,10]
print(l)
l.extend([2,5,'acsd'])
print(l)
[1, 2, 9, 10]
[1, 2, 9, 10, 2, 5, 'acsd']
表达式
表达式分为函数调用和方法调用以及字面值,基本理解和java差不多
打印操作
s='优品课堂'
url1='www.ukpin.com'
url2='www.baidu.com'
print(s,url1,url2)
print(s,url1,url2,sep='|')#sep为分隔符
print(s,url1,url2,end='****\n')#end为终止符
print(s,url1,url2,end='/*/**/\n',file=open('result.txt','w',encoding='utf8'))#将打印内容输入到文件中,编码utf8防止乱码问题
优品课堂 www.ukpin.com www.baidu.com
优品课堂|www.ukpin.com|www.baidu.com
优品课堂 www.ukpin.com www.baidu.com****
流程控制
if语句
有一般格式,多重分支,以及三元运算符
有一般格式,多重分支,以及三元运算符
一般格式
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
python中的条件判断跟C,java相似,一般在条件后加:
if 嵌套不用括号 用缩进
三元运算符格式
a=Y if X(条件) else Z
score = 90
result = '及格' if score >= 60 else '不及格'
print(result)
及格
while 循环
1.一般格式
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
1 到 100 之和为: 5050
使用input交互
while True:
name = input('请输入你的姓名:')
if name == 'stop':
break
age = input('请输入你的年龄:')
print('你好:{},你的年龄是:{},欢迎学习优品课堂'.format(name,age))
else:
print('循环结束')
请输入你的姓名:xxx
请输入你的年龄:12
你好:xxx,你的年龄是:12,欢迎学习优品课堂
请输入你的姓名:stop
2.continue
3.break
4.pass
for循环
一般格式:
for x in 目标序列
for x in [1,2,3,4]:
print(x,end=' ')
for x in 'youpinketang':
print (x,end='|')
1 2 3 4 y|o|u|p|i|n|k|e|t|a|n|g|
for循环获取字典key和值
emp = {
'name' :'Tom',
'department':'technology',
'job':'development',
'salary':9000.00
}
for key in emp:
print('{}=>{}'.format(key,emp[key]))
ame=>Tom
department=>technology
job=>development
salary=>9000.0
观察一下数据类型
for key in emp.keys():
print(key)
for values in emp.values():
print(values)
print(type(values))
print(type(emp.values()))
print(type(emp.keys()))
name
department
job
salary
Tom
technology
development
9000.0
<class 'float'>
<class 'dict_values'>
<class 'dict_keys'>
打印交集
s1='abcdefghi'
s2='fghijkel'
l = [x for x in s1 if x in s2]
print(l)
['e', 'f', 'g', 'h', 'i']
打印1到100 每隔三位的数字
for x in range(1,100,3):#range的第三个参数表示每次隔多少位进行遍历
print(x)
1
4
7
10
13。。。。。
用enumetare()函数打印遍历字符的位置和值
s=‘youpinketgabf’
for idx,item in enumerate(s):
print('{}) {}'.format(idx,item))
0) y
1) o
2) u
3) p
4) i
5) n
6) k
7) e
8) t
9) g
10) a
11) b
12) f