“人生苦短,我用Python”。Python编程语言是最容易学习、并且功能强大的语言。只需会微信聊天、懂一点英文单词即可学会Python编程语言。但是很多人声称自己精通Python,然后自己却写不出Pythonic的代码,对很多常用的包不是很了解。万丈高楼平地起,咱们先从Python中最最基础的开始。
01 Python的优点
- Python是一种类似人类讲话的语言
- 极其简单易学的语言
- 也是开源的语言之一
- 可移植性良好,在各大平台都可以运行,比如Windows、Mac、Linux上都可运行
- 丰富的第三方库:只有你想不到,没有Python做不到
- 解释性语言:可以直接从源代码运行。
- 既支持面向对象编程,又支持面向过程编程。
- 可扩展性好,部分程序可以使用其他语言编程,比如C/C++
02 Python开发环境
目前,主流的Python开发环境有三个(开发环境也被称为IDE, Integrated Development Environment),分别是PyCharm、Anaconda 和Jupyter Notebook,我们称之为Python三剑客。为了说明它们的主要区别,笔者引用Python实战圈圈友劳元辉的一段话:“我三剑客在手,感觉可以屠进天下报表和模型。Anaconda,最主要是整体开发环境和第三方库的安装方便;Pycharm,最主要执行整个报表脚本和各种数据源的获取还有定时脚本执行;Jupyter notebook,最主要是模型训练,每步即时执行,可以可视化看到结果。”。这段话精确总结了三者的区别。
常量,顾名思义就是值不能被改变的量,比如5、10等数字或者一个字符串的文本。它字面的意思就是本身的含义,不需要多的解释。
与常量相对应的就是变量,顾名思义就是值一直在改变的量。因为值在改变,我们需要给它取一个名字,也就是标识符。Python编程中,我们叫标识符为变量名,并且使用等号(=)把变量名和值关联起来,
定义变量,并使用print函数打印出来
# my_name是变量名,刘德华为值。
# 变量名不变,值可以变,比如换成周杰伦
my_name = "刘德华"
print(my_name)
my_name = "周杰伦"
print(my_name)
------------------------------
结果为:
刘德华
周杰伦
04 整数
整数也就是int类型,在Python中,可以直接对整数进行算数运算
# 加法
add = 3 + 4
# Python中,format方法是格式化输出,也就是在{}的地方替换为变量的值。后面项目实战中经常用到
print('3+4的值是{}'.format(add))
运行结果为:
3+4的值是 7
05 浮点数
带小数点的数字都是浮点数,也可以进行类型整数的运算,比如加减乘除等。
# 加法
add = 0.2 + 0.1
#Python中,format方法是格式化输出,也就是在{}的地方替换为变量的值。后面项目实战中经常用到
print('0.2+0.1的值是{}'.format(add))
0.2+0.1的值是 0.30000000000000004
06 字符串
字符串就是一系列字符。在Python中,单引号、双引号或者三引号里面的内容就是字符串。如何字符串中包括单引号或者双引号,python使用反斜线()对字符串中的字符进行转义。
# 单引号里面的文本就是字符串
‘I am a boy’
# 双引号其实和单引号一样,一般推荐使用单引号
"人生苦短,我用Python"
# 三引号表示的字符串,一般表示很长的文字,只要引号没有结束就可以一直写。
# 一般用来写文本注释
'''
人生苦短,我用Python
'''
07 布尔类型
Python支持布尔类型的数据,布尔类型只有True和False两种值。
布尔类型有以下几种运算:
True and True # ==> True
True or True # ==> True
not True #==> False
接下来请你编写代码定义两个布尔类型的变量a,b,给a和b分别赋值为True和False 。
# 定义 a、b 变量,为 a 赋值为 False 为 b 赋值为 True
a=False
b=True
print(a)
print(b)
08 列表
列表是由一系列按特定顺序排列的元素组成。也就是列表是有序集合。在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。可以给列表起一个名字,并且使用(=)把列表名字和列表关联起来,这就叫做列表赋值。
# 定义一个列表
# Python列表
names_python_pc = ['毛豆','刘德华','张学友','美女']
print(f'Python列表有:{names_python_pc}')
Python列表有: ['毛豆','刘德华','张学友','美女']
09 元组
字典是另外一个可变的数据结构,且可存储任意类型对象,比如字符串、数字、列表等。字典是由关键字和值两部分组成,也就是 key 和 value,中间用冒号分隔。这种结构类似于新华字典,字典中每一个字都有一个对应的解释。
tup1 = 1,2,3
print(tup1)
结果为:
(1, 2, 3)
10 字典
字典是另外一个可变的数据结构,且可存储任意类型对象,比如字符串、数字、列表等。字典是由关键字和值两部分组成,也就是 key 和 value,中间用冒号分隔。这种结构类似于新华字典,字典中每一个字都有一个对应的解释。
#构建一个字典,记录家庭成员的收入
name_dictionary = {'老爸':300,'老婆':1000,'老妈':800,'自己':600,'孩子':200}
print(name_dictionary)
结果为:
{'老爸':300,'老婆':1000,'老妈':800,'自己':600,'孩子':200}
11 注释
在Python中,单行注释用井号(#)标识,也就是#后面的内容;多行注释用一对三引号(''' ''' )或者一对三个双引号("""""")表示。单行注释一般用在某一行的解说说明,而多行注释一般用在整个文本或者某一个代码区域的解释说明,其中三个双引号表示整个文档的说明。对于这些注释,Python解释器不会执行具体的内容。如下面例子中,Python解释器会忽略注释,只是输出Hello World。
print('Hello World')
"""print('结束')"""
12 数据
数据简单说就是在电脑中的任何东西,比如听的音乐、看的电影、读的文章等等。Python编程就是要处理这些数据,利用自己的语法规则对其加工处理,然后呈现出你想要的结果数据
13 缩进
在Python语言中,Python根据缩进来判断代码行与前一行的关系。如果代码的缩进相同,Python认为它们为一个语句块;否则就是两个语句块。一般使用tab按键缩进代码,有的IDE自动缩进代码,比如Pycharm.
this is one block
this is a new line in the one block
this issecond block
this isa new line in the second block
xxxxxx
this is the three block
this is a new line in the three block
14 关键字
在Python中,有一些字符串具有某些特定功能,如 import 、 class 等。我们在选择变量名时,应注意避开这些保留字符。
15 运算符
运算符的作用是根据已有的变量生成新的变量,主要有以下几种:
- 算术运算符:+,-,*,/,%,即加、减、乘、除、取余
- 比较运算符:==,!=,>,<,>=,<=,即等于、不等于、大于、小于、大于等于、小于等于
- 赋值运算符:=,+=,-=,*=,/=,%=,即赋值、加赋值、减赋值、乘赋值、除赋值、取余赋值
- 逻辑运算符:and,or,not,即与、或、非
例题:
编写交互式的人民币与越南盾的兑换程序(汇率为:3347.84)。
样例1
输入:5342
输出:你能兑换: 1788 万盾 4161 盾
样例2
输入:1000
输出:你能兑换: 334 万盾 7840 盾
a=int(input())
b=3347.84
print("你能兑换:",int(a*b//10000),"万盾",int(a*b%10000),"盾")
16 条件
分支结构又称为选择结构,意思是程序代码根据判断条件,选择执行特定的代码。如果条件为真,程序执行一部分代码;否则执行另一部分代码。也可以理解为判断条件把程序分为两部分,根据条件结果只能执行其中一部分。比如高考为条件,考上了就去上大学;否则不去上大学,去做其他的,条条大道通罗马,只要努力都可以成功。
在 Python 使用 语句的方式如下:if
if(条件):
<条件为真执行的语句>
例如:
score = 100
if score == 100 :
print("奖励价值19999元的口头表扬一次")
运行结果:
奖励价值19999元的口头表扬一次
计算考试的分数等级,在60分以下,输出不及格60-80分输出良,80分输出优秀。如果有这样的场景我们可以使用elif再进行一次判断。
score = int(input())
if score < 60 :
print("不及格")
elif 60 <= score < 80 :
print("良")
elif 80 <= score <= 100 :
print("优秀")
17 循环
不断的重复为循环。循环结构是在一定条件下反复执行某部分代码的操作,是Python程序数据中使用率最高的一个结构。在Python语言中,常见的循环结构有for循环和while循环。
18 for 循环
for 循环的循环次数一般是事先预知的,将一个标志变量从某个起始值迭代到某个终止值后即结束。
# x从0开始,一直到 10 结束
for x in range(0,11):
print(x)
请使用 for 循环打印一个 的直角三角形,输出效果如下(与之间使用一个空格隔开):
1.*
2.*
3.***
for i in range(4):
for j in range(i):
print('*',end=" ")
print("")
19 循环控制
循环控制主要包括三种:pass 、 continue 、 break 。
pass 表示什么也不做,只是占一行代码的位置;continue 表示立即退出本轮循环,继续执行后续轮循环;break 表示立即推出循环,后续循环也不再执行。
先来看一段代码:
i = 1
while i <= 10:
print(i)
i = i + 1
if i == 5:
break
运行结果:1
2
3
4
按道理来说,这段代码应该输出 的所有数字,但是现在只输出了 ,这是因为 语句提前结束了这个循环。1 - 10
1 - 4
break
break
翻译过来是“打断”的意思,放在 Python 程序中的作用就是:结束整个循环过程。
如果有嵌套循环 会对多个循环语句有什么影响呢?break
编写代码来试试:
for i in range(0,3):
for j in range(0,3):
if j == 2:
break
print("i =",i,"j =",j)
结果:
i = 0 j = 0
i = 0 j = 1
i = 1 j = 0
i = 1 j = 1
i = 2 j = 0
i = 2 j = 1
可以发现 的值有 0、1 和 2 ,而 的值只有 0,1。由此我们可以判断当有嵌套循环的时候, 只能跳出当前循环语句。
修改程序执行结果
接下来,请你编写代码使下列程序输出的结果如下:
5
4
3
2
1
i = 5
while i >= -10:
print(i)
i = i - 1
if i<1 :
break
例题
假设一年的定期存款利率为 ,计算一下元的定期存款需要多少年能连本带息的翻番:4 %
1000
rmb = 1000 #本金
rate = 0.04 # 利率
years = 0 # 年数
while True:
if rmb > 2000:
break
rmb = rmb + (rmb*rate)
years += 1
print("在",years,"年后能连本带息的翻番")
今天就先写这么多吧。剩下的明天再更新