-
二进制数只使用数字0、1表示,在Python中,二进制整数使用前缀
0b表示,比如:0b0110,0b1100。十六进制数除了0~9十个数字以外,还使用a、b、c、d、e、f,在Python中,十六进制使用前缀
0x,比如:0x12ef,0xde2431af。浮点数可以用数学写法,如
1.23,3.14,-9.01。但是对于很大或很小的浮点数,就必须用科学计数法表示,在Python中,把10用e替代,比如:1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,同学可以自行举出更多的例子。在Python中,可以直接用True、False表示布尔值(请注意大小写,不需要使用字符串符号括起来),也可以通过布尔运算计算出来。
布尔值可以用
and、or和not运算(注意and,or,not都是Python语言本身的关键字)。and运算是与运算,只有所有都为 True,and运算结果才是 True。or运算是或运算,只要其中有一个为 True,or 运算结果就是 True。not运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True
查看全部 -
正如我们看到的,list可以放入数字、字符串等数据类型,list不对放入其中的类型进行判断,也就是说,list可以同时放入任意类型的数据,这是Python这门语言决定的,因为Python是动态语言。
L = ['Alice', 66, 'Bob', True, 'False', 100]
查看全部 -
如果要表示多行字符串,可以用
'''...'''表示:'''Line 1 Line 2 Line 3'''
查看全部 -
Python之for循环
for循环在Python语言的流程控制中是非常重要的,在编程中有很多场景需要使用到for循环。举个例子,当我们需要把字符串中的每一个字符打印出来的时候,我们怎么实现呢?
我们当然可以使用之前学习的指定位置的方式让每个字符打印出来。s = 'ABCD' print(s[0]) print(s[1]) print(s[2]) print(s[3])
但是,这是字符串s比较短的情况下可以实现的,当s拥有成千上万个字符的时候,难道我们要为此书写上万行代码吗?这个时候for循环就可以派上用场了。
s = 'ABCD' for ch in s: print(ch) # 注意缩进
在上述代码中,
ch是在for循环中定义的,意思是把字符串s中的每一个元素依次赋值给ch,然后再把ch打印出来,直到打印出字符串s的最后一个字符为止。任务
班里考试后,老师要统计几位同学的平均成绩,已知5位同学的成绩用list表示如下:
L = [75, 92, 59, 68, 99]
请利用for循环计算出平均成绩。利用一个sum变量累加就可以计算出总成绩。
L = [75, 92, 59, 68, 99] sum = 0.0 for x in L: sum = sum + x print(sum / 5)
查看全部 -
Python之if-elif-else语句
在100分的考试当中,分数达到或超过90分是顶尖的,达到或超过80分是优秀的,如果想对达到或者超过60分的学生进行不同的分类,使用if-else进行判断,代码如下
score = 59 if score < 60: print('抱歉,考试不及格') else: if score >= 90: print('恭喜你,拿到卓越的成绩') else: if score >= 80: print('恭喜你,拿到优秀的成绩') else: print('恭喜你,考试及格')在这个程序里,我们做了多次分类,第一次,我们把低于60分和大于等于60分的分开,第二次,我们把大于等于90分和小于90分的分开,第三次,我们把大于等于80分和小于80分的分开。
这样写,我们得到一个两层嵌套的if-else语句,这样的实现可以满足我们的要求,但是如果继续增加条件,比如继续判断高于70分和低于70分的话,那么这个代码将会缩进越来越多,代码逻辑看起来也不够清晰。
我们可以使用if-elif-else语句来简化以上的逻辑。其中elif就是else if的意思。score = 59 if score < 60: print('抱歉,考试不及格') elif score >= 90: print('恭喜你,拿到卓越的成绩') elif score >= 80: print('恭喜你,拿到优秀的成绩') else: print('恭喜你,考试及格')这样,我们就可以写出代码结构非常清晰的一系列条件判断了。
特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。
请思考以下代码将会输出什么?为什么不输出恭喜你,拿到卓越的成绩。(只有在不符合第一个条件的情况下,才会进入下一个条件的判断)score = 95 if score < 60: print('抱歉,考试不及格') elif score >= 80: print('恭喜你,拿到优秀的成绩') elif score >= 90: print('恭喜你,拿到卓越的成绩') else: print('恭喜你,考试及格')查看全部 -
Python之if-else语句
使用if判断,可以在当if条件为True时,执行if的子逻辑分支,但有时候,也想在if条件不为True时,执行别的子逻辑分支。
比如:在上一节课的例子中,我希望当分数小于60分时输出,抱歉,考试不及格,否则,输出恭喜你,考试及格,这个时候可以使用if-else语句。score = 59 if score < 60: print('抱歉,考试不及格') else: print('恭喜你,考试及格')这个时候,程序就会根据score的值,走不同的子逻辑分支,同学可以改变score的值试一试。
在这里,同样需要注意两个地方,第一个是冒号:,在else中,同样需要冒号;其次是缩进,在else的子逻辑分支,同样需要缩进。查看全部 -
zhuyi o o o查看全部 -
Python之if语句
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断,通过条件判断,选择做什么样的逻辑(当然,逻辑是需要我们提前写好的),我们称之为条件分支判断。
举个例子,在100分试卷的考试中,小于60分我们认为是不及格的,因此,我们可以使用程序自动判断考试是否及格。score = 59 if score < 60: print('抱歉,考试不及格') # ==> 抱歉,考试不及格这里,因为
score = 59 < 60,所以if的判断是True,因此就会执行print('抱歉,考试不及格')。
这里有几个需要注意的地方:可以看到
print('抱歉,考试不及格')这行代码明显比上一行代码缩进了,这是因为这行代码是if判断的一个子分支,因此需要缩进,在Python规范中,一般使用4个空格作为缩进在if语句的最后,有一个冒号
:,这是条件分支判断的格式,在最后加入冒号:,表示接下来是分支代码块
查看全部 -
Python之if语句
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断,通过条件判断,选择做什么样的逻辑(当然,逻辑是需要我们提前写好的),我们称之为条件分支判断。
举个例子,在100分试卷的考试中,小于60分我们认为是不及格的,因此,我们可以使用程序自动判断考试是否及格。score = 59 if score < 60: print('抱歉,考试不及格') # ==> 抱歉,考试不及格这里,因为
score = 59 < 60,所以if的判断是True,因此就会执行print('抱歉,考试不及格')。
这里有几个需要注意的地方:可以看到
print('抱歉,考试不及格')这行代码明显比上一行代码缩进了,这是因为这行代码是if判断的一个子分支,因此需要缩进,在Python规范中,一般使用4个空格作为缩进在if语句的最后,有一个冒号
:,这是条件分支判断的格式,在最后加入冒号:,表示接下来是分支代码块
查看全部 -
L.pop() to delete string from lise
查看全部 -
L.sort() can also sort strings
查看全部 -
L.sort() to sort data in L
L.reverse() for reversing data
查看全部 -
Python的字符串切片
字符串由一个个字符组成,每一个字符都有一个唯一的位置。比如字符串
'ABC',第一个字符是A,第二个字符是B,第三个字符是C。
因此我们可以使用位置的方式取出字符串中特定位置的字符,按照位置取字符串的方式使用中括号[]访问,这个时候可以把字符串看作是一个列表(一种新的数据类型,在后面会继续学习),不过需要注意的是,在程序的世界中,计数是从0开始的,使用0来表示第一个。s = 'ABC' a = s[0] # 第一个 b = s[1] # 第二个 c = s[2] # 第三个 print(a) # ==> A print(b) # ==> B print(c) # ==> C
有时候,我们会想获取字符串的一部分(子串),这个时候我们采取切片的方式获取,切片需要在中括号
[]中填入两个数字,中间用冒号分开,表示子串的开始位置和结束位置,并且这是半闭半开区间,不包括最后的位置。ab = s[0:2] # 取字符串s中的第一个字符到第三个字符,不包括第三个字符 print(ab) # ==> AB
我们定义一个更长的字符串,了解切片更多的细节。
s = 'ABCDEFGHIJK' abcd = s[0:4] # 取字符串s中的第一个字符到第五个字符,不包括第五个字符 print(abcd) # ==> ABCD cdef = s[2:6] # 取字符串s中的第三个字符到第七个字符,不包括第七个字符 print(cdef) # ==> CDEF
查看全部 -
Python的字符串format
字符串是Python程序重要的数据类型,有时候通过字符串输出的内容不是固定的,这个时候需要使用format来处理字符串,输出不固定的内容。
字符串format由两个部分组成,字符串模板和模板数据内容组成,通过大括号
{},就可以把模板数据内容嵌到字符串模板对应的位置。# 字符串模板 template = 'Hello {}' # 模板数据内容 world = 'World' result = template.format(world) print(result) # ==> Hello World如果模板中
{}比较多,则容易错乱,那么在format的时候也可以指定模板数据内容的顺序# 指定顺序 template = 'Hello {0}, Hello {1}, Hello {2}, Hello {3}.' result = template.format('World', 'China', 'Beijing', 'imooc') print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc. # 调整顺序 template = 'Hello {3}, Hello {2}, Hello {1}, Hello {0}.' result = template.format('World', 'China', 'Beijing', 'imooc') print(result) # ==> Hello imooc, Hello Beijing, Hello China, Hello World.除了使用顺序,还可以指定对应的名字,使得在format过程更加清晰。
# 指定{}的名字w,c,b,i template = 'Hello {w}, Hello {c}, Hello {b}, Hello {i}.' world = 'World' china = 'China' beijing = 'Beijing' imooc = 'imooc' # 指定名字对应的模板数据内容 result = template.format(w = world, c = china, b = beijing, i = imooc) print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc.查看全部 -
注意,
append()方法总是将元素添加到list的尾部。查看全部
举报