认识Python
文章目录
1、Python是什么
Python 语言是一种被广泛使用的高级通用面向对象的脚本编程语言。
2、Python的优势
- 面向对象
面向对象编程语言:思想为万物皆对象,是把现实世界的事物抽象成“对象”,先进行需求分析,写好对象再调用即是“自下而上”的设计语言,先设计组件,再完成拼装。
- 可移植性(跨平台开发编程)
python可在不同操作系统和硬件平台上运行的能力。(linux , windows , windows ce , macOS , Google基于linux开发的android平台 ,iOS(利用Pyto或Pythonista工具运行python))
-
丰富的库
python具有标准库,支持第三方库(社区成员开发用于扩展python功能)的引用。列出当前Python会话中已经加载的所有模块。包含标准库和命令之前使用import导入的库。
import sys
dir(sys.modules)
结果显示:
- 支持中文,使用开源,语法简洁。
#3、Python语法
(一)、程序的格式框架
1、缩进
利用缩进(一般为tab键或四个空格)来表示Python代码间的包含和层次关系,一般用于表示分支,循环,函数,类中。
if、while**、for**、def**、class 等关键字语句后要用 :
结尾如下图所示。
a=0
while a<=5:
print("顾安在学习Python")
a+=2
2、注释
#:单行注释,在语句开始前。
三个单引号 或者三个双引号为多行注释(文档注释):
'''
这是多行注释,三个单引号
'''
"""
这是多行注释,三个单引号
"""
3、续行符
续行符由反斜杠 \
符号表达,在代码过长时,代码进行多行时,排版增加可读性时使用。
(二)、基本语句
1、基本输入输出
基本输入函数:input(),eval()
input()
'''
input的使用语法: <变量>=input("提示信息")
'''
name=input("你的博客名是")
结果如下图所示:输入博客名后enter键结束程序。
eval()
eval 函数会默认添加引号包裹住括号内的字符串,执行时会去掉引号,并按照python代码格式执行括号内去掉引号的字符串。(通常和input使用)
'''
eval的使用语法
<变量>=eval(字符串)
'''
user_input = input("请输入一个算术表达式:")
result = eval(user_input)
print("结果是:", result)
结果如下图所示:
基本输出函数:print()
a="美女"
c="爱"
b="学习"
# 输出多个变量时用逗号分隔
print(a,c,b)
#混合输出字符串和变量
print("顾安是{}并且她{}{}".format(a,c,b))
#print默认执行后换行,不行换行或想添加内容可使用end参数
print("你猜它换不换行",end=" 不换行")
print("hu~")
结果如下图所示:
2、分支语句
根据判断条件选择执行路径,分为单分支,二分支,多分支。
单分支
'''
使用方式:
if <条件>:
<语句块>
'''
number=6
if number>=1:
print("数字不是负数")
结果展示:数字是正数
二分支
'''
使用方式:
if <条件>:
<语句块 1>
else:
<语句块 2>
'''
number=-1
if number>=1:
print("数字是正数")
else:
print("数字不是正数")
结果展示:数字不是正数
多分支
'''
使用方式:
if <条件 1>:
<代码块 1>
elif <条件 2>:
<代码块 2>
elif <条件 3>:
<代码块 3>
... ...
else:
<代码块 n>
'''
a=eval(input("输入一个1-4的数"))
if a==1:
print("您输入的数字是1")
elif a==2:
print("您输入的数字是2")
elif a ==3:
print("您输入的数字是3")
elif a == 4:
print("您输入的数字是4")
3、循环语句
根据判断条件确定程序是否再执行。包括:条件循环和遍历循环。
条件循环
'''
使用方式:
while (<条件>):
<语句块 1>
<语句块 2>
'''
a=0
while a<5:
print("我将会打印5次")
print(a)
a=a+1
遍历循环语句
从遍历结构中逐一提取元素,放在循环变量中,对于每个提取的元素执行一次语句块。
'''
使用方式:
for <循环变量> in <遍历结构>:
<语句块>
'''
ls=[10,1000]
for a in range(1,10):
print(a)
print("---------")
for a in ls:
print(a)
(三)基本语法元素
1:引用
import 方式和rom方式
使用方法: import <库名>
from <库名> import <函数名>
给功能库起别名: import<功能库名> as 别名
采用 import 和 from **两种命名方式的区别在于:**from函数不能给函数库起别名,可能会导致导入的库和用户自定义的库冲突,从而覆盖用户自定义的库。
2:命名规则
用于给变量、常数、函数、语句块等命名,称标识符。标识符是由一串字符串组成,这个字符串可以是任意字母、数字、下划线或汉字,但不能以数字开头。
标识符也不能与关键字(保留字)同名
保留字:
4、Python基本数据类型
Python是动态类型和强类型的混合体。变量在声明时不需要指定类型,变量的类型在运行时根据赋给变量的值自动确定的(动态类型)。Python的类型系统提供了严格规则和行为,比如Python变量被赋予一个类型后不可被改变。
数字类型
(一)数字类型
表示数字或数值的数据类型。Python提供3种数据类型:整数、浮点数、复数。
整数类型
Python支持任意大的数字,只受限于计算机内存大小,数值范围理论上取值范围为[-∞,+∞]。
整数的表示:
十进制,二进制(0b或0B),八进制(0o或0O),十六进制(0x或0X)。
1、整数不同进制之间的转换
bin(x) #将 x 转换为二进制整数
oct(x) #将 x 转换为八进制整数
int(x) #将 x 转换为十进制整数
hex(x) #将 x 转换为十六进制整数
2、不同数据类型之间的转换
type(x) #对 x 变量进行类型判断,适用于任何数据类型。
int(x) #将 x 转换为整数类型
float(x) #将 x 转换为浮点数类型
str(x) #将 x 转换为字符串类型
(二)浮点数类型
表示带有小数的数字,小数部分可为0。表示方法:一般表示法,科学计数法。
1、整数的运算精度比浮点数高。
整数通常用二进制补码形式存储,在范围内运算运算结果是无损的(范围指:32为系统范围为-231到231-1)。
浮点数是IEEE 754标准的二进制近似表示。由于浮点数需要用有限的位数来近似表示无限的实数集,因此它们在表示某些数值时可能会有精度损失。
2、存在不确定尾数问题
受限于计算机表示浮点数使用的存储宽度,计算的二进制数并不是 0.1 和 0.2 而是计算机内
部最接近 0.1 和 0.2 的二进制数。求得的数反映到十进制表示上,就会产生一个不确定尾数,至
于尾数是多少,计算机内部会根据二进制运算确定产生。
使用round()函数解决尾数不确定的问题。
(三)复数类型
复数有一个基本单位元素 j,被定义为 j = −1。含有虚数单位 j的数被称为复数。
Python 中,复数被看为二元有序实数对(a,b),表示 a+bj,虚部通过 j 或J 表示。例如:3+4j,-2+5.6j … (复数的虚部 b 为 1,那么 1 也是不能省略的,即 1j 表示虚部。)
复数类型中实部和虚部都是浮点类型,对于复数 z,可以用 z.real 和 z.imag 分别获得实数部分和虚数部分
如下图所示:
(四)数字类型的运算
1、数值运算操作符
基本规则: 整数和浮点数混合运算,输出结果浮点数;
整数或浮点数与复数运算,输出结果是复数
2、数值运算符
3、其他操作符
bool()函数可用来回显操作符的结果
逻辑运算符:
比较操作符:
位操作符:
字符串类型
文本信息在程序中使用字符串类型表示,使用单引号或者双引号表示。(不可变的有序序列)
(一)判断是否为字符串及编解码
1:判断一个变量是否为字符串,可以使用内置函数 **type()**或 isinstance()
type(字符串)——>返回类型
isinstance(字符串,类型)——>返回“True”或者“False”
2:Python 除了支持 Unicode 编码的字符串类型(str)还支持字节串类型(bytes)。字符串类型可以通过 encode()方法使之编码成为字节串类型,而字节串类型则可以通过decode()方法使之解码成为字符串类型(默认采用UTF-8)
(二)转义字符
为避免对字符串中的转义字符进行转义,可以在字符串前面加上字母 r 或 R 表示原始字符串。
print(r"\n")
(三)字符串索引
字符串利用方括号**([ ])**通过索引值得到对应位置的字符.
- 从前往后的正向索引,n 个字符串,索引值从 0 到 n-1;
- 从后往前的反向索引,n 个字符串,索引值从 -1 到-n。
(四)字符串切片
在 Python 中,可以使用切片从字符串中提取子串,切片适用于字符串、列表、元组、range对象等类型。
**切片的格式一般为:<字符串或字符串变量>[N:M:step],**从N开始到M结束(不打印输出M),step为步长。
(五)字符串的操作
1:连接字符串符号:+
打印输出n次:(x*n)
判断子串:使用 in
2:字符串处理函数
3:字符串处理方法
(六)format()方法的基本使用
在 Python 中,format()
方法用于格式化字符串。你可以使用占位符来插入变量的值。
# 基本用法
name = "Alice"
age = 30
print("Hello, {}! You are {} years old.".format(name, age))
# 使用索引
print("Hello, {0}! You are {1} years old.".format(name, age))
# 使用关键字
print("Hello, {name}! You are {age} years old.".format(name=name, age=age))