【本文的我,是一个文科财务工作者。在单位信息化全靠人做的年代,确实工作压力大也忙不过来。9102年的我,深感不学习点新知识迟早要被淘汰。所以今天开始记录自己的python小白笔记,各位见笑。】
编程基础部分笔记:《python编程快速上手-让繁琐工作自动化》,AI Sweigart,人民邮电出版社
day3 :python编程基础
CH1 python基础
1.变量名命名规则(区分大小写)
只能是1个词
只能包含字母、数字和下划线
不能以数字开头
image.png
2.常用函数
1.print()函数
print()函数将括号内的字符串显示在屏幕上。
2.input()函数
用户输入的文本。前面的代码行将这个字符串赋给变量
3.len()函数
字符串中字符的个数
4.str()、 int()和 float()函数
str()、 int()和 float()函数,向它们传入其他数据类型的值,得
到了字符串、 整型或浮点型的值。
>>> str(29)
'29'
>>> print('I am ' + str(29) + ' years old.')
I am 29 years old
请注意,如果你将一个不能求值为整数的值传递给 int(), Python 将显示出错信息。
3.操作符
image.png
4.小结
本章中介绍的不同类型的操作符(+、 -、 、 /、 //、 %和是数学操作符, +和是字符串操作符),以及 3 种数据类型(整型、 浮点型和字符串)
CH2 控制流
1.布尔值
“布尔” 数据类型只有两种值: True 和 False。布尔值 True 和 False不像字符串, 两边没有引号,它们总是以大写字母 T 或 F 开头, 后面的字母小写。
2.比较操作符
比较操作符”比较两个值,求值为一个布尔值。
image.png
请注意,整型或浮点型的值永远不会与字符串相等。
3.布尔操作符
3 个布尔操作符(and、 or 和 not) 用于比较布尔值。
image.png
image.png
image.png
4.混合布尔和比较操作符
>>> (4 < 5) and (5 < 6)
True
>>> (4 < 5) and (9 < 6)
False
>>> (1 == 2) or (2 == 2)
True
5.控制流的元素
(1)代码块
代码块有 3 条规则:
1.缩进增加时, 代码块开始。
2.代码块可以包含其他代码块。
3.缩进减少为零, 或减少为外面包围代码块的缩进, 代码块就结束了。
寻找代码块,如下所示:
if name == 'Mary':
print('Hello Mary')
if password == 'swordfish':
print('Access granted.')
else:
print('Wrong password.')
(2)控制流语句
-所有控制流语句都以冒号结尾,后面跟着一个新的代码块(子句)
-如果你运行一个有缺陷的程序, 导致陷在一个无限循环中, 那么请按 Ctrl-C。
1.if 语句
if name == 'Alice':
print('Hi, Alice.')
2.else 语句
只有 if 语句的条件为 False 时, else子句才会执行。
if name == 'Alice':
print('Hi, Alice.')
else:
print('Hello, stranger.')
3.elif 语句
elif 语句是“否则如果”,总是跟在 if 或另一条 elif 语句后面。它
提供了另一个条件,仅在前面的条件为 False 时才检查该条件。
你可以选择在最后的 elif 语句后面加上 else 语句。在这种情况下, 保证至少一个子句(且只有一个) 会执行。
if name == 'Alice':
print('Hi, Alice.')
elif age < 12:
print('You are not Alice, kiddo.')
else:
print('You are neither Alice nor a little kid.')
首先,总是只有一个 if 语句。所有需要的 elif 语句都应该跟在 if 语句之后。其次,如果希望确保至少一条子句被执行,在最后加上 else 语句。
4.while 循环语句
利用 while 语句, 可以让一个代码块一遍又一遍的执行。只要 while 语句的条件为 True, while 子句中的代码就会执行。
spam = 0
while spam < 5:
print('Hello, world.')
spam = spam + 1
5.break 语句
有一个捷径,让执行提前跳出 while 循环子句。如果执行遇到 break 语句,就会马上退出 while 循环子句。在代码中, break 语句仅包含 break 关键字。
while True:
print('Please type your name.')
name = input()
if name == 'your name':
break
print('Thank you!')
6.continue 语句
如果程序执行遇到 continue语句,就会马上跳回到循环开始处,重新对循环条件求值(这也是执行到达循环末尾时发生的事情)。
while True:
print('Who are you?')
name = input()
if name != 'Joe':
continue
print('Hello, Joe. What is the password? (It is a fish.)')
password = input()
if password == 'swordfish':
break
print('Access granted.')
如果用户输入的名字不是 Joe, continue 语句将导致程序执行跳回到循环开始处。再次对条件求值时,执行总是进入循环, 因为条件就是 True。
#实际上, 只能在 while 和for 循环内部使用 continue 和 break 语句。如果试图在别处使用这些语句, Python 将报错。
7.for 循环和 range()函数
在条件为 True 时, while 循环就会继续循环(这是它的名称的由来)。 但如果你想让一个代码块执行固定次数,该怎么办?可以通过 for 循环语句和 range()函数来实现。
在代码中, for 语句看起来像 for i in range(5):
print('My name is')
for i in range(5):
print('Jimmy Five Times (' + str(i) + ')')
#调用 range()方法,最多传入 3 个参数。第一个参数是 for 循环变量开始的值, 第二个参数是上限, 但不包含它, 也就是循环停止的数字,range()函数也可以有第三个参数。 前两个参数分别是起始值和终止值, 第三个参数是“步长”。 步长是每次迭代后循环变量增加的值。
for i in range(0, 10, 2):
print(i)
#调用 range(0, 10, 2)将从 0 数到 8,间隔为 2
6.导入模块
Python 也包括一组模块,称为“标准库”。每个模块都
是一个 Python 程序, 包含一组相关的函数, 可以嵌入你的程序之中。例如, math模块有数学运算相关的函数, random 模块有随机数相关的函数, 等等。
必须用 import 语句导入该模块。
import random
for i in range(5):
print(random.randint(1, 10))
#因为 randint()属于 random 模块, 必须在函数名称之前先加上 random., 告诉 python 在random 模块中寻找这个函数。
import 语句的另一种形式包括 from 关键字,之后是模块名称, import 关键字和一个星号, 例如 from random import *。
使用这种形式的 import 语句, 调用 random模块中的函数时不需要 random.前缀。但是, 使用完整的名称会让代码更可读, 所以最好是使用普通形式的 import 语句。
7.用 sys.exit()提前结束程序
当程序执行到指令的底部时,总是会终止。但是,通过调用 sys.exit()函数, 可以让程序终止或退出。因为这个函数在 sys 模块中,所以必须先导入 sys, 才能使用它。
import sys
while True:
print('Type exit to exit.')
response = input()
if response == 'exit':
sys.exit()
print('You typed ' + response + '.')
该程序有一个无限循环,里面没有 break 语句。结束该程序的唯一方式,就是用户输入 exit, 导致 sys.exit()被调用。如果 response 等于 exit, 程序就会中止。
8.小结
通过使用求值为 True 或 False 的表达式(也称为条件), 你可以编写程序来决定哪些代码执行, 哪些代码跳过。 可以在循环中一遍又一遍地执行代码, 只要某个条件求值为 True。 如果需要跳出循环或回到开始处, break 和 continue 语句很有用。