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介绍

二.程序基本格式

三.编程基础概念

内置数据类型

整数和浮点数进行运算:

类型转换:

时间的表示

四.字符串

1.编码:

2.创建字符串:

转义字符:

3.字符拼接:

4.字符串复制:

5.不换行打印:

从控制台读取字符串:

6.使用[]提取字符:

7.replace()实现字符串替换

8.字符串切片 slice 操作

9.split()分割和join()合并

10.字符串驻留机制和字符串比较

11.字符串比较和同一性

12.成员操作符

13.去除首尾信息

14.大小写转换

15.格式排版

16.字符串的格式化

17.填充与对齐

18.数字格式化

19. 可变字符串


一.Python介绍

1.Python 是解释型、面向对象的语言。由吉多·范罗苏姆(Guido van Rossum)于 1989 年发明,1991 年正式公布。官网:www.python.org

2.Python 单词是“大蟒蛇”的意思。

3.Python特点:

(1)可读性强

(2)简洁? 简化开发任务

(3)面向对象

(4)免费和开源

(5)可移植性和跨平台

(6)丰富的库(丰富的标准库,多种多样的扩展库)

(7)可扩展性 (可嵌入到C和C++,胶水式语言)

(8)解释执行,性能较低。

ps:开发环境(IDE? Integrated Development Environme? 集成开发环境)

????????主要学习IDLE开发环境

二.程序基本格式

1.逻辑行首的空白决定逻辑行的缩进层次,决定语句的分组。

2.语句从新的一列开始。

3.区分大小写

4.注释:

??????? 行注释:#注释内容

??????? 多行注释(段注释):'''

????????????????????????????????????????????????多行注释内容

???????????????????????????????????????????? '''

5.\行连接符

eg:>>> a = [10,20,30,40,\

????????????????????? 50,60,70,\

????????????????????? 80,90,100]

>>> a

[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

6.变量不需要显式声明类型。根据变量引用的对象,Python 解释器自动确定数据。

7.每个对象都有数据类型,只支持该类型支持的操作。

8.标识符:用于变量、函数、类、模块等的名称。

标识符有如下特定的规则:

(1)区分大小写。

(2)第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线

(3)不能使用关键字。比如:if、or、while 等。

【操作】使用 Python 帮助系统查看关键字

????????>>> help()

????????help> keywords

(4)以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类 的构造函数

(5)模块和包名:全小写字母,尽量简单。若多个单词之间用 下划线

函数名:全小写字母,多个单词之间用下划线隔开

类名:首字母大写,采用驼峰原则。多个单词时, 每个单词第一个字母大写,其余部分小写

常量名:全大写字母,多个单词使用下划线隔开

9.变量使用必须初始化。变量名=表达式(运行过程中,解释器先运行右边的表达式, 生成一个代表表达式运算结果的对象;然后,将这个对象地址赋值给左边的变量。)

10.可以通过 del 语句删除不在使用的变量。

11.如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间。

12.链式赋值用于同一个对象赋值给多个变量。x=y=123 相当于:x=123; y=123

13.系列数据赋值给对应相同个数的变量(个数必须保持一致) a,b,c=4,5,6 相当于:a=4;b=5;c=6

14.Python 不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。

15.不支持自加自减。

三.编程基础概念

1.程序:Python 程序由模块组成。一个模块对应 python 源文件,一般后缀名是:.py。

2. 模块:模块由语句组成。运行 Python 程序时,按照模块中语句的顺序依次执行。

3.语句: 语句是 Python 程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。

4.对象: Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值) 组成。

(1)标识:用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数 id(obj) 可返回对象 obj 的标识。

(2) 类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用 type(obj)获得对象的所属类型。

(3) 值表示对象所存储的数据的信息。使用 print(obj)可以直接打印出值

对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作

5.引用:在 Python 中,变量称为——对象的引用。因为,变量存储对象的地址。 变量通过地址引用了“对象”。

????????变量位于:栈内存(压栈出栈等细节,后续再介绍)。

????????对象位于:堆内存

内置数据类型

(1)整型:整数

??????? 除 10 进制,还有其他三种进制:

????????·0b 或 0B,二进制 0 1 ???????? ob101=5

????????·0o 或 0O,八进制 0 1 2 3 4 5 6 7 ????????0o10=8

????????·0x 或 0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f??????? oxff=255

????????Python3 中,int 可以存储任意大小的整数。可以做超大数的计算,而不会造成“整数溢出”,这也是 Python 特别适 合科学运算的特点。

(2)浮点型:小数。(科学记数法:314e-2=3.14)内存中也是按照科学计数法存储。

(3)布尔型:表示真假。True、False。可以与数字相加。

(4)字符串型。

整数和浮点数进行运算:

+:加法

-:减法

*:乘法

/:浮点数除法(结果默认为浮点数)

//:整数除法(结果为整数,小数点后的数直接去掉)

%:模(取余)

**:幂?? 2**3=8

divmod():同时得到商和余数 ? divmod(13,3)—>(4, 1)

ps:除数为0,会产生异常。

增强型赋值运算符:运算符+、-、*,/、//、**和%和赋值符=结合可以构成“增强型赋值运算符”。 a+=1——>a=a+1。

比较运算符:比较两个对象的值是否不相等(a=15 b=30)

==:比较对象的值是否相等????????(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

逻辑运算符:

or(逻辑或):x or y ????????x 为 true,则不计算 y,直接返回 true ,x 为 false,则返回y。

and(逻辑与):x and y ????????x 为 true,则返回 y 的值, x 为 false,则不计算 y,直接返回 false。

not(逻辑非):not x ????????x 为 true,返回 false 。x 为 false,返回true。

同一运算符:符用于比较两个对象的存储单元,实际比较的是对象的地址。

is:is 是判断两个标识符是不是引用同一个对象。a is b——>False

is not:is not 是判断两个标识符是不是引用不同对象。

ps:(1)is 与 == 区别: is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。

== 用于判断引用变量引用对象的值是否相等,默认调用对象的 __eq__()方法。

is运算比==效率高。

(2)Python 仅仅对比较小的整数对象进行缓存(范围为[-5, 256])缓存起来,而并非是所有整数对 象。需要注意的是,这仅仅是在命令行中执行,而在 Pycharm 或者保存为文件执行,结果是不一样 的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])

运算符优先问题:1. 乘除优先加减 2. 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

类型转换:

(1)int():????????浮点数直接舍去小数部分。????????布尔值 True 转为 1,False 转为 0. ????? 字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。

(2)自动转型:整数和浮点数混合运算时,表达式结果自动转型成浮点数。

(3)float()将其他类型转化成浮点数。

*(4)round(value)可以返回四舍五入的值 注:但不会改变原有值,而是产生新的值。

时间的表示

计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始,以毫秒(1/1000 秒) 进行计算。我们也把 1970 年这个时刻成为“unix 时间点”。 这样,我们就把时间全部用数字来表示了。

python 中可以通过 time.time() 获得当前时刻,返回的值是以秒为单位,带微秒 (1/1000 毫秒)精度的浮点。

>>> import time

>>> b =time.time()

四.字符串

1.编码:

????????Python3 直接支持 Unicode(16位),可以表示世界上任何书面语言的字符。ASCII 码是 Unicode 编码的子集。????????使用内置函数 ord()可以把字符转换成对应的 Unicode 码;???????? 使用内置函数chr()可以把十进制数字转换成对应的字符。??????? ord(a)-->65??????? chr(66)-->'B'

2.创建字符串:

(1)以通过单引号或双引号创建字符串。例如:a=’abc’; b=”sxt” 。使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。

(2)连续三个单引号或三个双引号,可以帮助我们创建多行字符串。

(3)空字符串:不包含任何字符且长度为0。

(4)len()用于计算字符串含有多少字符。

转义字符:

\:续行符

\\:反斜杠符号

\':单引号

\":双引号

\b:退格(backspace)

\n:换行

\t:横向制表符

\r:回车

3.字符拼接:

1.可以使用+将多个字符串拼接起来。例如:’aa’+ ’bb’ ==>’aabb’。

(1) 如果+两边都是字符串,则拼接。

(2) 如果+两边都是数字,则加法运算。北京尚学堂·百战程序员 实战 系统 好教育

(3) 如果+两边类型不同,则抛出异常。

2. 可以将多个字面字符串直接放到一起实现拼接。例如:’aa’’bb’==>’aabb’

4.字符串复制:

????????使用*可以实现字符串复制。??????? a="mmm "*3==>'mmm mmm mmm '

5.不换行打印:

????????己通过参数 end = “任意字符串”。实现末尾添加任何内容:print("sxt",end='##')==>sxt##

从控制台读取字符串:

????????使用 input()从控制台读取键盘输入的内容。

6.使用[]提取字符:

????????通过在字符串后面添加[],在[]里面指定偏移量, 可以提取该位置的单个字符。

????????(1)正向搜索: 最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1 为止。

????????(2) 反向搜索: 最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str) 为止。

7.replace()实现字符串替换

????????创建新的字符串来实现

??????? a=‘asdfghjkl’

??????? a=a.replace('a','高')==>a='高sdfghjkl'

????????整个过程中,实际上我们是创建了新的字符串对象,并指向了变量 a,而不是修改了以前的字符串。

8.字符串切片 slice 操作

????????快速的提取子字符串。标准格式为: [起始偏移量 start:终止偏移量 end:步长 step]

[:]提取整个字符串???????? “abcdef”[:]? (操作) ????? “abcdef” (结果)

[start:]从 start 索引开始到结尾???????? “abcdef”[2:] ????????“cdef”

[:end]从头开始直到end-1 ????????“abcdef”[:2]???????? “ab”

[start:end]从 start 到 end-1 ????????“abcdef”[2:4] ????????“cd” ?????

[start:end:step]从 start 提取到 end-1,步长是 step??????????“abcdef”[1:5:2] ????????“bd”

"abcdefghijklmnopqrstuv wxyz"[-3:] ????????倒数三个???????? “xyz”

"abcdefghijklmnopqrstuv wxyz"[-8:-3]???????? 倒数第八个到倒数第 三个(包头不包尾)???????? 'stuvw'

"abcdefghijklmnopqrstuv wxyz"[::-1] ????????步长为负,从右到左 反向提取???????? 'zyxwvutsrqpon mlkjihgfedcba'

切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始 偏移量小于 0 则会当做 0,终止偏移量大于“长度-1”会被当成-1。

9.split()分割和join()合并

split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。

如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。

示例代码如下:

>>> a = "to be or not to be"

>>> a.split()

['to', 'be', 'or', 'not', 'to', 'be']

>>> a.split('be')

['to ', ' or not to ', '']

join()用于将一系列子字符串连接起来。

示例代码如下:

>>> a = ['sxt','sxt100','sxt200']

>>> '*'.join(a)

'sxt*sxt100*sxt200'

ps: 使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用 join 函数,因为 join 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝, 仅新建一次对象

10.字符串驻留机制和字符串比较

????????字符串驻留:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。 Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母 和数字)会启用字符串驻留机制驻留机制。

11.字符串比较和同一性

??????? 使用==,!=对字符串进行比较,是否含有相同的字符;使用 is / not is,判断两个对象是否同一个对象,比较的是对象的地址。

12.成员操作符

????????in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。

查找方法:a="asdfghjkla"

len(a)??????? 字符串长度?????? 10

a.startswith("asdf")??????? 以指定字符串开头??????? TRUE

a.endswith("jkla")??????? 以指定字符串结尾??????? TRUE

a.find("a")??????? 第一次出现指定字符串的位置??????? 0

a.rfind("a")????????最后一次出现指定字符串的位置??????? 10

a.count("a")??????? 指定字符串出现了几次??????? 2

a.isalnum()??????? 所有字符全是字母或数字??????? TRUE

13.去除首尾信息

????????我们可以通过 strip()去除字符串首尾指定信息。通过 lstrip()去除字符串左边指定信息, rstrip()去除字符串右边指定信息。

>>> "*s*x*t*".strip("*")

's*x*t'

>>> "*s*x*t*".lstrip("*")

's*x*t*'

>>> "*s*x*t*".rstrip("*")

'*s*x*t'

>>> "? sxt? ".strip()

'sxt'

14.大小写转换

a="i love u."

a.capitalize() ????????产生新的字符串,首字母大写????????'I love u.'

a.title() ????????产生新的字符串,每个单 词都首字母大写????????'I Love U.'

a.upper() ????????产生新的字符串,所有字 符全转成大写????????'I LOVE U.'

a.lower()???????? 产生新的字符串,所有字 符全转成小写????????'i love u.'

a.swapcase() ????????产生新的,所有字母大小写转换 ????????'I LOVE U.'

15.格式排版

????????center()、ljust()、rjust()这三个函数用于对字符串实现排版。

>>> a="abc"

>>> a.center(10,"*")

'***abc****'

>>> a.center(10)

'?? abc??? '

>>> a.ljust(10,"*")

'abc*******'

其他:

(1)isalnum() 是否为字母或数字

(2) isalpha() 检测字符串是否只由字母组成(含汉字)。

(3) isdigit() 检测字符串是否只由数字组成。

(4) isspace() 检测是否为空白符

(5) isupper() 是否为大写字母

(5)islower() 是否为小写字母

16.字符串的格式化

????????format()基本用法:

????????>>> a = "名字是:{0},年龄是:{1}"

????????>>> a.format("ll",18)

????????'名字是:ll,年龄是:18'

????????我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便。

17.填充与对齐

????????填充常跟对齐一起使用 ^、分别是居中、左对齐、右对齐,后面带宽度 :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。

????????>>> "{:*>8}".format("245")

????????'*****245'

18.数字格式化

????????浮点数通过 f,整数通过 d 进行需要的格式化。

??? ? ? >>>??a="名字是{0},年龄是{1:.3f}"

????????>>>a.format("小明",13)

????????'名字是小明,年龄是13.000'

19. 可变字符串

字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO 对象或 array 模块。

>>> import io

?>>> s = "hello"

>>> sio = io.StringIO(s) #sio此时是io.StringIO object

>>> sio.getvalue()

'hello' >>>

sio.seek(3)

3

>>> sio.write("b")

1

>>> sio.getvalue()

'helbo"

?

?

?

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 11:52:21  更:2021-07-17 11:54:34 
 
开发: 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年5日历 -2024/5/4 21:47:50-

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