zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python编程:日常练习-1

Python编程 练习 日常
2023-09-14 09:07:13 时间

1.运算符的优先级

print(3*1**3)  #3  相当于:3*(1**3)

这里写图片描述

2.小整数池

a = 1
b = 1
print(a is b)  # True

a = 300
b = 300
print(a is b) # True
# 在shell里是False

# [-5, 256]之间的整数,值相同的整数共享一个对象
# is 比较内存地址
# == 比较对象的值

3.字符串

def foo1(a):
    a = a +"2"
    a = a * 2
    return a

print(foo1("hello"))  # hello2hello2

# 操作符重载
# __add__(+)
# __mul__(*)

#例如:
class Point(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)

    def __mul__(self, other):
        return Point(self.x * other.x, self.y * other.y)

    def __repr__(self):
        return "Point({}, {})".format(self.x, self.y)

p1=Point(1,2)
p2=Point(3,4)
print(p1+p2) # Point(4, 6)
print(p1*p2) # Point(3, 8)

4.浮点数

print(0.3)   # 0.3
print(0.1 + 0.2)  # 0.30000000000000004
print(0.1 + 0.2 == 0.3)  # False

5.取反操作

print(~5)  # -6
print(~~5)  # 5
print(~~~5)  # -6
# ~按位取反,计算机以补码存储

6.布尔

print(bool("Flase"))  # True

这里写图片描述

7.链式比较

print(True == False )  # False
print(False ==False)  # True
print(True == False ==False)  # False
# 相当于  (True == False) and (False == False)

8.循环语句

i = 0
while i < 5:
    print(i)
    i += 1
    if i ==3:
        break
else:
    print(0)

"""
0
1
2
"""

9.作用域

x = 12 
def f1():
    x = 3
    print(x)

def f2():
    global x  # 没有这个声明报错,local variable 'x' referenced before assignment
    x += 1
    print(x)

f1()
f2()

10.python关键字

eval("1-1")  # eval不是关键字,是内建函数
assert(1 == 1)
pass
# nonlocal

import keyword
print(keyword.kwlist)
"""33
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 
'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
"""

习题来源:《Python知识冲顶大会》
http://mp.weixin.qq.com/s/4FfwEdPYhPoCAlKiz2Hk8w
习题解答:《这10个题,有 68% 的人答不对》
http://mp.weixin.qq.com/s/9PFo10K5xXYUZlL9x8QjBA