乱七八糟

import random
l = [11, 12, 31, 44, 'a']

# print(random.randint(1, 9))  # 1到9的整数 包括1和9
# print(random.randrange(1, 9, 2))  # 包括1,不包括9,可以设置step
# print(random.random())  # 0 到 1 的实数,不包括0,不包括1
# print(random.uniform(1, 9))  # 1 到 9 的实数,不包括1,不包括9

print(random.randrange(3))
print(random.sample(range(100),10))
print(random.choice(range(100)))
random.shuffle(l)  # 对list进行随机排序
# print(l)
# print(random.sample(l, 3))  # ['a', 44, 12] 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。
print(random.choice(l))  # 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。

2、字符串前加 r b u

  例:r"\n\n\n\n\n\n”

  作用:声明后面的字符串是普通字符串,相对的,特殊字符串中含有:转义字符 \n \t 什么什么的。

print(r"a:\c\b\d\n\r\t\f\e.txt")

a:\c\b\d\n\r\t\f\e.txt

等价于:

print("a:\\c\\b\\d\\n\\r\\t\\f\\e.txt")

b”前缀代表的就是bytes”

print(type(b'a'))  # <class 'bytes'>

print(b'a'[0])  # 97

    b”abcd” 相当于”abcd”.encode() 注意b只能装饰ASCII码,b”你好”  是错误的。

u”表示用unicode编码”

 

 

str.encode()

对字符串进行编码(默认Unicode)编码以后将变成一个字节组:bytes

如果对ASCII英文字符编码可以简写成:b”abcd

print("你好".encode())  # b'\xe4\xbd\xa0\xe5\xa5\xbd'    可以看出一个汉字占用3个字节

 

b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode()   # 你好    反向编码

 

 

一、全局函数:

round(奇进偶弃)

>>> round(10.5)

10

>>> round(11.5)

12

print(round(1.234, 2)) 1.23



 

id( ob) 函数用于获取对象内存地址。

isinstance 和 type 的区别在于:

    type()不会认为子类是一种父类类型。
    isinstance()会认为子类是一种父类类型。

 

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等

>>> a = [1, 2, 3]

>>> b = a

>>> b is a True

>>> b == a True

>>> b = a[:]

>>> b is a False

>>> b == a True

 

一、字符串

word = '字符串'

sentence = "这是一个句子。"

paragraph = """这是一个段落,

可以由多行组成"""

 

 

 str.title() 首字母变成大写,其余的改成小写

>>> name = 'i love you'

>>> print(name.title())

I Love You

>>>

 

str.strip(arg) 删除首尾的arg,默认是空格

str.rstrip(arg) 删除右边的arg

str.lstrip(arg) 删除左边的arg

 

    Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
    Python中的字符串不能改变。

    二、操作符

    5//2 整除(取整) 2

    2**3  2的3次方 8

     

    其它:

    屏幕上打印出空行,只要调用 print()就可以了,括号内没 有任何东西。

     

    int(6.7)  6

    int(‘6’)  6

    int(‘6.7’) ValueError: invalid literal for int() with base 10: '6.6'

 

将字符串当作代码执行:

LOC = """ 
def factorial(num): 
    fact=1 
    for i in range(1,num+1): 
        fact = fact*i 
    return fact 
print(factorial(5)) 
"""
exec(LOC)
# 120

 

import pprint

class A:
    def __repr__(self):
        print('__repr__')
        return "__repr__"

    def __str__(self):
        print('__str__')
        return "__str__"


a = A()
pprint.pformat(a)  # 调用 __repr__ 方法
pprint.pprint(a)  # 调用 __repr__ 方法

str(a)  # 调用 __str__ 方法
print(a)  # 调用 __str__ 方法

d = {'a':123, 'b':345}
rep = pprint.pformat(d)
c = eval(rep)
print(c['a'])

c = eval(str(d))
print(c['a'])

print('------------')
pprint.pprint(pprint.pformat(a))

 

posted @ 2020-10-01 14:08  老谭爱blog  阅读(88)  评论(0)    收藏  举报