简单补充(大量注释 Ctrl+/,python中负数取余得到的是正数)
1,格式化字符串
如果输出a=10
这个语法叫做“格式化字符串”
f-string 此处的f表示“format”是格式的意思,此时就可以使用{}的语法,往字符串里输入变量或者表达式。
2,通过控制台来输入数据:
input执行的时候会等待用户收入,相当于Java的Scanner,C语言中的scanf。
input返回的值是字符串类型。
如果只是单纯的拿到用户的输入,然后打印,此时就按照str打印即可。
如果需要根据用户输入的内容进行算数计算,此时就需要先把读到的str转化为int,使用int()进行转换。整数转为字符串则相反。
运算符的分类
算数运算符:+,-,*,/,**,//{先算乘方,然后是乘除,最后是加减。如果运算过程中想修改默认的运算顺序,就需要加上()。}(//为地板除法向下取整,如果负数的化,则与整数相反)
1,除法的第一个问题:整数0不能做除数,且在Python中0.0也不能做除数,有些编程语言中认为整数0会抛出异常,浮点数0会得到无穷大,而Python则会认为除0异常。
2,截断问题:在Python中整数/整数,如果除不尽得到的就是小数,不会出现截断的情况。
关系运算符:“<,<=,>,>=,==,!=”
1,关系运算符对应的表达式,值是布尔类型,符合要求则为真,不符合要求则为假。
2,关系运算符在比较顺序的时候,先看首字母在字母表上的顺序,谁小谁就排在前面。
如果首字母相同,依次比较第二个字母,第三个字母。。。(字符串在词典上越靠前,就越小,越靠后,就越大,针对中文字符串比较,是没有意义的,至少按照默认的字典来说,是没意义的,中文比较的本质就是多个字节构成的一个比较大的数字来进行比较的)
3,针对浮点数来说,使用==比较相等,存在一定的风险。因为浮点型在内存中的储存和表示,是可能存在误差的,这样的误差在进行算数运算的时候就可能被放大,从而导致==的判定出现误判。
以上是正确的比较浮点数的方式。python中支持连续小于的写法。
逻辑运算符:
and 并且 两侧操作数均为True,表达式的值为True,否则为False(一假则假)(a<b<c=a<b and b<c)
or 或者 两侧操作数均为False,表达式的值为False,否则为True(一真则真)
not 逻辑取反 只有一个操作数,操作数为true,则返回False,为False则返回true
逻辑运算符中的重要细节:短路求值。
对于and来说,如果左侧表达式为False,那么整体的值一定是False,右侧表达式不必求值。
对于or来说,如果左侧表达式为True,那么整体的值一定是True,右侧表达式不必求值。
以下是这三种运算符的写法
赋值运算符
=表示赋值,意思就是把右侧的值填充到左侧的空间(变量)中
a=b=20,这是链式赋值。
a,b=10,20,把10赋给了a,把20赋给了20。这是多元赋值。a,b=b,a,可以直接进行交换
复合赋值运算符:-=,+=,**=,%=,//=
a=a+1 === a+=1
python中不支持++--这种操作的
++a之所以不报错,是Python解释器把+但=当成了正号。
--a也是不会报错,把-当成了负号,负负的正,最终的值仍然不变。但后置++--都是语法上报错的。
python中比较细的知识:
1,python中的字符串之间可以相加。
python中的整数可以和浮点数相加。
python中的整数可以和布尔值相加。
(如果把布尔类型的值和整数进行算数运算,此时就会把True当做1,把fasle当做0)
但是这样的操作是没有意义的。
2,python中只有字符串类型,没有字符类型。
python中只有float,int,int表示的范围没有上限。
3,在python中,一个语句写完之后,可以加上分号,也可以不加,通常情况下是不加的,如果加了也不算错。但如果把多个语句写到同一行,这个时候语句之间,务必要加上分号的。
条件语句
(1) if
if expression:
do _something1
do_something2
(2) if - else
if expression:
do _something1
else:
do_something2
如果 expression为true,则执行do _something1
否则执行do_something2
(3) if -elif-else
if expression:
do _something1
elif expression:
do_something2
else:
do_something3
如果1为true,则执行1,如果2为true,则执行2.如果1,2都为false,则执行false。
1,注意事项:python中if后面的表达式,没有()使用作为结尾。
2,if/else 命中条件后要执行“语句块”,使用缩进(通常是4个字符或者一个tap)
3,对于多条件分支,不是else if,而是elif合体了。
缩进
python中缩进是非常重要的,缩进表示代码块,if,else,elif,while,for......都是需要使用缩进来表示的
缩进也可以嵌套,以下是缩进的嵌套使用
下面我用python写一下求闰年的代码:
这是第一种方法,简单易懂:
a=int(input("请输入一个年份"))
if a%100==0:
if a%400==0:
print("您输出的是闰年")
else :
print("您输出的是平年")
else :
if a%4==0:
print("您输出的是闰年")
else:
print("您输出的是平年")
这是第二种方法,更简洁
a=int(input("请输入一个年份"))
if (a%100!=0 and a%4==0) or a%400==0:
print("您输出的是闰年")
else:
print("您输出的是平年")
空语句:
pass 可以占一个位置
如果下方不写则报错,则我们只需要打出pass,则就可以占用一个位置。
很多地方都是如此,虽然我们什么也不用做,但是也要写一个pass空语句来占位。