python之路-DAY2

1.python数据结构,数据类型,扩展

2.上节作业流程

#解释器

#编码

#登陆,三次登陆失败,锁定账户

#文件保存用户信息

        用户名|密码|登陆次数

        用户名|密码|登陆次数

读取内容,r:文件内容读进内存,read(),readlines  ---并处理内容,将内容处理成可比较的数据类型

转化成字典

{    

    ‘用户名’:{'pwd':'密码',‘登陆次数’:1},

    ‘用户名’:{'pwd':'密码',‘登陆次数’:1},

    ‘用户名’:{'pwd':'密码',‘登陆次数’:1},

}

flag = True

counter = 0

while flag:

    #三次失败后,flag = False

    conunter += 1

    if counter >2:

            break

   #用户名密码比较

        去出所有用户名 和输入的用户名比较   。.keys() , raw_input(),   in 判断是否在keys列表 

        raw_input 取到了用户名

        #用户不存在

                直接出去

        #密码比较  big_dict[用户名]

                    如果密码匹配,成功

                      否则,登陆次数+1,continue

                      #如果次数+1,

                       #把字典处理成大字符串

                       打开文件,写入

入门拾遗

1,作用域

   变量 只要内存里存在,就可以使用            (栈)

三元运算

#用户 输入内容,如果用户输入alex

#用户输入,得到值

#运算,的结果:如果如果

result = 1 if 条件 else 2

二进制运算

python 基础

1.pycharm 的使用

提示,断点调试,debug 模式

2.面向对象

对于python 一切事物都是对象,对象由类创建

l5vh5lp4gk~ob6[0rsm8@2d[4]

图一 

图一是如果不使用面向对象,则每个对象都需要创建相同的功能

y4@(bs2d7}z8rc$uh3vp_dx[4]

面向对象则可以只在类里创建,对象只调用,对象中有类指针

通过 type 可以看对象的类型

type(对象)

查看类的方法

help(list)  查看list的方法

dir(list)  查看list方法

查看某个方法的命令

help(类型名.功能名)

mhlj5ea8ecn4o1j6y7)sito[4]

类中方法,有带__下划线(内置方法),不带的 非内置方法

clipboard[4]

内置方法

    可能有多种执行方式,至少一种

非内置方法

count   只有一种执行方式,只能通过list.count()发放

整数:

----

创建方法

i = 10

i = int(10)

--------

abs, 数学运算符(+ , - ,*, /)

cmp

divmod   用于网页分页显示

切片是因为有index方法

repr  str  方法需要知道

str 的编码解码过程

encode 是编码

z@(i}w{twuws@fxjsr7qu}k[4]

}p36qp02je4h]m_y}nw~}p0[4]

def expandtabs(self, tabsize=None):  
        """ 将tab转换成空格,默认一个tab转换成8个空格 """

字符串内容格式化,两种方式

>>> name = 'I am {0},age {1}'    #按位置的占位符进行占位

>>> name.formate('xiaobing',27)

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

AttributeError: 'str' object has no attribute 'formate'

>>> name.format('xiaobing',27)

'I am xiaobing,age 27'

>>> name = 'i m {ss},age {dd}'    #用变量名占位

>>> name.format(dd = 27,ss = 'xiaobing')

'i m xiaobing,age 27'

>>>

li = [11,222]

name = 'i m {0}, age {1}' 

name.format(*li)  #列表或元组格式化必须加一个*

dic = {'ss': 123,'dd': 456}

name = " i m {ss},age {dd}"

name.format(**dic)     #字典格式化必须加两个*

  对比    

str.find  找不到会报 -1

str.index   找不到会报错误

def ljust(self, width, fillchar=None):  
        """ 内容左对齐,右侧填充 """"""
原文地址:https://www.cnblogs.com/xiaobing1024/p/4931493.html