• [Python] Python 学习记录(1)


    1.概论

    弱类型 一个变量能被赋值时能与原类型不同 

    x = 1

    x = "1"  #不加分号,给x赋值为int后再次赋值为string是可行的

    与或非 and or not

    /  #除法的结果是浮点数, 9 / 3 = 3.0

    // #结果是整数 10 // 3 = 3

    空值为None(相当于null)

    内置类型  Numbers(整数和浮点数), Strings,Lists

    print('') 

    print("%%") #%  字符串打印单引号和双引号皆可

    print(r'C:Userslocal')  #C:Userlocal raw 表示不转义 相当于C#中@

    字符串跨多行

    print(''' 内容

    内容''') 

    '''内容'''

    2.字符串

    字符编码

    ASCII 使用一个字节 包含127个编码 (大小写英文、数字、特殊符号)

    Unicode 使用两个字节表示一个字符 (偏僻的使用4个字节)

    Utf-8(8-bit Unicode Transformation Format) 针对Unicode的可变长编码

    属于ASCII的字符用一个字节,汉字使用两个字节编码 完全兼容ASCII

    计算机内存中统一使用Unicode编码,需要保存或传输时转换为Utf-8编码

    ord() #取字符的整数表示

    chr() #把编码转换为字符

    print('u4e2du6587') #中文 

    x = b'ABC' #x为bytes 一个字符占用一个字节

    x = 'ABC'  #x为str

    字符串编码(bytes str互转)

    str->bytes 'STR'.encode('ascii')  # utf-8

    bytes->str b'STR'.decode('ascii')

    字符串格式化

    '%d,%f,%s,%x' % (2333,3.14,'Python str',0x23)

    '%2d-%02d' %(3,1)   #3-01

    '%.2f' % 3.1415  #3.14

    字符串可以用 + 连接

    用 * 用来重复字符串 3 * 'a' #aaa

    print('a' 'b')   #ab 这样a和b会自动连接起来,少写个 + 

    word = 'Python' 

    print(word[0])  #p

    print(word[-1])   #n 倒数第一个

    word[0:2]   #Py

    word[2:5]   #tho

    word[:2]     #Py

    word[4:]     #on

    word[-2:]    #word[-2] + word[-1] on

    字符串有不可变性 word[0] = 'A' 会报错

    3.list 

    x = [1, 2, 3, 4]

    和字符串一样index用起来比较方便

    x[0] #1

    x[1:2] #[2, 3]

    x[-2:] #[3, 4]

    y = [4, 5, 6, 7]

    x + y  #[1, 2, 3, 4, 5, 6, 7]   集合的并操作

    tuple 

    与list类型,但其中的元素不可变

    4.分片

    有点Matlab的感觉

    L = [1,2,3]

    L[0:2]  L[0] L[1]

    L[1:]  #L[1] 到最后一个元素 或者写成L[1:-1]

    L[-1] 最后一个元素

    L[:10:2] #前10个数,每两个取一个 [0,2,4,6,8]

    5.map() & reduce()

    map(func, [1,2,3])

    将[1,2,3]中每个元素作为参数执行一次func

    reduce(func, [1,2,3])

    func(func(1,2),3)

    练习解答

    输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']

     def normalize(name):
         first = name[0].upper()
         for i in name[1:]:
                 first = first + i.lower()
         return first
    
    L1 = ['adam', 'LISA', 'barT']
    L2 = list(map(normalize, L1))
    print(L2)

    6. filter()

    filter(func,[1,2,3,4])

    和map类似,以每个元素为参数调用func,返回为ture的保留,否则丢弃

    sorted([2,3,4,5,6,7],key = comparer, reverse = false)

    传一个比较方法即可快速实现排序

    参考链接

    字符串和编码-廖雪峰的官方网站

    https://docs.python.org/3/tutorial/introduction.html

  • 相关阅读:
    时间复杂度和空间复杂度
    七、vue计算属性
    六、vue侦听属性
    四、vue派发更新
    五、vue nextTick
    三、vue依赖收集
    二、vue响应式对象
    递归
    链表
    TypeScript类型定义文件(*.d.ts)生成工具
  • 原文地址:https://www.cnblogs.com/arcsinw/p/6372140.html
Copyright © 2020-2023  润新知