python类和方法的内存图解,Python 入门知识捡漏

本文讲解了Python中变量的作用域规则,指出只要声明在内存中,变量即可跨作用域使用。还介绍了三元运算符的用法,以及不同进制的表示方法。此外,详细列举了Python的基础概念,如对象与类的关系、内置方法和字符串操作,涉及列表的增删查改等。

一、对于变量的作用域,执行申明在内存中存在,该变量就可以在下面的代码中使用(即作用域)if  2==2:

name = ‘alex’

print name

下面结论是否正确?

外层变量,可以被内层变量使用

内存变量,无法被外层变量使用

对以上代码进行执行:#!/usr/bin/env python

# -*- coding:utf8 -*-

if 2 ==2:

name = 'alex'

print name

print name

[root@Python day001]# python  new_test.py

alex

alex

[root@Python day001]#

总结:所以对于Python,只要变量在内存中申明了,那么可以直接使用

二、三元运算

result = 值1 if 条件 else 值2

如果条件为真:result = 值1

如果条件为假:result = 值2

示例①

name = ‘alex’

if 1==1:

name = 'sb'

else:

name ='2b'

代码改写:

name ='sb' if 1==1 else 2b

接下来就可以直接把name拿出来进行相应的处理

三、各种进制的表示方法

二进制,01

八进制,01234567

十进制,0123456789

十六进制,0123456789ABCDE

四、Python基础

①对于Python,一切事物都是对象,对象基于类创建(或者说对象是由类来创建)

②在Python中任何一个对象都是有自己的类,任何一个对象属性都是由自己的类的方法引用而来

c45077cb30197cb9e2c60012e1dabb90.png

提示:类和对象的关系图解

③type查看对象的类型(以列表list类为例)

693eddae92e472d21dd5aa3083cf849f.png

④dir(类型名)查看类中提供的所有功能

da49848df92ac1dd0d6e866d27143103.png

说明:在dir(list)中,有两边带下划线和不带下划线的两种方法,有下划线的为内置方法,没有下划线的为非内置方法,并且非内置方法的执行只能通过"对象.非内置方法"的形式进行运行

⑤help(类型名) 查看类中所有的详细功能

d842c9c79f094fb18274ab2c91dcd630.png

⑥help(类型名.功能名)查看类中某功能的详细

e70e93f21fb67c412b6f85a292d6ab6b.png

⑦类中的方法

__方法__:内置方法,可能有多种执行方法,至少一种

方法:只有一种执行方法,即:对象.方法,也就是该方法只能放在对象后面用点号(.)连接

########################数据类型的内置方法#################################

⑧数据类型的内置方法

1487942ad7f104e08b687e9e30a16d08.png

⑨内置方法的执行

8027f15f2bf063c945bf9433a2073ed1.png

变量1.内置方法(变量2)这种模式进行执行

特殊的内置方法__abs__

224b859bd2f1fccf8626a543bcc6e7f5.png

⑩常见的内置方法__add__、__float__、__add__、__cmp__、__div__、__divmod__、__floordiv__、__format__、__hash__等

e7403bb7dcb41d79f11dddaa2958277b.png010be7c9b3cb183680ba3894993fb0cf.png

浮点型(float)和长整型方法的内容基本一致,可以参考整型数据(int)

########################字符串的内置方法##################################

①创建字符串

str1 = “alex”

str1 = str("alex")

两种方法本质一样,只是第二种方法可以明确的看出来str1是用哪个类(种类是str)创建的

②常用的方法

首字母大写

b8ba0d8146d0f23dce4ccfe44e8c0938.png

7c0da37792c7276a5784a06b213d5e29.png

编码和解码(各种编码之间的关系图)

199c573ad30a51eb6160e5a880f05305.png

注释:utf-8和gbk是Unicode的扩展

举例说明:

81585b7566709035f5bbf41beb7a29ee.png

字符串方法---以“某某字符”结尾:endswith()

8bfc5213e2eb409141ceef7a7f8a5364.png

字符串方法----将tab转换成空格,默认一个tab转换成8个空格:expandtabs(),其中括号中的数字是多少就是将tab键转换位多少个空格,其中不写即为默认8个,

0c877afc95a136b8530dbd415b4bb3f1.png

字符串方法------查找第一个要查找的元素下标,find()方法,如果返回结果为-1,则表示没有该元素或者子序列

afce1bf9b930d4ca999b3f03e0d73831.png

字符串方法-----格式化字符串format()方法

228eedd95e5c7e26dcea9383060c40be.png

在运用format进行传值的时候,如果用来传值的对象是列表或者元组,那么要在对象前加一个星号(即*)

f215be21b0f155fd52b2cf4e32dfb0ea.png

在运用format进行传值的时候,如果用来传值的对象是字典,那么要在该对象(即字典)前加两个星号(即**dict)

2b9413e8794dde1a684586d197133b86.png

字符串方法------元素下标查找index(),如果找到就返回小标值,否则就报错

与find()方法进行对比

15136b3b346aa35f30c2c4f694380a13.png

字符串方法------当字符串为数字或者字母则返回True,否则返回False

cfdd1e4b07a0ec53e39e67d79baeeae2.png

字符串方法------当字符串为字母,为数字返回True,否则返回False

5311b18f7891f199ee8be6066aed6ef3.png

字符串方法------当字符串是否为数字,为数字返回True,否则返回False

ac9bcabcf337bac213bbd27b359243a6.png

字符串方法------当字符串是否为小写字母,是小写返回True,否则返回False

b0a12da112d71c7225d952b52361e6da.png

字符串方法------当字符串是否全部为大写字母,是大写返回True,否则返回False

a06bc3208e29f91cfc9554c54bae5d97.png

字符串方法-----将字符串转换成标题(title()方法)和判断字符串是否为标题(istitle()方法)

a002cdbc75bdd0e3d8d3884cfdf7f61c.png

字符串方法-----join方法,可以将列表或者字典或者元组通过某个方式连接成字符串

6699edb3d5c97a37a84db0e8a4acab14.png

字符串方法-------左右对齐和居中显示

13427dfce7b9c425d4dcc8d2041babc9.png

字符串方法-------大写变小写;小写变大写;一次性将大写变小写,小写变大写进行转换

1b1bfc264de589554369fb8472a89e8d.png

字符串方法-------partition将字符分割成左、中、右三部分,可以指定分割的方式,即从字符串中某个字母进行分割

c2b058743364d8cb59e2cc004f74b778.png

字符串方法-------replace,替换,找到列表中所有符合的规则全部进行替换

wKiom1ZPQNPwweN3AAAh3u0***Y968.png

字符串方法-------split & rsplit,分割,指定字符串中的某个字符或者符号进行分割字符串

2c2b9f0f85f7104c0717eba520a6ac91.png

列表与列表方法

①定义一个列表>>> nu_list = ['a','b','c','d','e']

>>> print nu_list

['a', 'b', 'c', 'd', 'e']

>>>

注意:定义列表用中括号[],列表里面的元素如果是数字可以不用引号(单引号和双引号),如果是字母或者字符串必须要用引号

②列表方法--------append(),向列表中追加一个元素(元素可以是列表也可以字符串)>>> nu_list = ['a','b','c','d','e']

>>> print nu_list

['a', 'b', 'c', 'd', 'e']

>>> nu_list.append('g')

>>> print nu_list

['a', 'b', 'c', 'd', 'e', 'g']

>>> nu_list.append('123445656')

>>> print nu_list

['a', 'b', 'c', 'd', 'e', 'g', '123445656']

>>>

③列表方法--------count(),统计列表中元素在列表中出现的个数>>> nu_list =['bb','bb','cc','dd','aa','cc',11,22,33,22,22,11]

>>> nu_list.count('bb')

2

>>> nu_list.count('cc')

2

>>> nu_list.count('1')

0

>>>

>>> nu_list.count('11')

0

>>> nu_list.count(11)

2

>>> nu_list.count(22)

3

>>> nu_list.count('cc')

2

>>>

④列表方法--------extand(),针对原列表进行扩展,extand的操作对象是列表,扩展前后列表的内存地址是不会变化的>>> nu_list= ['alex','eric','tony','sam']

>>> mu_list = ['kate','susan','jannes']

>>> nu_list.extend(mu_list)

>>> nu_list

['alex', 'eric', 'tony', 'sam', 'kate', 'susan', 'jannes']

>>> s_list = [11,22,33,44,]

>>> nu_list.extend(s_list)

>>> nu_list

['alex', 'eric', 'tony', 'sam', 'kate', 'susan', 'jannes', 11, 22, 33, 44]

>>>

>>> id(nu_list)

39488648

>>> nu_list.extend(s_list)

>>> nu_list

['alex', 'eric', 'tony', 'sam', 'kate', 'susan', 'jannes', 11, 22, 33, 44, 11, 22, 33, 44]

>>> id(nu_list)

39488648

>>>

⑤列表方法--------index(),找出列表中某个元素第一次出现时的下标,如果元素不存在就触发异常>>> nu_list

['alex', 'eric', 'tony', 'sam', 'kate', 'susan', 'jannes', 11, 22, 33, 44, 11, 22, 33, 44]

>>> nu_list.index('alex')

0

>>> nu_list.index('kate')

4

>>> nu_list.index('susan')

5

>>> nu_list.index(33)

9

>>> nu_list.index(55)

Traceback (most recent call last):

File "", line 1, in 

ValueError: 55 is not in list

>>>

⑥列表方法--------insert(),在列表中某个位置插入元素,插入的元素也可以是列表>>> list001 = ['a','b','c','d']>>> list001.insert(2)Traceback (most recent call last):  File "", line 1, in TypeError: insert() takes exactly 2 arguments (1 given)>>> list001.insert(2,33)>>> list001['a', 'b', 33, 'c', 'd']>>> list001.insert(0,'oooooo')>>> list001['oooooo', 'a', 'b', 33, 'c', 'd']>>>

>>> list002=[1,2,3,4]>>> list001.insert(0,list002)>>> list001[[1, 2, 3, 4], 'oooooo', 'a', 'b', 33, 'c', 'd']>>>

⑦列表方法--------pop(),删除并返回指定下标的元素,如果没有指定下标,则删除列表中最后一个元素,并返回该元素>>> nu_list = ['a','b','c','d','e']

>>> nu_list.pop()

'e'

>>> nu_list

['a', 'b', 'c', 'd']

>>> nu_list.pop(0)

'a'

>>> nu_list

['b', 'c', 'd']

>>> nu_list.pop(2)

'd'

>>> nu_list

['b', 'c']

>>>

⑧列表方法--------remove(),删除指定的元素,(从左至右,重复元素只删除第一个)>>> test_list= ['a','b','c','d','e','a','b','c']

>>>

>>> test_list.remove('a')

>>> test_list

['b', 'c', 'd', 'e', 'a', 'b', 'c']

>>> test_list.remove('c')

>>> test_list

['b', 'd', 'e', 'a', 'b', 'c']

>>>

⑨列表方法--------reverse(),将列表顺序颠倒(反转)过来>>> test_list

['b', 'd', 'e', 'a', 'b', 'c']

>>> test_list.reverse()

>>> test_list

['c', 'b', 'a', 'e', 'd', 'b']

>>>

⑩列表方法--------sort(),排序,如果列表中有数字,按照数字大小进行排序,如果列表中是字母,按照ascii码进行排序,如果是中文,则按照Unicode编码进行排序>>> test001 = ['a','b','f','22',11,23,'天','夫']>>> test001.sort()>>> test001[11, 23, '22', 'a', 'b', 'f', '\xb7\xf2', '\xcc\xec']>>> '天''\xcc\xec'>>> '夫''\xb7\xf2'>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值