Python基础『一』(python基础教程 豆瓣)

网友投稿 572 2022-09-10

Python基础『一』(python基础教程 豆瓣)

Python基础『一』(python基础教程 豆瓣)

内置数据类型

数据名称

例子

数字: Bool,Complex,Float,Integer

True/False; z=a+bj; 1.23; 123

字符串: String

'123456'

元组: Tuple

(123456)

集合: Set

 

字典: Dict

{1:'123456'}

文件:File

 

数组:Array

 

字节数组:Bytearray

存储方式划分

可变对象

不可变对象

字典

列表

可变集合

数字

字符串

元组

不可变集合

操作划分

数字

序列

映射

整数

浮点数

二进制数

分数

...

字符串

列表

元组

字典

数字数据

常用内建函数

例子

abs(x):取得传递的值的绝对值

abs(-2) = 2

pow(x,y):进行平方计算

pow(2,2) = 4

max(x[,x1,x2]):求多个传递的值的最大值

max(1,22,5,3) = 22

min(x[,x1,x2]):求多个传递的值的最小值

min(1,2,3,4,6) = 1

sum([x1,x2[,x3],y]):计算传递的多个值的和

sum([1,2,3],2) = 8 ; sum([1,2,3]) = 6

常用math模块

例子

math.sqrt():进行开方运算

math.sqrt(4) = 2

math.pi:数字π

3.1415926...

math.sin():得到数据参数内的正弦函数

math.sin(1) = 0.8414709848078965

Bool函数:

在python2中是内建变量,而在python中增加了保留字之后,但True = 1 ,False = 0保留下来,所以判断真或假,False有三种情况一种是值为空,数字为0,等于None

None表示空值,它是一个特殊Python对象, None的类型是NoneType.None在Python解释器启动时自动创建, 解释器退出时销毁.

所以一个解释器进程中只有一个None存在

所以 输入: None is None and None == None; 输出: True

​ 输入: False == None; 输出: False

None不支持任何运算也没有任何内建方法

None和任何其他的数据类型比较永远返回False

None有自己的数据类型NoneType,不能创建其他NoneType对象(它只有一个值None)

None与0,空列表,空字符串不一样

import sys

a = sys.getsizeof(None)

b = sys.getsizeof(False)

c = sys.getsizeof(0)

d = sys.getsizeof(1)

print(a,b,c,d)

# 16 24 24 28

# int为长整型,sys.getsizeof(0)数组元素为0.此时占用24字节(PyObject_VAR_HEAD的大小),sys.getsizeof(1)需使用一个元素所以为28

import operator as op

op.eq(0,False)

op.eq('',False)

op.eq(None,False)

# True

# False

# False

内置数据运算

操作

操作符

算术运算

**+, -, *, /, //, %, ****

逻辑运算

and, or, not

比较运算

==, !=, >, <, >=, <=,

位运算

in, not in

成员运算

is, is not

赋值运算

操作符

例子(s=1)

结果

=

s = 4

4

+=

s += 4

5

-=

s -= 4

-3

*=

s *= 4

4

/=

s /= 4

0.25

%=

s %= 4,

1

//=

s //= 4

0

**=

s **=4

1

类型转换

操作

例子

结果

int(x[,base])

int('3'); int('1101',2)

3; 13

float(x)

float(3)

3.0

chr(x)

chr(3)

'\x03'

hex(x)

hex(3)

'0x3'

oct(x)

oct(3)

'0o3'

字符串数据

转义字符

转义字符

描述

转义字符

描述

\

续航符

\ \

反斜杠

\ '

单引号

\ "

双引号

\a

响铃

\b

退格

\e

转义

\000

\n

执行

\v

纵向制表符

\t

横向制表符

\r

回车

\f

换页

\0yy

八进制数

\xyy

十六进制数

\other

其他字符以普通格式输出

字符串方法

内建函数

内建函数

例子(s = 'sos')

结果

find()

s.find('s')

0

join()

s.join('abc'); s.join('a')

'asosbsosc'; 'a'

len()

len(s)

3

count()

s.count('s')

2

split()

s.split('o')

['s', 's']

replace()

s.replace('o','a')

'sas'

dir()

dir(s)

["__ add __",< br/>...]

字符串转换

转换

例子(today = datetime.date.today())

结果

str()

str(today)

'2019-11-23'

repr()

repr(today)

'datetime.date(2019, 11, 23)'

(str是转换成适合成人类阅读的,repr是转换成编译器使用的,列表和字典总是调用repr)

索引分片

索引,分片

例子 str='hello_world'

结果

str[i]

str[2]

'l'

str[i:j:k]

str[1:7:2]

'el_'

i为起始位置,j为终止位置,k为步长,第一位始终会被读取,截取长度为前闭后开,i默认值为0,j不限制则默认全部,空格也会占一位

格式化

%[(name)] [flags] [ width ] [.pression]typecode

格式化表达式

例子 demo={'test':'1.2242'}

结果 value%demo

name:指定参数名,用于字典参数格式化

value=' this is %(test)s'

' this is 1.2242'

flags:+/-表示左右对齐

value=' this is %(test)-10s '

'this is 1.2242 '

width:表示字符串宽度

value=' this is %(test)10s '

'this is 1.2242 '

precision:表示浮点数后的有效位数

value=' this is %(test).3f '

'this is 1.224 '

typecode:确定转换的数字类型

{fieldname!confersionflag:formatspec}

格式化方法

例子demo={'s':12.222}

fieldname: 指定的数字或关键字,位置参数,关键字参数,下标/属性

value='this is {test} '.format(test = demo['s'])

confersionflag: r/a/s, repr,ascii.str

value='this is {test!r} '.format(test = demo['s'])

formatspec:

[[fill] align [sign] [width] [.precision] [typecode]]

格式化方法参数'formatspec'

作用

例子

fill

填充

{test:0^10}: this is 0012.22200

align

填充对齐方式与fill一同出现>/^,右/左/中

{test!r:0>10}: this is 000012.222

sign

数字符号表示正负,参数为字符串不可用,相同显示正确结果

{test:+}: this is +12.222

width

表示字符串宽度

{test:10}: this is 12.222

.precision

显示浮点数保留几位

{test:10.2f}: this is 12.22

typecode

typecode

描述

s

获取传入对象的 __ str __

r

获取传入对象的 __ repr __

c

整数,转换为Unicode值

o

整数,转换为八进制

x

整数,转换为十六进制

d

整数,转换为十进制

f

浮点数,十进制显示

列表数据

可以存储任何对象

支持所有序列操作

支持原处修改,可变对象

长度可变,异构,可任意嵌套

本质是对象的引用组成的数组

列表操作

操作

例子 s=[1,2,3,4,6]

结果

len(): 读取长度

len(s)

5

sum(): 求和

sum(s)

16

max()/min(): 最大最小值

min(s)

1

append(): 追加元素

s.append(7)

[1, 2, 3, 4, 6, 7]

extend(): 追加元素(在原列表上追加新列表)

s.extend([1,2,3])

[1, 2, 3, 4, 6, 7, 1, 2, 3]

insert(x,y): 插入元素(在x位之后插入y元素)

s.insert(4,5)

[1, 2, 3, 4, 5, 6, 7]

count(): 元素统计,返回列表中出现的次数

s.count(4)

1

index(): 返回元素的索引值

s.index(6)

5

pop(): 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

s.pop(-2)

6

remove(): 移除列表中某个值的第一个匹配项

s.remove(2)

[1, 3, 4, 5, 7]

del(): 删除一个或多个元素(根据索引删除)

del s[1]

[1, 4, 5, 7]

sort(cmp=None,key=None,reverse=False): 用于对原列表进行排序(reverse默认false为升序)

s.sort(reverse=True)

[7, 5, 4, 1]

列表推导式

结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句

t = [x

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:win11正式版绕过硬件限制安装的方法
下一篇:Win10 nvm 安装nodejs
相关文章

 发表评论

暂时没有评论,来抢沙发吧~