Python基础(一)
Python基础(一)
1、介绍
1.1、Python介绍
Python是一种面向对象的解释性计算机编程语言,由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990 年代初设计开发,第一个公开发行版在1991年。它常被称为胶水语言,能够把其他语言制作的各种模块轻松的联结在一起。
1.2、编译语言与解释语言
计算只能识别二进制,任何程序或软件,最终都要经过编译或解释转换成二进制才能被计算机识别。源代码,源代码就是由程序员使用各种编程语言编写的还未经编译或者解释的程序文本,编译或解释能把源代码翻译成等效的二进制代码,也就是CPU能够识别的机器语言。
编译和解释都是对源代码的解释处理方式,而由于他们的操作方法不同,所以会有不同的运行的效果:
- 编译是把源代码的每一条语句都编译成机器语言,并最终生成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,在运行时会有很好的性能;
- 解释是只有在执行到对应的语句时才会将源代码一行一行的解释成机器语言,给计算机来执行,所以使用解释器来执行的语言也被称为动态语言;
1.3、Python优缺点
优点
- 简单,易学
- 免费,开源
- 丰富的第三方库
- 可移植
- 面向对象
缺点
- 运行速度慢
- 代码无法加密
- 强制缩进
- GIL全局解释器锁,无法形成真正的多线程
1.4、常用领域
- web开发
- 爬虫开发
- 数据分析
- 运维开发
- 人工智能
- 机器学习
- 等…
2、第一个Python程序
2.1、安装Python
- 下载Python解释器(以win为例)
- 网址https://www.python.org
- 接下来一直下一步就行了。(Add PATH不要忘记勾选)
- 很简单,详细的可以百度,网上有很多例子。
- 验证,直接在cmd中输入python即可。
2.2、hello word
流水的编程语言,铁打的helloworld。接下来开始第一个helloworld程序。
cmd中输入python进入python交互页面输入:
print("hello word")
退出交互页面exit()或quit()
3、注释
3.1、什么是注释
注释是编写程序时,对程序内部的方法变量,函数等的一个解释或提示
3.2、注释的作用
方便理解程序的作用,提高可读性,便于交接工作,便于以后的维护。
3.3、注释方式
1. 单行注释
Python中使用#号进行单行注释,#号右边就是注释内容,python解析器遇到#号就会当做是注释,不会解析#号后面的内容。
#一个单行注释
print("hello word")
2. 多行注释
Python中使用’''或“”“进行多行注释,所包含就是注释内容。
'''
多行注释
'''
print("hello word")
3. 特殊注释
Python中有两句特殊的注释,在py文件首行#/usr/bin/python.3;#–coding=utf-8-这两句注释分别指的是指定python解析器的路径,指定编码格式,只能写在py文件最前面。
#!/usr/bin/python3
#-*-coding=utf-8-*
print("hello world")
4、变量与数据类型
4.1、变量
1. 变量是什么
变量就是存值的一个空间,存储什么就这个空间就属于什么。
类似于数学方程中的变量。在计算机中变量可以表示的类型变得不仅仅是数值,还可以是字符等类型更加的广泛。
那么变量的实质是:变量是一段有名字的连续的存储空间,我们可以定义变量来申请并命名这样的存储空间,并通过变量名来使用这段存储空间。
2. 变量定义与使用
ptyhon中定义变量不需要声明数据类型,给这个变量赋值什么数据类型,这个变量就是什么类型。
语法规则: 变量名 = 数据
# 变量定义与使用
# 定义
# 语法规则: 变量名 = 数据
a = 10
# 使用
print(a)
3. 命名规则
- 变量名只能包含字母、数字和下划线。变量名能以字母或下划线打头,但不能以数字打头。例如,可将变量命名为message_1 ,但不能将其命名为1_message 。
- 变量名不能包含空格,但能使用下划线来连接单词。例如,变量名greeting_message 可行,但变量名greeting message 会引发错误。
- 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print 。
4. 命名规范
- 见名知意,尽量使用有语义的单词命名。如使用password用作密码, username用户名。
- 小驼峰式命名法:第一个单词首字母小写其他单词首字母大写,如userName
- 大驼峰式命名法:全部单词首字母都用大写, 如UserName
- 下划线命名法:每个单词用_下划线连接,如user_name.
4.2、数据类型
1. 查看数据类型
python提供了type方法查看变量类型
a = 10
print(type(a)) #<class 'int'>
a = 'ceshi'
print(type(a)) #<class 'str'>
a = True
print(type(a)) #<class 'bool'>
2. 数据类型转换
Python 内置函数将字符串转换成想要的类型,比如:
- int(string) 将字符串转换成 int 类型;
- float(string) 将字符串转换成 float 类型;
- bool(string) 将字符串转换成 bool 类型。
修改上面的代码,将用户输入的内容转换成数字:
a = input("Enter a number: ")
b = input("Enter another number: ")
print("aType: ", type(a))
print("bType: ", type(b))
a = float(a)
b = int(b)
print("转化后 ")
print("aType: ", type(a))
print("bType: ", type(b))
result = a + b
print("resultValue: ", result)
print("resultType: ", type(result))
结果:
Enter a number: 10
Enter another number: 20
aType: <class 'str'>
bType: <class 'str'>
转化后
aType: <class 'float'>
bType: <class 'int'>
resultValue: 30.0
resultType: <class 'float'>
5、基本运算符
5.1、算数运算符
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 12.45 + 15 | 27.45 |
- | 减 | 4.56 - 0.26 | 4.3 |
* | 乘 | 5 * 3.6 | 18.0 |
/ | 除法(和数学中的规则一样) | 7 / 2 | 3.5 |
// | 整除(只保留商的整数部分) | 7 // 2 | 3 |
% | 取余,即返回除法的余数 | 7 % 2 | 1 |
** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 4 | 16 |
5.2、比较运算符
比较运算符 | 说明 |
---|---|
> | 大于,如果> 前面的值大于后面的值,则返回 True,否则返回 False。 |
< | 小于,如果< 前面的值小于后面的值,则返回 True,否则返回 False。 |
== | 等于,如果== 两边的值相等,则返回 True,否则返回 False。 |
>= | 大于等于(等价于数学中的 ≥),如果>= 前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
<= | 小于等于(等价于数学中的 ≤),如果<= 前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
!= | 不等于(等价于数学中的 ≠),如果!= 两边的值不相等,则返回 True,否则返回 False。 |
is | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 |
is not | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 |
5.3、逻辑运算符
逻辑运算符 | 含义 | 语法基本格式 | 说明 |
---|---|---|---|
and | 逻辑与运算,等价于数学中的“且” | a and b | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 |
or | 逻辑或运算,等价于数学中的“或” | a or b | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
not | 逻辑非运算,等价于数学中的“非” | not a | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
# 逻辑运算符
a, b, c, d = 10, 15, 20, 25
print((a>b and c<d)) #False
print((a>b or c<d)) #True
print((a<b and c<d)) #True
print((a<b or c<d)) #True
print(a==b) #False
print(not a==b) #True
优先级:
not>and>or
5.4、赋值运算符
运算符 | 说 明 | 用法举例 | 等价形式 |
---|---|---|---|
= | 最基本的赋值运算 | x = y | x = y |
+= | 加赋值 | x += y | x = x + y |
-= | 减赋值 | x -= y | x = x - y |
*= | 乘赋值 | x *= y | x = x * y |
/= | 除赋值 | x /= y | x = x / y |
%= | 取余数赋值 | x %= y | x = x % y |
**= | 幂赋值 | x **= y | x = x ** y |
//= | 取整数赋值 | x //= y | x = x // y |
&= | 按位与赋值 | x &= y | x = x & y |
|= | 按位或赋值 | x |= y | x = x | y |
^= | 按位异或赋值 | x ^= y | x = x ^ y |
<<= | 左移赋值 | x <<= y | x = x << y,这里的 y 指的是左移的位数 |
>>= | 右移赋值 | x >>= y | x = x >> y,这里的 y 指的是右移的位数 |
6、输入输出
6.1、输出
1. 直接输出
直接打印字符串print(‘Hello World!’)
2. 输出变量
打印变量的内容print(name)
3. 格式化
python中可以简单的格式化一些字符串,使用%做占位符,%后跟数据类型,结尾按顺序跟变量名
# 输入与输出
# 输出 % 占位符
name = '测试字符'
clssstr = 'class'
# %s 字符串 %d 数值型
print('输出的:%s 语句:%s' % (name, clssstr))
常见的格式化符号
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
format
与占位符方式相似
# 输入与输出
# 输出 % 占位符
name = '测试字符'
clssstr = 'class'
# %s 字符串 %d 数值型
# print('输出的:%s 语句:%s' % (name, clssstr))
print('输出的:{} 语句:{}'.format(name,clssstr))
4. 分割
使用 print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量,可以改变默认的分隔符,可通过 sep 参数进行设置。例如输出语句:
#同时输出多个变量和字符串,指定分隔符
print("读者名:" ,name,"年龄:",age,sep='|')
#读者名:|Charlie|年龄:|8
6.2、输入
input() 是 Python 的内置函数,用于从控制台读取用户输入的内容。input() 函数都是以字符串的形式来处理用户输入的内容。需要其他类型数据需要进行相应的转换。
1.input
input() 函数的用法为:
# 语法: 变量名 = input("输入提示")
str = input(tipmsg)
2. input转换类型
a = input("Enter a number: ")
b = input("Enter another number: ")
a = float(a)
b = int(b)
####效果一致
a = float(input("Enter a number: "))
b = int(input("Enter another number: "))
7、小结
- Python注释
- 单行注择#和多行注择“"
- 数据类型和命名
- 数值、布尔值、宇符串,字典、元组、列表
- type()方法可以查数据类型
- 基本操作符
- 算数运算符+、- 、*、/、%,//
- 比较运算符==、!=、=、<、>、<=
- 逻辑运算符and、or、not
- 赋值运算符=、+=、-=、=、/=、=、
- 格式化输出和输入
- 输入input
- 输出print