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

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中任何一个对象都是有自己的类,任何一个对象属性都是由自己的类的方法引用而来


         wKioL1ZMfOzCQioHAACdt-_rthU679.png

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


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

wKiom1ZMgvbATJCTAAAqCOO0T78299.png


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

wKiom1ZMgxTDFXRkAAAm8SYtzbE337.png

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



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

wKiom1ZMgyrB0KqiAAAqn9N15wo071.png


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

wKioL1ZMg5OxdbAuAAAWYqudzME094.png


⑦类中的方法

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

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


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


⑧数据类型的内置方法

wKiom1ZMiTmiWp81AAAsRVP8EeE806.png

⑨内置方法的执行

wKiom1ZMiWOjDTNvAAAVmf_yYOM685.png

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

特殊的内置方法__abs__

wKiom1ZMilySRVpBAAAS83K7zJo834.png


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

wKioL1ZN1_Cj2Z8UAAAu2839SEM531.pngwKioL1ZN1_DByghWAAA5EAGQcW0178.png


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


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

①创建字符串

str1 = “alex”

str1 = str("alex")

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


②常用的方法

首字母大写

wKiom1ZN47XRYEAbAAAOdHoeRn0950.png

居中显示,如果要用20字符填充并且位于中间,两边用空格或者*或者#

列表中元素出现的次数(包括从某个位置开始到某个位置结束字母a出现的次数)

wKiom1ZPDwThtmVoAAAibs5EqwE774.png


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

wKioL1ZPICKie2ecAABSeavQeqM905.png


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

举例说明:

wKioL1ZPIoDhSUYMAAA3__xd5GQ950.png


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

wKiom1ZPJIbRU6qNAAAUf49mUVk095.png


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

wKiom1ZPJojSAS4cAAAr2I0_pgM934.png


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

wKiom1ZPJ-vzJbM8AAAXySfooNA494.png


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

wKiom1ZPKsvC9PaEAAAsDZ4FRWQ215.png

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

wKioL1ZPLqbBPVXWAABDNgEIRFA470.png


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

wKiom1ZPMAXALcQPAAA1VvN2N4s222.png

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

与find()方法进行对比

wKiom1ZPMxWhvJObAABKyhIq2-4387.png


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


wKiom1ZPNGyjvYeWAAA2b84u-hY534.png


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

wKioL1ZPNgaikaeUAAAfcUI_8dU066.png


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

wKioL1ZPNqeiYayDAAApPgyAIHo734.png


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

wKioL1ZPN2uSCwSbAAAqArzN6oY598.png


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


wKiom1ZPOXTiu4HUAAAtPtBzDMU020.png


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

wKiom1ZPOG3T7ffKAAArz2ql6AQ481.png


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

wKioL1ZPO37DHpDqAAA0_pbyk48391.png


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

wKioL1ZPPJagJh_CAAA5kMoXKao577.png

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

wKioL1ZPPk_jpVulAAAjX_6ZX9E985.png

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

wKiom1ZPP6mAbeU_AAA0E2Wg6m4221.png


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

wKiom1ZPQNPwweN3AAAh3u0***Y968.png


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

wKioL1ZPQ5ahMTXMAAAbbIDj4eE248.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 "<stdin>", line 1, in <module>
ValueError: 55 is not in list
>>>


列表方法--------insert(),在列表中某个位置插入元素,插入的元素也可以是列表

>>> list001 = ['a','b','c','d']>>> list001.insert(2)Traceback (most recent call last):  File "<stdin>", line 1, in <module>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'>>>