Python基础知识(2)——Python的语法标准
先上目录
缩进
python缩进是一个很深的学问(夸大了😁)
首先来看一段html程序:
<html>
<head><meta charset="UTF-8"><title>带日期的时钟</title><style>
h1 {
text-align: center;
}
div {
width: 400px;
height: 400px;
margin: 10px auto;
padding: 0;
}
</style></head>
<body>
<div>
<canvas id="c1" width="400px" height="400px">
</canvas>
</div>
<script type="text/javascript">
var clock = document.getElementById("c1").getContext("2d");
// var clock = $("#huabu").get(0).getContext("2d"); //$中使用画布
function play() {
clock.clearRect(0, 0, 400, 400);
clock.save();
clock.translate(200, 200); //把画布中心转移到canvas中间
biaopan();
run();
clock.restore();
}
setInterval(function() {
play();
}, 1000);
function biaopan() {
//绘制表盘
clock.strokeStyle = " #000000";
clock.lineWidth = 5;
clock.beginPath();
clock.arc(0, 0, 195, 0, 2 * Math.PI);
clock.stroke();
//刻度(小时)
clock.strokeStyle = "#000000";
clock.lineWidth = 5;
for(var i = 0; i < 12; i++) {
clock.beginPath();
clock.moveTo(0, -190);
clock.lineTo(0, -170);
clock.stroke();
clock.rotate(2 * Math.PI / 12);
}
//刻度(分钟)
clock.strokeStyle = "#000000";
clock.lineWidth = 3;
for(var i = 0; i < 60; i++) {
clock.beginPath();
clock.moveTo(0, -190);
clock.lineTo(0, -180);
clock.stroke();
clock.rotate(2 * Math.PI / 60);
}
//绘制文字
clock.textAlign = "center";
clock.textBaseline = "middle";
clock.fillStyle = "#3395ED";
clock.font = "20px 微软雅黑"
for(var i = 1; i < 13; i++) {
clock.fillText(i,Math.sin(2*Math.PI /12*i)*150,Math.cos(2*Math.PI/12*i)*-150);
}
}
function run() {
var date = new Date();
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
// if(h > 12) {
// h = h - 12;
// }
//日期
var week = date.getDay();
var month = date.getMonth() + 1;
var day = date.getDate();
switch (week){
case 1: week = "星期一";
break;
case 2: week = "星期二";
break;
case 3: week = "星期三";
break;
case 4: week = "星期四";
break;
case 5: week = "星期五";
break;
case 6: week = "星期六";
break;
default: week = "星期天";
break;
}
clock.save();
clock.textAlign = "center";
clock.textBaseline = "middle";
clock.fillStyle = "black";
clock.font = "16px"
clock.fillText(week,-2,-118);
clock.fillText(month+" 月",-90,2);
clock.fillText(day+" 号",90,0);
clock.stroke();
clock.restore();
//时针
//分针60格 分针5格
clock.save();
clock.rotate(2 * Math.PI / 12 * h + (2 * Math.PI / 60 * m + 2 * Math.PI / 60 * s / 60) / 12);
clock.strokeStyle = "black";
clock.lineWidth = 7;
clock.beginPath();
clock.moveTo(0, 0);
clock.lineTo(0, -80);
clock.lineCap = "round";
clock.stroke();
clock.restore();
//分针
//秒针60格 分针一格
clock.save();
clock.beginPath();
clock.strokeStyle = "balck";
clock.lineWidth = 6;
clock.rotate(2 * Math.PI / 60 * m + 2 * Math.PI / 60 * s / 60);
clock.moveTo(0, 0);
clock.lineTo(0, -110);
clock.lineCap = "round";
clock.stroke();
clock.restore();
//秒针
clock.strokeStyle = "red";
clock.rotate(2 * Math.PI / 60 * s);
clock.lineWidth = 4;
clock.beginPath();
clock.moveTo(0, 0);
clock.lineTo(0, -150);
clock.lineCap = "round";
clock.stroke();
//中心
clock.fillStyle = " #CCFFFF";
clock.lineWidth = 5;
clock.beginPath();
clock.arc(0, 0, 10, 0, 2 * Math.PI);
clock.fill();
clock.strokeStyle = "cadetblue";
clock.stroke();
}
</script>
</body>
</html>
这里的很多代码都挨着左边,浏览器也可以正常读取,根本无视缩进(可以说缩进是给人看的)
但python就不一样了
必须写的工工整整
age = input("your age")
if int(age)>5:
print("hi")
else:
print("your a baby")
如果写成这样:
age = input("your age")
if int(age)>5:
print("hi")
else:
print("your a baby")
或是这样:
age = input("your age")
if int(age)>5:
print("hi")
else:
print("your a baby")
就会报错:
或是这样:
注意⚠这上面两段程序不要傻傻的去以为是正确程序,注意看正文,不要只看黑色的代码片来抄
这里再说一下,一般情况下,python在这几个情况下会自动缩进:
- 英文冒号后按换行
- 任意一级括号没有结束换行
- 列表未结束按空格
还有一些python关键字写完时换行会自动减去一个缩进:
- break
- return
而python的缩进一般是4个空格(按tab键可快速缩减)但缩进没有明确规定要几个空格,只要大于0个就可以(一个python文件中缩进空格数可以不同,但同一级别下要要统一)注释无视缩进后面会讲
其实python用缩进的原因在于它没有大括号,它必须用缩进来区分级别,这也增强了它的可读性,让不管是开发者自己还是浏览代码的人,都能一目了然
注释
当我们看到python代码里的#
,那表面后面在换行以前都是注释,是单行注释
这是一种注释:
#这是一条单行注释
多行注释:
'''
这是一行多行注释
1,
2,
3,
4,
...
'''
注意⚠这个其实算不上真正的注释,是一段字符串,但没有任何操作,就可以当作注释
而上面也说了注释无视缩进,比如下面:
age = input("your age") #get age
if int(age)>5:
#注释无视缩进
print("hi")
#注释无视缩进
else:
print("your a baby")
即使这样写,程序还是可以正常运行
其实与其说是注释无视缩进,其实是程序无视注释
最后关于语法的提醒就是所有符号必须是在英文状态下输入的,否则会报错
很常见的如下面:
1,冒号
if a == 1:#错用中文冒号导致下面的缩进没有
print("hello")
2,引号
print(“hello”)#错用中文双引号
print(‘H’)#错用中文引号
3,括号
print("hello")#错用中文小括号
a = 【】#错用中文大括号
好了,今天的内容就讲完了,支持的话点个赞,我的更多文章←看看吧
拜拜,下期见~~