Python是由荷兰人吉多·范罗苏姆(Guido von Rossum)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编程语言。
Python的优点很多,简单为大家列出几点。
Python最主要的缺点是执行效率低,但是当我们更看重产品的开发效率而不是执行效率的时候,Python就是很好的选择。
目前Python在Web服务器应用开发、云基础设施开发、网络数据采集(爬虫)、数据分析、量化交易、机器学习、深度学习、自动化测试、自动化运维等领域都有用武之地。
Pycharm
是一个软件,这个软件拥有很强的的功能,例如编写代码、调试代码、操作数据库等等
我们一般把拥有很多种功能为一身的专门用来学习或者开发程序的软件,称为IDE
(集成开发环境)
其官方网站:https://www.jetbrains.com/pycharm/
想要学习Python
编程语言需要提前准备好用到的各种软件,像Pycharm
等,当然除了它之外还可能需要很多其他的软件,例如Sublime
、Python解释器
、MySQL
、Redis
、MongoDB
等等
Create New Project
,创建一个新项目Pure Python
表示创建一个纯Python程序项目, Location
表示该项目保存的路径,Interpreter
表示使用的Python解释器版本,最后点击Create
创建项目。New
,再选择Python File
HelloPython
,点击OK
,表示创建一个Python程序的文本文件,文本文件后缀名默认.py
Run
运行,表示打印一个字符串"Hello World!"
print('Hello World')
Run
从小我们知道看书时,可以做一些笔记,能够把当时的灵感想法记录下来,以便在以后再次阅读时快速想起来
同样,Python编程语言是由英文编写的,很多时候怕忘记这些代码的作用以及注意点等,也需要写一点“笔记”,此时这些帮助我们的信息就成为“注释”
通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性
单行注释
以#
开头,#
右边的所有的内容当做说明,起辅助说明作用
# 我是一个注释
print('Hello') # 我是单行注释 在代码右侧从 # 开始都不当做程序,只能当做说明
多行注释
"""
在三引号中的注释被称之为多行注释
可以写很多行的功能说明
"""
前面我们通过Pycharm
这款IDE
软件,能够编写代码还能够运行代码,感觉非常的好,用起来也很舒服简单
但有很多时候我们想快速的运行一个Python
的小段代码,此时如果还是通过Pycharm
那种创建项目–>写代码–>运行代码的方式有些繁琐
此时改怎样办呢?
答:Python的交互模式
所谓的交互模式
,说的直白点,就是通过终端你输入一点代码,Python解释器
运行一点代码的方式
步骤1:打开终端
步骤2:输入python
(注意全是小写字母),然后回车
在按照上述步骤开起来Python交互模式之后,就可以直接输入想要的代码
print('hello world')
输入完代码后,按下回车,即可看到更过语句执行的结果
hello
程序中肯定需要用到各种数据,例如我们的工资要计算个人所得税,此时就用到各种数学的公式进行计算,从而得出个税;再例如想要计算圆的面积,就需要用到圆周率π
程序中有2种"量",一种是可以变的,一种是不能变的,我们将它们成为变量、常量
那么什么是常量呢?
固定不变的量,就是常量
6699 # 6699就是一个常量
print(100) # 这个100就是常量
print(3.1415926) # 3.1415926也是一个常量
常量有什么作用?
print(100 + 200 + 300)
print(3.14*10*10) # 计算半径为10的 圆的面积
什么是变量?
一个可以变化的量,就是变量
num1 = 100 # num1就是一个变量
num2 = 87 # num2也是一个变量
pi = 3.14 # pi也是一个变量
变量的作用
一句话:可以存储数据
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?类比生活中去超市买东西,往往需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可
如果在程序中需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
在Python中,存储一个数据,需要一个叫做变量
的东西,如下示例:
num1 = 100
num2 = 200
result = num1 + num2 # 将变量num1中的值 加上 num2中的值再给result变量
程序就是用来处理数据的,而变量就是用来存储数据的
常量:就是一个值,至于这个值是整数100,还是小数3.14甚至是其它的类型都行
变量:就是一个可以存储数据的空间
在数学中我们知道有整数、小数、复数等,简言之数据是有类型之分的
同样,在Python编程语言中,数据也是有类型的
举个例子:从药店购买的眼药水与我们从商店购买的矿泉水,瓶子的大小为什么不一样大呢?
说到底不就是为了节省空间嘛,试想如果用矿泉水瓶来存储那么少的眼药水虽然是可以的,但会造成极大的浪费
因此,设计程序时要充分考虑既能存的下这个数据,而且还要尽可能小的内存空间,此时也就诞生了不同的数据类型
为了更充分的利用内存空间以及更有效率的管理内存,数据是有不同的类型的
Numbers(数字)
布尔类型
String(字符串)
List(列表)
Tuple(元组)
Ductionary(字典)
Set(集合)
怎样知道一个数据的类型呢?例如数字100
是什么类型
在python中,只要有数据,那么一定有它的数据类型,可以使用type(常量或者变量)
,来查看数据类型
print(type(100)) # 先用type检查100的类型,然后用print输出这个信息
print(type(3.14))
print(type("hello world"))
运行结果:
<class 'int'>
<class 'float'>
<class 'str'>
这说明:
100
的类型是int
即整型3.14
的类型是float
即浮点型"hello world"
的类型是str
即字符串型什么是标识符?
请看如下代码:
age = 18
在上述变量定义时,age
就是变量的名字,实际上它就是标识符,如果在程序中需要获取18
,那么就使用age
这个标识符就可以了
因此,标识符到底有什么用?估计也有了答案
答:标识符是自己定义的符号,例如变量名 、函数名、类名等,可以快速找到我们用的数据或者功能
标识符由字母
、下划线
和数字
组成,且数字不能开头
思考:下面的标识符哪些是正确的,哪些不正确,为什么?
fromNo12
from#12
my_Boolean
my-Boolean
Obj2
2ndObj
myInt
test1
Mike2jack
My_tExt
_test
test!32
haha(da)tt
int
jack_rose
jack&rose
GUI
G.U.I
Python中的标识符是区分大小写的!!!
见名知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name
, 定义学生 用 student
驼峰命名法
myName
、aDog
FirstName
、LastName
下划线命名法
用_
来连接所有的单词,比如send_msg
注意
下划线命名法
大驼峰命名法
SUM_SCORE
什么是关键字?
上面的知识我们知道了什么是标识符,标识符分为2部分
if
age
总结来说:Python一些具有特殊功能的标识符
,这就是所谓的关键字
注意:
False, None, True, and, as, assert, async, await, break, class, continue, def, del
elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal
not, or, pass, raise, return, try, while, with, yield
可以在Python交互模式
中通过以下命令进行查看关键字
>>> import keyword
>>> keyword.kwlist
关键字的学习以及使用,咱们会在后面的课程中依一一进行学习。
在Python中,如果我们需要打印出一些数据以便能够知道数据的大少,此时用print
即可,会在终端中打印出对应的数据
输出变量的值
print(变量名) # 直接将已经定义的变量名方到()中即可
age = 18
print(age)
输出常量
print(常量) # 可以直接将常量放到()中
print(100)
输出表达式的结果
print(表达式) # 直接将表达式放到()中
print(100+200+300) # 此时输出的是表达式计算的结果即600,而不是100+200+300
# 如果就是想要输出100+200+300而不是600,可以将它们用双引号包裹起来,表位字符串
print("100+200+300")
如果想要一次性输出多个数据,可以用英文逗号,
进行间隔
print(100, 200, 300) # 此时会输出 100 200 300
print("hello", 200, "abc") # 此时会输出 hello 200 abc
print(100+200+300, 500) # 此时会输出 600 500
a = 100
b = 200
c = 300
print(a, b, c) # 此时会输出100 200 300
格式化输出存在的意义是什么?
假如有以下代码:
pirnt("我今年10岁")
pirnt("我今年11岁")
pirnt("我今年12岁")
...
想一想:在输出年龄的时候,用了多次"我今年xx岁",能否简化一下程序呢???
答:字符串格式化
什么是格式化输出?
看如下代码:
age = 10
print("我今年%d岁" % age)
age += 1
print("我今年%d岁" % age)
age += 1
print("我今年%d岁" % age)
...
在程序中,看到了%
这样的操作符,这就是Python中格式化输出。
age = 18
name = "python"
email = "[email protected]"
print("我的姓名是%s, 年龄是%d, 邮箱地址是%s" % (name, age, email))
下面是完整的,它可以与%
符号使用列表:
格式符号 | 转换 |
---|---|
%c |
字符 |
%s |
字符串 |
%d |
有符号十进制整数 |
%u |
无符号十进制整数 |
%o |
八进制整数 |
%x |
十六进制整数(小写字母0x ) |
%X |
十六进制整数(大写字母0X ) |
%f |
浮点数 |
%e |
科学计数法(小写'e' ) |
%E |
科学计数法(大写“E” ) |
%g |
%f 和%e 的简写 |
%G |
%f 和%E 的简写 |
有这么多格式,用哪个好呢?
说实话,常用的也就是%d
输出整数,%f
输出浮点数,%s
输出字符串,其他的用的很少
什么是转义字符?
运行如下代码,看看结果是什么:
print("abcnABC");
print("abc\nABC");
输出结果是:
abcnABC
abc
ABC
仔细观察会发现,第2个打印中的字母n没有输出,而第1个的打印有字母n,为什么?
答:有些特殊的字母像n,如果在前面加上了一个反斜杠\
,那么此时\n
就有特殊功能了”换行“
除了\n
表示换行以外,常用的还有\t
表示一个tab键的间距。
print("abc\tABC")
输出的效果:
abc ABC
编写代码完成以下名片的显示:
==========我的名片==========
姓名: python
email: [email protected]
QQ:xxxxxxx
手机号:173xxxxxx
公司地址:湖北省长沙市xxxx
===========================
在银行ATM机器前取钱时,肯定需要输入密码,对不?那么怎样才能让程序知道咱们刚刚输入的是什么呢??
大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用一个变量来保存,最后根据这个变量保存的值进行密码校验
在Python中,获取键盘输入的数据的方法是采用 input
函数(至于什么是函数,咱们以后的章节中讲解)
使用示例如下:
password = input("请输入密码:")
print('您刚刚输入的密码是:%s' % password)
注意:
input()
的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示input()
在从键盘获取了数据以后,会存放到等号右边的变量中input()
会把用户输入的任何值都作为字符串来对待如果一个程序需要获取多个数据,例如想要获取用户名以及密码,那么此时就要用2个input
示例如下:
name = input("请输入用户名:")
password = input("请输入密码:")
print("您的用户名是:%s" % name)
print("您的密码是:%s" % password)
所谓运算符
,就是在Python编程语言中,能够实现操作的符号
,像+
能够实现加法,-
能够实现减法
Python中的运算符有很多种,我们慢慢来学习
下面以a=10 ,b=20
为例进行计算
运算符 | 描述 | 实例 |
---|---|---|
+ |
加 | 两个对象相加 a + b 输出结果 30 |
- |
减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* |
乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ |
除 | b / a 输出结果 2 |
// |
取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% |
取余 | 返回除法的余数 b % a 输出结果 0 |
** |
指数 | 2**3 为2 的3 次方, 输出结果 8 |
注意:
**
高于 *
/
%
//
高于 +
-
,为了避免歧义,建议使用 ()
来处理运算符优先级。>>> 10 + 5.5 * 2
21.0
>>> 10 + (5.5 * 2)
21.0
运算符 | 描述 | 实例 |
---|---|---|
= |
赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3 ,结果num 的值为7 |
# 单个变量赋值
>>> num = 10
>>> num
10
# 多个变量赋值
>>> num1, num2, f1, str1 = 100, 200, 3.14, "hello"
>>> num1
100
>>> num2
200
>>> f1
3.14
>>> str1
"hello"
运算符 | 描述 | 实例 |
---|---|---|
+= |
加法赋值运算符 | c += a 等效于 c = c + a |
-= |
减法赋值运算符 | c -= a 等效于 c = c - a |
*= |
乘法赋值运算符 | c *= a 等效于 c = c * a |
/= |
除法赋值运算符 | c /= a 等效于 c = c / a |
%= |
取模赋值运算符 | c %= a 等效于 c = c % a |
**= |
幂赋值运算符 | c **= a 等效于 c = c ** a |
//= |
取整除赋值运算符 | c //= a 等效于 c = c // a |