python入门前期笔记及示例

day01

python语言是一种面向对象的解释性计算机程序设计语言

面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用

面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为。

day02

注释:

单行注释:# 
多行注释:ctrl+?  或者  """   """
回到上一步:ctrl+z     前进到下一步:ctrl+y

代码中的波浪线:

灰色波浪线:代码不够规范
绿色波浪线:单词拼写错误或警告信息
红色波浪线:报错 语法检查

报错解决:

1.先看是什么错(红色最后一行)
2.定位到报错的那一行,如果这行没错,查看上一行有没有错
​
SyntaxError: invalid synatx 这是语法错误(多写或者少写了什么符号,或者其他小错误)
NameError: name 'xxxx' is not defined 
这是命名错误,有可能是上面没有定义这个名字,或者是这个方法名和python内置的方法名或属性不匹配
IndentationError: unexpected indent 缩进错误 空格多了
​
​

end语法:

print('tan',end='')
print('ke')
输出结果:tanke          不加end       输出结果:   tan
                                                  ke

变量:内存条给要存储的数据开辟了一个小小的房间

概念:描述计算机中的数据存储空间
作用:在计算机内存中保存数据

命名规则:

1、只能由数字,字母,_(下划线)组成
2、不能以数字开头
3、不能是关键字
4、区分大小写
变量 = 值

命名约定:

下划线分割法:
user_name = 1
print(user_name)
大驼峰命名法:
FristName = 2
print(FristName)
小驼峰命名法:
secondName = 3
print(secondName)

lg_one:

_ _ a = 1 编程中一个等号代表赋值,把后面的结果赋值给前面的变量,相当于用_ _a来表示这个1

编程中先看等号后面的内容,再看前面的变量

lg_two:

y=1
x=10
x=x+1  # x=11
y+x+1
print(x+y)
输出:12

day03

浮点数

a=1.11212

整型

b=2
print(a+b)    #3.11212

复数

c=2.2+1j  #分成实部和虚部,虚部带一个j
print(c)  #(2.2+1j)

布尔类型

#True在做运算的过程中,会把它变成1
#False在做运算的过程中,会把它变成0
t=True
f=False
x=b+f
print(x)   #1
#在作为判断条件时,结果只要是非0数字,那么就相当于是True
#在作为判断条件时,如果是0,那么就相当于是False
​
# name=100
# f=False
# t=True
# print(name+f-t)       #99

字符串

a='123'                 print(a)        #123
b="123"                 print(b)        #123
c=""""""                print(c)        #
​
a="123"
d=123
a=int(a)            #使用int()  进行强制转化为数字类型
print(d+a)          #246
​
a="123"
d=123
d=str(d)            #使用str()  进行强制转化为字符串类型
print(d+a)          #123123

格式化输出:

a=1.5
b=1
print(str(a)+'+'+str(b)+'='+str(a+b))       #1.5+1=2.5
print('%.1f+%d=%.1f'%(a,b,a+b))             #1.5+1=2.5
​
​
if 1+1:
    print(123)                              #123

day04

算术运算符:

a=12 b=3 c=7         print(a+b)     #15
                     print(a-b)     #9
                     print(a/b)     #4.0
                     print(a*b)     #36
                     print(a**b)    #**表示:a的b次方 a*a*a
a=12 b=3.1 c=7       print(a/b)     #4.0两个数相除,得到的结果是浮点数    
                     print(a//b)    #//表示向下取整

比较运算符:

a=12 b=31 c=12       print(a>b)     #False
                     print(a<b)     #True
                     print(a==b)    #False
                     print(a>=b)    #False
                     print(a<=b)    #True 满足其中一个答案即为True
                     
                     

逻辑运算符:

and逻辑"与"两个为真才为真:

print(True  and True)               True
print(True  and False)              False
print(False and True)               False
print(False and False)              False

or逻辑"或"两个为假才为假:

print(True  or True)                True
print(True  or False)               True
print(False or True)                True
print(False or False)               False

not逻辑"非"真变假,假变真:

print(not True)                     False
print(not False)                    True

lg_one:

a=12    b=31    c=12
print(a>b)                          #False
print(a<b)                          #True
print(a==b)                         #False
print(a>=b)                         #False
print(a<=b)                         #True
print(a!=b)                         #True
​
print(a<b and a== b)                #False
print(a<b and a!=b )                #True
​
print(a<b or a==b )                 #True
​
print(not a<b )                     #False
​
t=Ture f=False      printf(True and False) #False

常用的ASCLL码值:

数字0-9   对应ASCLL码    48~57
字母A-Z   对应ASCLL码    65~90
字母a~z   对应ASCLL码    97~122

将字符转化为ASCLL码:

a='A'
b=70
print(ord(a))#65        #ord()的作用是将字符转化为ASCLL码
print(chr(b))#F         #chr()的作用就是将ASCLL码转化为字符

如何在控制台上使用input输入两个1,得到1+1=2:

a=int(input('请输入第一个数:'))
b=int(input('请输入第二个数:'))
print("%d+%d=%d"%(a,b,a+b))

day05

type()函数:验证数据类型:

a=type(1)                   print(a)        #<class 'int'>
b=type('tk')                print(b)        #<class 'str'>
c=type(1.23456)             print(c)        #<class 'float'>

math方法:

求绝对值:

a=-5
math.fabs(a)            #fabs()求绝对值
5.0
abs(a)                  #内置函数abs求绝对值
5
注:若a是浮点数,则abs返回浮点数值。

用round(x)四舍五入,x为浮点数:

round(x)不是math模块里的函数,而是默认内置函数,但是其可以对浮点数进行四舍五入。
round(8.5)
8
round(3.4)
3

求和:

a=(4,5,6)
math.fsum(a)     #求集合里的元素的和
15.0
b=(4,5,6)
sum(b)
15
c=(1.2,2.2,3.1)
sum(c)
6.5
​

fsum(x)函数与内置函数sum(x)作用类似,唯一区别:前者一律返回浮点数,后者整型元素返回整型和,浮点数元素返回浮点数和。

pow():方法返回 xy(x的y次方) 的值:

a=pow(2,3)
print(a)

内置函数:

ord(c),其中c为字符,返回对应的ASCII码
与ord()对应,chr()参数为一个0~255的数字,返回对应的字符
str.upper(),将字符串str中的小写字母变成大写
sum(a[n]),其中a为可迭代对象,[]中的内容表示可选参数。该函数做的事情是,先计算a中的元素和,再将计算的结果加n,得到最终结果。
input:接受一个标准输入数据,返回为 string 类型。

随机数:random()

返回0与1之间的随机浮点数N,范围为0<=N<1.0
import random
# 生成一个随机数
print("random():", random.random())
# 生成第二个随机数
print("random():", random.random())
​
生成:   random(): 0.47857371325509135     random(): 0.3781973191234125
        random(): 0.9557827690139428      random(): 0.12921621403507322
random.randint(a,b)
返回一个随机的整数N,N的取值范围为a<=N<=b。需要注意的是,a和b的取值必须为整数,并且a的值一定要小于b的值
import random
print(random.randint(12, 20))           # 生成一个随机数N,N的取值范围为12<=N<=20
print(random.randint(20, 20))           # 生成的随机数为N,N 的结果永远为20
​
​
print(random.randint(20, 10))           # 该语句是错误语句,下限a必须小于上线b
random.randrange(start, end, step)
返回指定递增基数集合中的一个随机数,基数默认值为1。
start参数用于指定范围内的开始值,其包含在范围内;
end参数用于指定范围内的结束值。其不包含在范围内;
sep表示递增基数上述这些参数必须为整数;
例如,random.randrange(10,100,2)相当于从[10,12,14,16…98]序列中获取一个随机数。
​
import random
print(random.randrange(10, 100, 2))     #96 54  38

day06:

If   判断条件1:
     执行语句
elif 判断条件2:
     执行语句2
else:
     执行语句3
##或只要if判断   或者是if-else 判断  或者是if-elif-else 判断

if语句的应用:

# 成绩的优良
# (判断如果分数大于等于90小于100为优秀,大于等于80小于90为良好,大于等于70小于80为及格,小于70为不合格)
grade = int(input("请输入分数"))
if 100 > grade >= 90:
    print("优秀")
elif 90 > grade >= 80:
    print("良好")
elif 80 > grade >= 70:
    print("及格")
elif 70 > grade:
    print("不合格")
#减肥计划:
activity = input("请输入星期数")
if activity =="1":
    print("跑步")
elif activity == "2":
    print("游泳")
elif activity == "3":
    print("健身")
elif activity == "4":
    print("动感单车")
elif activity == "5":
    print("爬山")
elif activity == "6":
    print("好好吃一顿")
elif activity == "7":
    print("拳击")
else :
    print('没有星期八啦')
#判断一个数是偶数还是奇数还是负数
​
number = int(input("判断"))
if number >= 0:
    if number%2==0:
        print("偶数")
    else:
        print("奇数")
else :
    print("负数")
#外卖结算程序
#满100-50 50-20 30-10 会员打8折
​
vip = input("是否为会员:")
price = float(input("请输入价钱"))
if price>=100:
    price-=50
elif price>=50:
    price-=20
elif price>=30:
    price-=10
if vip == "是":
    price*=0.8
    print(round(price,2))
else:
    print(price)

day07:

练习:

#判断给定年份是否是闰年
year = int(input("请输入年份"))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print("闰年")
else:
    print("平年")

while循环:

例题讲解:

# 循环: 倒计时
import time
count = 5
while count >= 1:  #循环范围
    print(count)
    count -= 1     #循环怎么变,自增还是自减
    time.sleep(1)
print("boom boom~~~~~")
# 循环: 0-100 的偶数
count = 100
while count >= 0:  # 循环范围
    print(count)
    count -= 2  # 循环怎么变,自增还是自减
# 循环: 数字累加求和
count = 0
sum = 0
while count <= 100:  
    sum += count
    count += 1
print(sum)
# 循环: 三位数中,35的倍数的数值之和
count = 100
sum = 0
while count <= 999:
    if count % 35 == 0:
        sum += count
    count += 1
print(sum)
# 循环: 三位数中,回文(121 131 141 151)
count = 101
while count <= 999:
    if count // 100 == count % 10:
        print(count)
    count += 1
# 循环:break 终止循环
import time
count = 0;
while count <= 5:
    time.sleep(1)
    print(count)
    if count == 3:
        break
    count += 1
# 循环:countinue 
import time
count = 0;
while count <= 5:
    time.sleep(1)
    print(count)
    if count == 3:
        continue        #遇到countinue,下面的代码不会执行
    count += 1
输出:0    1   2   3   3   3   3   ......
    
# 循环:countinue
import time
count = 0;
while count <= 5:
    time.sleep(1)
    count += 1
    if count == 3:
        continue        #遇到countinue,下面的代码不会执行
    print(count)
输出:1    2   4   5   6

day08:

换行:

i=0
while i<3:
    j=0
    while j<3:
        print(j,end=" ")      ##end=""不换行
        j+=1
    print()                   ##换行
    i+=1

#九九乘法表:

i=1
while i<10:
    j=1
    while j<=i:
        print("%d*%d=%d"%(j,i,i*j),end=" ")
        j+=1
    print()
    i+=1
    
输出:   
1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
​
# for  in  :
for i in "tanke":
    print(i,end=" ")
输出:
t a n k e

range()内建函数:

range(start,end,step =1)返回一个包含所有K的列表,start<=K<end,K每次递增step
​
for i\
        in range(1,6):          #1,2,3,4,5    如果不写第一个数字那么,默认从0开始
    print(i,end=" ")            #反斜杠,超长换行符

# 例题尝试:

for j in\
        range(3,1,-1):
    print(j, end=" ")
    
输出:3 2
​
for j in\
        range(3,1):
    print(j, end=" ")
    
输出:1 4 7
​

利用for in求0-100奇数偶数和以及阶乘:

sum1=0
for ou1 in range(0,101,2):
    sum1+=ou1
print(sum1)
输出:2550
​
sum2=0
for ou2 in range(1,100,2):
    sum2+=ou2
print(sum2)
输出:2500
​
b=int(input("输入"))
c=1
for i in range(1,b+1):
    c*=i
print(c)
输入:9
输出:362880
# 注册功能
i = 3
name = str(input("请输入想注册的账号:"))
print("账号注册成功,请输入密码:")
passwd = str(input(""))
print("用户注册成功")
print("您的账号是:%s" % name)
print("您的密码是:%s" % passwd)
# 登录功能(让用户输入用户名、密码对比)
a = str(input("账号:"))
while a == name:
    while i > 0:
        b = str(input("密码:"))
        if b == passwd:
            print("登录成功")
            i=-1
            break
        else:
            i -= 1
            print("密码输入错误,你还有%d次机会" % i)
    if i == 0:
        print("密码错误次数过多,请15分钟之后再试")
​

day09:

# 有猜数字游戏,其游戏规则为:
# 1). 程序内置一个 1 到 100 之间的数字作为猜测的结果,由用户猜测此数字(仅5次机会)。
# 2). 用户每猜测一次,由系统提示猜测结果:大了、小了或者猜对了;
# 3). 直到用户猜对结果,则提示游戏胜利。用户可以提前退出游戏,即,游戏过程中,如果用户录入数字0,或者超过5次机会,则游戏失败。
import random
number = random.randint(1, 100)
# print(number)
i = 4
j = 0
while 0 <= i < 5:
    guess = int(input("请输入你猜的数:"))
    j += 1
    if guess == 0:
        print("退出游戏成功!")
        i = -1
    elif guess == number:
        print("系统提示:猜对了,游戏胜利!")
        i = -1
    elif guess != number:
        i -= 1
        if guess > number:
            print("系统提示:猜大了.")
            print("你还剩%d次机会" % (i + 1))
        elif guess < number:
            print("系统提示:猜小了")
            print("你还剩%d次机会" % (i + 1))
    if j > 4:
        print("系统提示:游戏失败!")

day10:

#石头剪刀布游戏
import random
while True:
    print("1:石头 2:剪刀 3:布 0:退出")
    a = random.randint(1, 3)
    if a == 1:
        print("电脑:石头")
    elif a == 2:
        print("电脑:剪刀")
    elif a == 3:
        print("电脑:布")
    b = int(input("玩家:"))
    if b == 0:
        print("游戏结束")
        break
    if (a == 1 and b == 3) or (a == 2 and b == 1) or (a == 3 and b == 1):
        print("玩家赢")
    elif a == b:
        print("平局")
    else:
        print("玩家输")
​
输出:
1:石头 2:剪刀 3:布 0:退出
电脑:剪刀
玩家:1
玩家赢
1:石头 2:剪刀 3:布 0:退出
电脑:剪刀
玩家:3
玩家输
1:石头 2:剪刀 3:布 0:退出
电脑:剪刀
玩家:2
平局
1:石头 2:剪刀 3:布 0:退出
电脑:石头
玩家:0
游戏结束

输入两个数值, 求两个数的最大公约数和最小公倍数:

a, b = b, a%b 这个表达式的意思就是说,先计算=号的右边b的值,a%b的值,算好了,然后再分别赋值给a 和b就可以了

1. 最大公约数就是A和B能整除的最大的数;
2. 求最大公约数(gys)算法:
方法1: 欧几里得法(辗转相除法)
    1). 整数A对整数B进行取整, 余数用整数C来表示    举例: C = A % B
    2). 如果C等于0,则C就是整数A和整数B的最大公约数
    3). 如果C不等于0, 将B赋值给A, 将C赋值给B ,然后进行 1, 2 两步,直到余数为0, 则可以得知最大公约数。
​
# 最大公约数(gcd)和最小公倍数(lcm)
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
while a % b != 0:
    a, b = b, a % b
else:
    gcd = b
    print(b)
lcm = a*b/gcd
print(lcm)
    

序列:

  list.remove() 删除列表中的指定元素。
  list.pop()    根据元素的索引值进行删除指定元素。
  list.clear()  清空列表里面的所有元素。
  list.sort()   进行升序排列
  list.insert(index, object)    在指定位置添加元素
  list.append(元素)              直接在列表中加元素
  list.index()  查看某个列表元素的下标
  list.count()  查看某个列表元素出现的次数
  list.len()    测量列表的长度
  del(list[])   列表的删除
​

a = [1, 2, "st", ["A", 1, 3], ['*&*', 't', '     ', 'k', 3]]
i = 0
while 0 <= i:
    print(a[i])
    i += 1;
    if i == 5:
        break
print(a[4][3])
print()
list4 = [1, 2, [1, 2, 3, [6, 1]]]
print(list4[2][3][0])
​

(列表)末尾增:

列表.append(元素)
##list.append(1)使用列表
append(元素) 来往列表的末尾增加元素:
list=[1,2,3,[1,'a']]
list.append(1)
print(list)
输出:[1, 2, 3, [1, 'a'], 1]
​
list.append('str')
print(list)
输出:[1, 2, 3, [1, 'a'], 1, 'str']
​
list.append([1,2,'a','b'])
print(list)
输出:[1, 2, 3, [1, 'a'], 1, 'str', [1, 2, 'a', 'b']]

(列表)插入增:

列表.insert(1,'a')
## 1是第几个逗号之后插入
## 'a'是要插入的东西
list1 = [1, 2, 3, 4]
list1.insert(1,'a')
print(list1)
​
输出:[1, 'a', 2, 3, 4]
list2 = [1, 2, 3, 4]
list2.insert(3,"nihao")
print(list2)
​
输出:[1, 2, 3, 'nihao', 4]
list3=[1,'2','3']
list3.insert(3,'nihao')
print(list3)
​
输出:[1, '2', '3', 'nihao']
##怎么样在列表的最里面的1,2,3,的后面加上一个4
​
list4 = [1, 2, 3, [1, 2, 3, [1, 2, 3]]]
list4[3][3].append(4)
print(list4)
list4[3][3].insert[3,4]
print(list4)
​
输出:[1, 2, 3, [1, 2, 3, [1, 2, 3, 4]]]

(列表)替换:

list1 = [1, 2, 3, 4, 5]
list1[2] = 6        ##将第二个逗号后面的元素替换成6
print(list1)
​
输出:[1, 2, 6, 4, 5]
​
list1[4]="nihao"    ##将第4个逗号后面的5改成"nihao"
print(list1)
输出:[1, 2, 5, 4, 'nihao']

(列表)删除:

列表.remove(元素)
##列表的删除功能
list1=[1,2,3,4,5]
list1.remove(5) ##删除列表最末尾的5
print(list1)
​
输出:[1, 2, 3, 4]
​
##  ##通过下标删元素
users = ['root','user']
users.pop(0)
print(users)
users = ['root','user']
password=['123','456']
#列表.index(元素)   即可得到一个下标的结果
UserIndex=users.index('root')
#怎样通过UserIndex获取到password中对应的密码
password.pop(userIndex)
print(password)
#切片
# list_arr1 = [1, 2, 3, 67, 7]
# print(list_arr1[-1])
#
# list_arr2 = [1, 2, 3, 67, 7]
# print(list_arr2[-1:])
#
# list_arr3 = [1, 2, 3, 67, 7]
# print(list_arr3[:-1])
#
# list_arr4 = [1, 2, 3, 67, 7]
# print(list_arr4[:-2:])
#
# list_arr5 = [1, 2, 3, 67, 7]
# print(list_arr5[:-2])
#
# list_arr6 = [1, 2, 3, 67, 7]
# print(list_arr5[-2:])
# list=[1,2,3,4,5,6]
​
# list.reverse() #列表中的元素反置
# 输出:[6, 5, 4, 3, 2, 1]
​
# length=len(list)    #测列表的长度
# print(length)
​
# aNum = [5, 7, 99, 1, 4, 100, 18, 76]
# ou = []
# ji = []
# for i in aNum:
#     if i % 2 == 0:
#         ou.append(i)
#     else:
#         ji.append(i)
# ou.sort()  # 升序
# ji.sort(reverse=True)  # 降序
# ou.extend(ji)  # 拼接
# print(ou)

列表案例:

# list=[1,2,3,4,5,6]
​
# list.reverse() #列表中的元素反置
# 输出:[6, 5, 4, 3, 2, 1]
​
# length=len(list)    #测列表的长度
# print(length)
​
# aNum = [5, 7, 99, 1, 4, 100, 18, 76]
# ou = []
# ji = []
# for i in aNum:
#     if i % 2 == 0:
#         ou.append(i)
#     else:
#         ji.append(i)
# ou.sort()  # 升序
# ji.sort(reverse=True)  # 降序
# ou.extend(ji)  # 拼接
# print(ou)

# 会员信息系统
import time
​
print("会员信息管理系统".center(26, '*'))
admin_user = 'tan'
admin_password = 'ke'
list_zh = []
list_pwd = []
i=3
​
while i:
    user_input = input('请输入管理员账号:')
    pwd_input = input('请输入管理员密码:')
    if user_input == admin_user and pwd_input == admin_password:
        print('管理员登录成功!'.center(16, '☆'))
        print('欢迎回来'.center(20, '☆'))
        time.sleep(2)
        while True:
            print("""
              ☆☆☆☆☆☆会员操作☆☆☆☆☆☆
        1-  ☆☆☆☆☆☆添加会员信息☆☆☆☆☆☆
        2-  ☆☆☆☆☆☆删除会员信息☆☆☆☆☆☆
        3-  ☆☆☆☆☆☆查看会员信息☆☆☆☆☆☆
        4-  ☆☆☆☆☆☆修改会员信息☆☆☆☆☆☆
        5-       ★★★★★退出★★★★★
        """)
            a = int(input("您要进行的操作是:"))
            if a == 1:
                print('添加会员信息'.center(16, '★'))
                print()
                list_zh.append(input("您要添加的账号:"))
                list_pwd.append(input("您要添加的密码:"))
                print("添加成功!")
                time.sleep(2)
            elif a == 2:
                print('删除会员信息'.center(16, '★'))
                del_name = input("请输入要删除的会员账号:")
                if del_name not in list_zh:
                    print("用户名%s不存在,请重新操作!" % del_name)
                else:
                    listIndex = list_zh.index(del_name)
                    list_zh.remove(del_name)
                    list_pwd.pop(listIndex)
                    print("用户%s删除成功!" % del_name)
                    time.sleep(2)
            elif a == 3:
                print('查看会员信息'.center(16, '★'))
                print("会员信息".center(10, '☆'))
                listLen = len(list_zh)
                print('\t用户名\t密码')
                for i in range(listLen):
                    print("\t%s\t%s" % (list_zh[i], list_pwd[i]))
                    time.sleep(2)
            elif a == 4:
                print('修改会员信息'.center(16, '★'))
                j = input("请输入要修改的账号:")
                if j not in list_zh:
                    print('要修改的账号不存在,请重新操作!')
                else:
                    b = (list_zh.index(j) - 1)
                    list_zh[b] = input("请输入修改后的账号:")
                    while list_zh[b] == j:
                        print("账号不能与上次相同,请重新输入:")
                        list_zh[b] = input("")
                J = input("请输入要修改的密码:")
                if J not in list_pwd:
                    print('要修改的密码不存在,请重新操作!')
                else:
                    B = (list_pwd.index(J) - 1)
                    list_pwd[B] = input("请输入修改后的密码:")
                    while list_pwd[B] == J:
                        print("密码不能与上次相同,请重新输入:")
                        list_pwd[B] = input("")
                        print("修改成功!")
                time.sleep(3)
            elif a == 5:
                print("欢迎下次使用!")
                print('再见'.center(20, '★'))
                time.sleep(3)
                exit()
            else:
                print("""
        1.添加
        2.删除
        3.查看
        4.修改
        5.退出""")
                print("系统无法识别您的指令,稍后请重新输入!")
                time.sleep(3)
    else:
        i-=1
        print('登录失败,请输入正确的管理员账号和密码!')
        print('你还有%d次机会'%i)

list1 = [i for i in range(1, 11, 2)]
print(list1)
list2 = [i * 2 for i in range(1, 11, 2)]
print(list2)
list3 = [i for i in range(1, 11) if i % 2 == 0]
print(list3)
list4 = ['a', 'b', 'c']
list4 = [i * 2 for i in list4 if i == 'b']
print(list4)
​
x = y = [1, 2, 3]
z = [1, 2, 3]
print(x == y)
print(x == z)  # == 判断的是元素的值是否相等
print(x is y)  # is 判断的是两个元素内部的id是否相等
print(x is z)
print(id(x))
print(id(z))
​
a = b = 4
c = 4
print(a is c)   #   单独的元素内部id是相同的

深拷贝与浅拷贝:

import copy
​
a = [1, 2, 3]
b = [3, 4, 5]
m = a  # 赋值引用同一个列表内容
print(id(a))
print(id(m))
c = [a, b]
print(id(c[0]))
d = copy.copy(c)
print(id(c[0]))
print(id(d[0]))
d[0].append('a')
print(c)
print(d)
d = copy.deepcopy(c)
print(id(c[0]))
print(id(d[0]))
d[0].append('a')
print(c)
print(d)
# 两个变量各有各的值,互不影响
# 内存地址不同
# 改变其中元素不会影响另一个
​

深拷贝:

import copy
​
a = [1, 2, 3]
b = [3, 4, 5]
c = [a, b]
d = copy.deepcopy(c)
print(id(c[0]))
print(id(d[0]))
d[0].append(4)
print(c)
print(d)
# 两个变量各有各的值,互不影响
# 内存地址不同
# 改变其中元素不会影响另一个

元组:

tuple1 = ()  # 空元组
tuple2 = ('张三', 18, 1.87)
print(tuple2[0])
​
tuple3 = ('李四', 18, '男')
print(tuple3)
​
tuple4 = ('angel',)
print(tuple4)
name, age, gender = ('李四', 18, '男')
print(name)
print(age)
​
tuple5 = ('asxogijwkjngoisgdsnflj')
a = len(tuple5)
print(a)
print(tuple5.find('s', 0, 22))
​
list = [1, 2, 3]
tuple6 = tuple(list)  # 将列表强制转化为元组
print(tuple6)

字符串:

str1 = ('dd\tddd')
print(str)
​
str2 = ('dd\bddd')
print(str2)
​
str3 = ("dd\nddd")
print(str3)
str3 = ''     # 清空字符串
print(str3)
​
str4 = ('\"s\'')
print(str4)
​
str5 = ('dd \rddd')
print(str5)
​
​
输出:dddd
     dd
     ddd
​
     "s'
     ddd
  • 7
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值