IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础 -> 正文阅读

[Python知识库]Python基础

Python介绍

一、Python特点

  1. 简洁,可读性强
  2. 面向对象
  3. 免费和开源
  4. 可移植性,可跨平台
  5. 可扩展,嵌入到C、 C++等语言中

二、应用范围

  1. 科学计算
  2. 人工智能
  3. Web服务器端和大型网站后端
    Youtube,gmial,豆瓣等
  4. GUI
  5. 游戏开发、移动设备、嵌入式、系统运维、大数据

python由于是解释执行,所以性能比较低。

三、版本兼容

  • python3不兼容python2。
  • 程序如果可以在python2.7运行,可通过2to3转换工具(python自带)转换到python3。

四、Python解释器和IDE

python程序执行依赖于python解释器,常用python解释器有;

  1. CPython:C语言实现的解释器
  2. Jython:Java语言实现的解释器,可以调用java类
  3. IronPython: .Net平台使用的解释器,适合.Net平台上开发
  4. Pypy:python语言实现的解释器

python自带的开发环境

  1. IDLE:python自带的开发环境

六、对象和变量

对象

  • python中,一切皆对象,由标识符(id:对应于对象的内存地址)、类型和值组成。
  • 对象本质:一个内存块,拥有特定的值,支持特定类型的相关操作。

引用

  • 变量成为对象的引用,变量保存的对象的地址,变量通过地址引用了"对象"。
  • 变量不需要声明数据类型,对象必须要声明数据类型。

标识符命名(变量命名)

标识符:变量、函数、类、模块的名称,区分大小写,第一个字母只能是字母、下划线。避免关键字,避免双下划线开头和结尾。
help():keywords查看系统关键字。
IDE+F1查看帮助文档。

变量

  • 变量声明
    变量名 = 表达式
  • 删除变量
    del 变量名
    变量引用的对象若再没有其它变量引用,则会被python垃圾回收机制回收。
  • 变量链式赋值
    同一对象赋值给多个变量 x = y = 123
  • 变量解包赋值
    系列数据赋值给对应相同个数的变量 a,b,c = 1,2,3
    变量值互换 a,b = b,a

*python不支持常量,只能逻辑上规定不能修改常量。

七、数据类型

内置数据类型

python内置数据类型:

  1. 整型 int
    (1) 除10进制,还有二进制,八进制,十六进制。
    0b / 0B a=0b100 (8)
    0o / 0O a=0o72 (58)
    0x / 0X a=0xA2(162)
    (2) int()将数据转为整型:
    int(9.9):9
    int(True): 1
    int(‘234’) :234
    int(‘234a’):error
    (3) 数值范围
    python2中,int表示32位,python3中,int可以存储任意大小的整数,long被取消,所以python非常适合于科学运算。(10**100)

  2. 浮点型 float
    (1) 科学计数法表示: a × b 10 a\times b^{10} a×b10,314e-2,314E-2。
    (2) float()进行浮点数转换。
    整数和浮点数运算,结果为浮点数。2+8.0=10.0。
    round(value)返回四舍五入的值。(不会改变原来的值,会产生新值)
    (3) 数值范围:64位浮点数

  3. 布尔型
    python2没有布尔值,直接用0表示False,1表示True。
    python3将True/False定义为了关键字。

  4. 字符串型

时间

计算机中时间是从1970.1.1 00:00:00开始的,以毫秒进行计算。1970年这个时刻被称为"unix时间点"。
time.time()获取当前时刻距1970过了多少s。

字符串

字符串本质是字符序列,python中字符串是不可变的,我们无法对字符串做任何修改。python将字符串作为一个基本数据类型,python不存在字符。

  1. 编码
    Python3采用Unicode字符编码,可以表示世界上任何书面语言的字符,默认就是16为Unicode编码,ASCII码是Unicode编码的子集。
    内置函数ord()可以将字符转换为对应的Unicode编码。
    内置函数chr()可以将十进制数字转换成为该Unicode编码对应的字符。
    ord(‘A’) 65
    chr(66) ‘B’
    ord('学’) 23398
  2. 定义
    双引号定义
    a = “I’am s student”
    三个单引号定义
    a = ‘’’ name=“sherry”
    sex=“Female”’’’
    空字符串
    a = ‘’
    len(a) 0
  3. 转义字符

\ + 特殊字符,实现某些难以用字符表示的结果,比如换行。

转义字符描述
(在行尾)续行符
\反斜杠符 \
\‘单引号’
"双引号“
\b退格(Backspace)
\n换行
\t横向制表符
\r回车
  1. 字符串拼接、复制、打印、读取
    (1) 使用+将多个字符串拼接起来:
    ‘aa’ + ‘bb’ =>‘aabb’
    如果两边都是字符串,则拼接;
    如果两边都是数字,则运算;
    如果两边类型不同,则抛出异常。
    (2) 将多个字符串直接放在一起实现拼接:
    ‘aa’ ‘bb’ => ‘aabbb’
    (3) 使用*可以实现字符串赋值:
    ‘aa’*3 => ‘aaaaaa’
    (4) 不换行打印
    printf(‘sdjfhsdf’,end=’’) #不换行
    printf(‘sdjfhsdf’,end=’*’) #结尾为*
    (5) 从控制台读取字符串
    name = input()
  2. 字符串格式化
    str.format()
    ‘1:{0},2:{1}’.format(‘aa’,‘bb’) #顺序和0,1匹配 => ‘1:aa,2:bb’
    ‘1:{space1},2:{space2}’.format(space2=‘bb’,space1=‘aa’) => ‘1:aa,2:bb’
    填充和对齐
    填充通常跟对齐一起使用。
    ^ < >分别是居中、左对齐、右对齐,后面带宽度
    :后面带填充的字符
    ‘数字:{:*^8}’.format(‘123’) => ‘数字:**123***’
    ‘数字:{:*<8}’.format(‘123’) => ‘数字:123*****’
    数字格式化
    在这里插入图片描述

字符串函数

  1. str() 将数字转为字符串
  2. [] 提取字符串
    正向搜索,左侧第一个字符偏移量是0,第二个是1,直到len(str)-1;
    反向搜索,右侧第一个字符偏移量是-1,倒数第二个是-2,直到-len(str);
  3. replace() 字符串替换
    a.replace(‘c’,‘b’) 返回一个新创建的字符串
  4. 字符串切片(slice)
    切片操作可以让我们快速地提取字符串,标准格式:[起始偏移量:终止偏移量:步长] 包头不包尾。
操作和说明示例结果
[:] 提取整个字符串‘abcdef’ [:]‘abcdef’
[start:] 从start位置到结尾‘abcdef’ [3:]‘def’
[:end] 从头到end-1‘abcdef’ [:2]‘ab’
[start:end] 从start到end-1‘abcdef’ [1,3]‘bc’
[start: end:step] 从start到end-1,步长step‘abcdef’ [::2]‘ace’

end>len(str) 默认截取到len(str)-1

start,end,step为负数的情况

示例描述结果
‘abcdef’ [-3:]倒数三个‘def’
’abcdefghijklmnopqrst’ [-8:-3]倒数第8个到倒数第三个(不包含第三个,包头不包尾)‘mnop’
’abcdefghijklmnopqrst’[::-1]步长为负,从左到右反向提取‘tsrqponmlkjihgfedcba’
  1. split()分割和join()合并
    split()基于指定分隔符将字符串分隔成多个字符串(存储到列表中),如果不指定分隔符,则默认使用空白分隔符(换行符/空格符/制表符等)。
    ‘a b c d’.split() => [‘abcd’]
    ‘abcdef’.split(‘bc’) => [‘a’,‘def’]
    join()的作用和split()相反,将一系列的字符串连接起来。
    a=’*’.join([‘a’,‘b’,‘c’,‘d’]) => a=‘abc*d’
    a=’’.join([‘a’,‘b’,‘c’,‘d’]) => a=‘abcd’
    如果涉及大量计算,用join()性能比+好(+会重新生成一个字符对象)

  2. 成员操作符
    in / not in 判断某个字符(子字符串)是否存在于字符串中。
    ‘ab’ in ‘abc’ => True

  3. 字符串驻留机制
    字符串驻留:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。
    python对符合标识符规则的字符串(仅包含下划线_,字母和数字)会启用字符串驻留机制。
    a=‘abc_123’
    b=‘abc_123’ #驻留池中只有一个’abc_123’
    a is b => True
    a=‘abc@’
    b=‘abc@’
    a is b => False

  4. 字符串常用查找方法
    a=‘abcdefghijklnmoppqrst’

方法和示例说明结果
len(a)字符串长度21
a.startswith(‘abc’)以指定字符串开头True
a.endswith(‘qrst’)以指定字符串结尾True
a.find(‘p’)第一次出现指定字符串的位置15
a.rfind(‘p’)最后一次出现指定字符串的位置16
a.count(‘p’)统计指定字符串出现了几次2
a.isalnum()判断所有字符是否全是字母或数字True
  1. 去除首尾信息
    strip()去除首尾字符串指定信息,通过lstrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息。
    ’**ab*cd**’.strip(’*’) => ‘ab*cd’
    ’**ab*cd**’.lstrip(’*’) => ‘ab*cd**’
    ’**ab*cd**’.rstrip(’*’) =>’**ab*cd’

  2. 大小写转换

示例说明
a.capitalize()产生新的字符串,首字母大写
a.title()产生新的字符串,每个单词都首字母大写
a.upper()产生新的字符串,所有字符全部转成大写
a.lower()产生新的字符串,所有字符全部转成小写
a.swapspace()产生新的字符串,所有字母大小写转换
  1. 格式排版
    center(10,’*’),字符串居中,左右用*填充,一共10个字符
    ljust(10,’*’), 字符串左对齐,右边右边用*填充 ,一共10个字符
    rjust(10), 字符串右对齐,左边用空格填充,一共10个字符

13.其它函数

函数描述
isalnum()是否全是字母或数字
isalpha()是否只有字母组成(含汉字)
isdigit()是否只有数字组成
isspace()是否为空白符
isupper()是否为大写字母
islower()是否为小写字母

八、运算符

数字运算符(整数/浮点数)

运算符说明例子
+ - * /加减乘 浮点数除法
//整数除法7//2=3
%模(取余)7%2=1
**7**2=49

增强型数值运算符

运算符+ - * / // ** %等和=结合,构成增强型赋值运算符。

运算符示例结果
+=a += 2a=a+2
-=a -= 2a=a-2
*=a *= 2a = a*2
/=a /= 2a = a /2
//=a //= 2a=a//2
**=a **= 2a=a**2
%=a%=2a=a%2

比较运算符

a=10,b=20

运算符描述示例
==比较两个对象值是否相等(a == b)返回False
!=比较两个对象是否不相等(a != b)返回True
>比较x是否大于y( a > b)返回False
<比较x是否小于y( a < b)返回True
>=比较x是否大于等于y( a >=b)返回False
<=比较x是否小于等于y( a <=b)返回True

逻辑运算符

运算符格式说明
orx or yx为True,返回True,x为False,返回y
andx and yx为False,返回False,x为True,返回y
notnot xx为True,返回False,x为False,返回True

同一运算符

运算符描述
is判断两个标识符是否引用同一对象
is not判断两个标识符是否引用不同对象
  • is与==
    is比较是否引用同一对象,==比较对象值是否一样,默认调用对象的__eq__()方法。
    例如:
    a=1000,b=1000,
    a is b 返回False
    a == b返回True
    但是python在命令行中对小的整数对象进行了缓存(范围[-5,256])。
    例如:
    a=100,b=100,
    a is b 返回True
    a == b返回True

  • is运算符比==效率高,在变量和None进行比较是,应该使用is。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:02:34  更:2022-01-29 23:03:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:24:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码