Python 학습 기초의 기본 데이터 유형 소개

高洛峰
풀어 주다: 2017-03-21 10:28:35
원래의
1505명이 탐색했습니다.

1. 연산자

1. 산술연산:

Python 학습 기초의 기본 데이터 유형 소개

ps:

예제 1:

python2.7 예

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

#算数运算符
from future import division   #python2.x必须引入division模块。python3.x不需要。

val = 9 / 2
print(val)
로그인 후 복사

실행 결과:

1 4.5
로그인 후 복사
로그인 후 복사


python3.x 예제

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

#算数运算符
val = 9 / 2
print(val)
로그인 후 복사

실행 결과:

1 4.5
로그인 후 복사
로그인 후 복사

2. 🎜>

Python 학습 기초의 기본 데이터 유형 소개 ps:

1 a = 1 > 5
로그인 후 복사


3. 할당 작업:

Python 학습 기초의 기본 데이터 유형 소개 ps;

1 a = a + 1    a+=1
로그인 후 복사


ps:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

start = 1
start = start + 1  #加 减乘 除 一样
print(start)
로그인 후 복사

실행 결과:

1 2
로그인 후 복사
로그인 후 복사


4. 논리 연산:

Python 학습 기초의 기본 데이터 유형 소개ps:

1 a = 1>6 or 1==1
로그인 후 복사


>>> a = 0
>>> if a:print('a')
...

>>> a = 1
>>> if a:print('a')
...
a

>>> False
False
或
>>> True
True
로그인 후 복사

5. 회원 운영

예 of Python 학습 기초의 기본 데이터 유형 소개ps:

in:

은 이 SB가 위의

문자열

에 있는지 여부를 나타내며, 해당하는 경우 반환됩니다. is Ture방법 1:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

name = "郑建文"
if "建文" in name:
    print('ok')
else:
    print('Error')
로그인 후 복사

실행 결과:

1 ok
로그인 후 복사

방법 2:

#!/usr/bin/env python
# -*- coding:utf-8 -*-      
#Author: nulige
 
#成员运算符
s = "ALex SB"
ret = "SB" in s    #指的是这个SB是不是在上面那个字符串中,在就返回True
print(ret)
로그인 후 복사

실행 결과:

1 True
로그인 후 복사
로그인 후 복사

예 3 :

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

#成员运算符
s = "ALex SB"
ret = "RSB" in s   #指的是这个RSB是不是在上面那个字符串中,如果不在就返回False
print(ret)
로그인 후 복사

실행 결과:

1 False
로그인 후 복사
로그인 후 복사


예제에 없음

예제 1:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

name = "郑建文"
if "文1" not in name:
    print('1')
else:
    print ('2')
로그인 후 복사

실행 결과:

1 1
로그인 후 복사


예 2:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

#粒度大
li = ['alex','eric','rain']
ret = "alex" not in li    #在里面就是False,不在里面就是Ture
print(ret)
로그인 후 복사

실행 결과:

1 False
로그인 후 복사
로그인 후 복사


6,

3항 연산

1 result =值1 if 条件 else 值2
로그인 후 복사
조건이 true인 경우: 결과 = 값 1

조건이 false인 경우: sesult = 값 2

rree

7. 신원조작

Python 학습 기초의 기본 데이터 유형 소개

8.

비트 연산

안됨Python 학습 기초의 기본 데이터 유형 소개

9.

연산자 우선순위

Python 학습 기초의 기본 데이터 유형 소개

10. 바이트 유형

Python3의 내장 유형 bytes 및 str 사용 및 byte와 string의 차이점

인코딩 변환

아마도 Python 3의 가장 중요한 새로운 기능은 텍스트와 바이너리 데이터의 명확한 구분일 것입니다. 텍스트는 항상 유니코드이며 str 유형으로 표시되고, 이진 데이터는 bytes 유형으로 표시됩니다. Python 3에서는 암시적인 방식으로 str과 bytes를 혼합하지 않으므로 둘 사이의 구분이 특히 명확해집니다. 문자열과 바이트 패킷을 연결할 수 없으며, 바이트 패킷에서 문자열을 검색할 수 없으며(반대의 경우도 마찬가지), 바이트 패킷을 매개변수로 사용하는 함수에 문자열을 전달할 수도 없습니다(그 반대의 경우도 마찬가지).

바이트를 문자열 문자로

유형 변환

Python 학습 기초의 기본 데이터 유형 소개

Python 학습 기초의 기본 데이터 유형 소개

说明:字符串转(string)转成bytes类型,再转成string。

示例

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: huzhihua

#import login
msg = "我爱北京天安门"
print(msg)
print(msg.encode(encoding="utf-8"))
print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))
로그인 후 복사

执行结果:

我爱北京天安门
b'\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'
我爱北京天安门
로그인 후 복사

十一、进制

16位数表示方法

Python 학습 기초의 기본 데이터 유형 소개

16进制与二进制对应关系

Python 학습 기초의 기본 데이터 유형 소개

进制转换成十六进制的方法:取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位

Python 학습 기초의 기본 데이터 유형 소개

图1

组分好以后,对照二进制与十六进制数的对应表(如图1中所示),将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变哦,最后得到的就是十六进制数哦,如图2所示。

Python 학습 기초의 기본 데이터 유형 소개

图2

注意16进制的表示法,用字母H后缀表示,比如BH就表示16进制数11;也可以用0X前缀表示,比如0X23就是16进制的23.直观表示法如图3所示。

Python 학습 기초의 기본 데이터 유형 소개

图3

这里需要注意的是,在向左(或向右)取四位时,取到最高位(最低位)如果无法凑足四位,就可以在小数点的最左边(或最右边)补0,进行换算,如图4所示。

Python 학습 기초의 기본 데이터 유형 소개

图4

下面看看将16进制转为二进制,反过来啦,方法就是一分四,即一个十六进制数分成四个二进制数,用四位二进制按权相加,最后得到二进制,小数点依旧就可以啦。如图5所示。

Python 학습 기초의 기본 데이터 유형 소개

图5


十一、一切皆对象

对于Python,一切事物都是对象,对象基于类创建

Python 학습 기초의 기본 데이터 유형 소개

所以,以下这些值都是对象: "wupeiqi"、38、['北京', '上海', '深圳'],并且是根据不同的类生成的对象。

Python 학습 기초의 기본 데이터 유형 소개


二、基本数据类型

1、数字:1231

ps:

age = 18

2、int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,而.在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

ps:

数字  int ,所有的功能,都放在int里 
a1 = 123 
a1 = 456
로그인 후 복사

1、将字符串转换为数字

#!/usr/bin/env python
# -*- coding:utf-8 -*-      
#Author: nulige
 
a = "123"
print(type(a),a)  #输出他是什么类型,并转换为数字

b = int(a)
print(type(b),b)  #输出他是什么类型,并转换为数字
로그인 후 복사

执行结果:

(<type &#39;str&#39;>, &#39;123&#39;)
(<type &#39;int&#39;>, 123)
로그인 후 복사

2、把这个字符串以16进制的方式转成10进制

#!/usr/bin/env python
# -*- coding:utf-8 -*-      
#Author: nulige

#二进制表示方法:
#00   10    11    #二进制
#1     2     3    #十进制
#把这个字符串以16进制的方式,转成10进制
num = "0011"   #字符串
int(num)
v = int(num, base=2)    #base=2  以二进制的方式进行
v = int(num, base=16)   #base=16 就是转成16进制
print(v)
로그인 후 복사

执行结果:

1 17
로그인 후 복사

3、将16进制转成10进制

#!/usr/bin/env python
# -*- coding:utf-8 -*-      
#Author: nulige

#把b以16进制的方式转成10进制
num = "b"
v = int(num,base=16)
print(v)
로그인 후 복사

执行结果:

1 11
로그인 후 복사

常识:

1个字节=8位

1个汉字=3个字节

gb2312=2汉字

utf-8=3汉字(表示:最少3个汉字)

4、当前数字的二进制,至少用n位表示

#当前数字的二进制,至少用n位表示
age = 5
# 1  1     #表示二进制,用几位表示
# 2  10
# 3  11
# 4  100
# 5  101
r = age.bit_length()
print(r)
로그인 후 복사

执行结果:

1 3  #表示位数
로그인 후 복사

2、字符串:

表示方法:

  a1 = "asdf" #第一种 “”

  a1 = ‘ffa’ #第二种‘’

  a1 ="""assdfafdsafdas""" #第三种“““ ”””

1、首字母大写:capitalize()

#!/usr/bin/env python
# -*- coding:utf-8 -*-      
#Author: nulige

#首字母大写
test = "aLex"
v = test.capitalize()   #首字母大写
print(v)
로그인 후 복사

执行结果:

1 Alex
로그인 후 복사

2、功能:所有变小写

二者对比:casefold更牛逼,很多未知的对相应变小写

#!/usr/bin/env python
# -*- coding:utf-8 -*-      
#Author: nulige

#所有变小写,casefold更牛逼,很多未知的对相应变小写
test = "aLex"
v1 = test.casefold()
print(v1)
v2 = test.lower()
print(v2)
로그인 후 복사

执行结果:

1 alex2 alex
로그인 후 복사


3、设置宽度并将内容居中

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

# 3、设置宽度并将内容居中
# 20代指总长度
# * 代表空白未知填充 ,一个字符,可有可无
a1 = "alex"
ret = a1.center(20, &#39;*&#39;)
print(ret)
로그인 후 복사

执行结果:

1 ********alex********
로그인 후 복사


4、去字符串中寻找,寻找子序列出现的次数

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

# 去字符串中寻找,寻找子序列出现的次数
a1 = "alex is alph"
ret = a1.count("a")
ret = a1.count("al",0,10)
print(ret)
로그인 후 복사

执行结果:

1 2
로그인 후 복사
로그인 후 복사

5、查看是否已什么结尾

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

# 查看是否已什么结尾
# 查看是否已什么开始
name = "xiaoMing"
v = name.endswith(&#39;g&#39;)
v1 = name.startswith(&#39;e&#39;)
print(v)
print(v1)
로그인 후 복사

执行结果:

1 True2 False
로그인 후 복사

6、从开始往后面找,找到第一个之后,获取其位置,未找到返回一个-1

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

# 6、从开始往后面找,找到第一个之后,获取其位置,未找到返回一个-1
name = "xiaoming"
v = name.find(&#39;ao&#39;,2,6)#从那个位置开始找  前面的是大于等于 后面是小于
# print(v)
name = "xiaoming"   #index 用法同find 但是如果index找不大值直接报错
v = name.index("ming")
print(v)
로그인 후 복사

执行结果:

1 4
로그인 후 복사


7、格式化输出,将一个字符串中的占位符替换为指定的值

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

#格式化输出,将一个字符串中的占位符替换为指定的值
test = &#39;i am  {name},age {a}&#39;
print(test)
v = test.format(name = &#39;xiaoming&#39;,a = 24)
print(v)
test = &#39;i am  {0},age {1}&#39;
print(test)
v = test.format(&#39;xiaoming&#39;,24)
print(v)
로그인 후 복사

执行结果:

i am  {name},age {a}
i am  xiaoming,age 24
i am  {0},age {1}
i am  xiaoming,age 24
로그인 후 복사
로그인 후 복사


9、test.format_map的方法类似format 区别如下图

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

#test.format_map的方法类似format 区别如下图
test = &#39;i am  {name},age {a}&#39;
print(test)
v = test.format(name = &#39;xiaoming&#39;,a = 24)
v1 = test.format_map({"name":"xiaoming","a":19})
print(v)
print(v1)
로그인 후 복사

执行结果:

i am  {name},age {a}
i am  xiaoming,age 24
i am  {0},age {1}
i am  xiaoming,age 24
로그인 후 복사
로그인 후 복사


9、判段字符串中是否只包含字母和数字

name = "uuuuaa888"
v = name.isalnum()
print(v)
로그인 후 복사


执行结果:

1 True
로그인 후 복사
로그인 후 복사


10、expandtabs,断句20,\t表示六个字符,不够的空格补齐6个。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

#expandtabs,断句20,\t表示六个字符,不够的空格补齐6个。
test = "username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123"
v = test.expandtabs(20)
print(v)
로그인 후 복사

执行结果:

username            email               password
laiying             ying@q.com          123
laiying             ying@q.com          123
laiying             ying@q.com          123
로그인 후 복사


3、long(长整型)

为什么会有这个概念呢?

因为在Python2.2起,如果放置在内存里的数特别大发生溢出,Python就会自动将整型数据转换为长整型,但是现在,在Python3里就不存在长整型这么一说了,同意都是整型。

4、float浮点型

简单理解就是带有小数的数字

5、complex(复数)

复数是由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y呢是复数的虚数部分,这里的x和y都是实数。

5、布尔值(0或1)

就是真和假。

True/False

a4 = True #真

a5 = False #假

7、查看数据类型(type)

>>> type(1) 
<class &#39;int&#39;> 
>>> type(1.2) 
<class &#39;float&#39;> 
>>> type(jixuege) 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
NameError: name &#39;jixuege&#39; is not defined

上面报错原因就是没有用双引号引起来,他就不是字符串,而是认为是一个变量。 
>>> type("jixuege") 
<class &#39;str&#39;>
로그인 후 복사


三、for和while循环

这里呢就需要涉及到breakcontinue的区别了。

如何理解呢?

break: 只能跳出当前循环,当前这一套循环就结束了。

continue: 跳出当次循环,然后呢还会去继续下一次别的循环。

for循环示例1:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

for i in range(10):
    print("loop",i)
로그인 후 복사

执行结果:

loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
loop 7
loop 8
loop 9
로그인 후 복사


原理图:

Python 학습 기초의 기본 데이터 유형 소개

for循环示例2:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

for i in range(0,10,2):
    print("loop",i)
로그인 후 복사


执行结果:

loop 0
loop 2
loop 4
loop 6
loop 8
로그인 후 복사


原理图:

Python 학습 기초의 기본 데이터 유형 소개

for循环示例3:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

for i in range(0,10,3):
    print("loop",i)
로그인 후 복사

执行结果:

loop 0
loop 3
loop 6
loop 9
로그인 후 복사

for循环示例4:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

age_of_oldboy = 56
count = 0

while count <3:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy :
        print("yes, you got it. ")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller... ")
    else:
        print("think bigger!")
    count +=1
    if count == 3:
        countine_confirm = input("do you want to keep guessing..?")
        if countine_confirm != &#39;n&#39;:
            count = 0
else:
    print("you have tried too many times..fuck off")
로그인 후 복사

执行结果:

输入三次数字,按回车就继续,按n 就退出

guess age:1
think bigger!
guess age:23
think bigger!
guess age:3
think bigger!
do you want to keep guessing..?
guess age:1
think bigger!
guess age:2
think bigger!
guess age:3
think bigger!
do you want to keep guessing..?n
you have tried too many times..fuck off
로그인 후 복사

原理:

Python 학습 기초의 기본 데이터 유형 소개

for循环示例5:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

age_of_oldboy = 56
for i in range(3):
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy :
        print("yes, you got it. ")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller... ")
    else:
        print("think bigger!")
else:
    print("you have tried too many times..fuck off")
로그인 후 복사

执行结果:

guess age:23
think bigger!
guess age:58
think smaller... 
guess age:56
yes, you got it.
로그인 후 복사


原理图:

Python 학습 기초의 기본 데이터 유형 소개

for循环示例6:

说明:打印五次hehe...

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

for i in range(0,10):
    if i <5:
        print("loop ",i)
    else:
        continue
    print("hehe...")
로그인 후 복사

执行结果:

loop  0
hehe...
loop  1
hehe...
loop  2
hehe...
loop  3
hehe...
loop  4
hehe...
로그인 후 복사


for循环示例7:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

for i in range(10):
    print(&#39;-------------&#39;,i)
    for j in range(10):
        print(j)
로그인 후 복사

执行结果:

------------- 0
0
1
2
3
4
5
6
7
8
9
------------- 1
0
1
2
3
4
5
6
7
8
9
------------- 2
0
1
2
3
4
5
6
7
8
9
------------- 3
0
1
2
3
4
5
6
7
8
9
------------- 4
0
1
2
3
4
5
6
7
8
9
------------- 5
0
1
2
3
4
5
6
7
8
9
------------- 6
0
1
2
3
4
5
6
7
8
9
------------- 7
0
1
2
3
4
5
6
7
8
9
------------- 8
0
1
2
3
4
5
6
7
8
9
------------- 9
0
1
2
3
4
5
6
7
8
9

Process finished with exit code 0
로그인 후 복사


PyCharm代码调试

Python 학습 기초의 기본 데이터 유형 소개

break和continue的区别

示例1:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige

for i in range(10):
    print(&#39;-------------&#39;,i)
    for j in range(10):
        print(j)
        if j>5:
            break
로그인 후 복사

执行结果:

------------- 0
0
1
2
3
4
5
6
------------- 1
0
1
2
3
4
5
6
------------- 2
0
1
2
3
4
5
6
------------- 3
0
1
2
3
4
5
6
------------- 4
0
1
2
3
4
5
6
------------- 5
0
1
2
3
4
5
6
------------- 6
0
1
2
3
4
5
6
------------- 7
0
1
2
3
4
5
6
------------- 8
0
1
2
3
4
5
6
------------- 9
0
1
2
3
4
5
6
로그인 후 복사

示例2:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Author: nulige


for n in range(4):
    print(n)
    for j in range(3):
        if  j <2:
        #如果j小于2就跳出当次循环,继续一下次循环
            continue
        print(n,j)
로그인 후 복사

执行结果:


0 2
1 2
2 2
3 2
로그인 후 복사


说明:

在第二次的if判断中,我执行条件,如果j小于2就跳出当次循环,继续一下次循环

下面我们就看看break的使用

同样的代码,咋们接着看

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Author: nulige


for n in range(4):
    print(n)
    break
    for j in range(3):
        if  j <2:
        #如果j小于2就跳出当次循环,继续一下次循环
            continue
        print(n,j)
로그인 후 복사

0

小结:二者的区别,continue用于有很多次循环,然后呢,我不希望哪次循环执行下面的动作,就可以了使用continue ,而break呢就是我这次循环了以后我想跳出去不在循环,或者我写了一段代码,我想跳出去看看代码是否能执行,就可以用break。

作业一:编写登录接口

  • 输入用户名密码

  • 认证成功后显示欢迎信息

  • 输错三次后锁定

流程图

Python 학습 기초의 기본 데이터 유형 소개

实现代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige


count = 0
while count < 3:
    login = &#39;&#39;&#39;
Hello welcome to login Cnlogs!
    &#39;&#39;&#39;
    login2 = &#39;&#39;&#39;
Try again
    &#39;&#39;&#39;
    if count == 0:
        print(login)
    else:
        print(login2)
    user = input("please input your name:")
    password = input("please input your password:")
    accept = str(user + password)
    for line in open("C:\\Users\\Administrator\\Desktop\\file.txt"):
        line = line.strip("\n")
        if accept == line:
            print("Welcome to login Cnlogs",user)
            exit()
            break
        else:
            continue
    print("Your password or username is wrong")
    count +=1
    if  count == 3:
        print("fuck off")
로그인 후 복사


file文件路径
로그인 후 복사


file文件路径:C:\\Users\\Administrator\\Desktop\\file.txt"
로그인 후 복사


file文件内容
로그인 후 복사
nulige123456
alex123456

#说明(把输入的用户名和密码,拼接为一个字符串。)
#username:nulige
#password:123456
로그인 후 복사


执行结果:

说明:输入正确用户名和密码。比对正确,显示欢迎信息。

Hello welcome to login Cnlogs!
    
please input your name:nulige
please input your password:123456
Welcome to login Cnlogs nulige
로그인 후 복사

说明:输入三次错误的用户名和密码,第三次还错误就锁定。

Hello welcome to login Cnlogs!
    
please input your name:huzhihua
please input your password:11111
Your password or username is wrong

Try again
    
please input your name:skfjdskfjdsk
please input your password:321321
Your password or username is wrong

Try again
    
please input your name:fdskfjsk
please input your password:3333
Your password or username is wrong
fuck off
로그인 후 복사

三、思路和遇到的坑。

1、把正确的用户名密码,存放在一个文本文件中。

2、用户名与密码,是两个独立的字符串,存放的时候把它俩加在一起,变成了“用户名密码”。

3、获取输入的用户名密码后,同样把用户名与密码拼接为“用户名密码”,来与文件中记录的用户名密码进行逐行对比。

4、坑!记录的文件中有换行符\n,也就是说“用户名密码\n”,但是输入的却没有“用户名密码”,导致字符串效验总是失败。

5、通过strip("\n")来去掉换行符。


python strip()函数 去空格\n\r\t函数的用法

在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数:

strip 同时去掉左右两边的空格
lstrip 去掉左边的空格
rstrip 去掉右边的空格

具体示例如下:
>>>a=" gho stwwl "
>>>a.lstrip() 'gho stwwl '
>>>a.rstrip() ' gho stwwl'
>>>a.strip() 'gho stwwl'

声明:s为字符串,rm为要删除的字符序列
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符

注意:
1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')

>>> a = ' 123'
>>> a.strip()
'123'
>>> a='\t\tabc'
'abc'
>>> a = 'sdff\r\n'
>>> a.strip()
'sdff'

2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。

>>> a = '123abc'
>>> a.strip('21')
'3abc' 结果是一样的
>>> a.strip('12')
'3abc'

作业二:多级菜单

  • 三级菜单

  • 可依次选择进入各子菜单

  • 所需新知识点:列表,字典

menu = {
    &#39;北京&#39;:{
        &#39;海淀&#39;:{
            &#39;五道口&#39;:{
                &#39;soho&#39;:{},
                &#39;网易&#39;:{},
                &#39;google&#39;:{}
            },
            &#39;中关村&#39;:{
                &#39;爱奇艺&#39;:{},
                &#39;汽车之家&#39;:{},
                &#39;youku&#39;:{},
            },
            &#39;上地&#39;:{
                &#39;百度&#39;:{},
            },
        },
        &#39;昌平&#39;:{
            &#39;沙河&#39;:{
                &#39;老男孩&#39;:{},
                &#39;北航&#39;:{},
            },
            &#39;天通苑&#39;:{},
            &#39;回龙观&#39;:{},
        },
        &#39;朝阳&#39;:{},
        &#39;东城&#39;:{},
    },
    &#39;上海&#39;:{
        &#39;闵行&#39;:{
            "人民广场":{
                &#39;炸鸡店&#39;:{}
            }
        },
        &#39;闸北&#39;:{
            &#39;火车战&#39;:{
                &#39;携程&#39;:{}
            }
        },
        &#39;浦东&#39;:{},
    },
    &#39;山东&#39;:{},
}


exit_flag = False
current_layer = menu

layers = [menu]

while not  exit_flag:
    for k in current_layer:
        print(k)
    choice = input(">>:").strip()
    if choice == "b":
        current_layer = layers[-1]
        #print("change to laster", current_layer)
        layers.pop()
    elif choice not  in current_layer:continue
    else:
        layers.append(current_layer)
        current_layer = current_layer[choice]
로그인 후 복사


위 내용은 Python 학습 기초의 기본 데이터 유형 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿