python3 学习笔记

2020-10-12  本文已影响0人  sugar_coated

一、变量和数据类型

变量名字母全小写, 常量名字母全大写,多个单词用下划线隔开。

  1. str.endswith()
S.endswith(suffix[, start[, end]]) -> bool

用于判断字符串是否以指定后缀结尾,可选参数"start"与"end"为检索字符串的开始与结束位置。

  1. 对字典排序
# 按照key对字典进行排序
sorted(dict1.items(), key = lambda x: x[0])
# 按照value对字典进行排序
sorted(dict1.items(), key = lambda x: x[1])

二、面向对象编程

Python是动态语言,根据类创建的实例(对象)可以任意绑定属性。

名称 说明
类名首字母大写,多个单词采用驼峰式命名。如:ValueError。私有类可用一个下划线开头 人类;手机
对象 对象=类名() 张三、李四;华为、oppo
属性 对象集合的共同特征 身高、体重、年龄
方法 即:动作。python 类语法中有三种方法:实例方法(self)、静态方法、类方法(cls)。方法名一律小写,如有多个单词,用下划线隔开;私有方法在方法前加一个下划线_ 吃饭、上班

函数的命名规格与方法的命名规格相同。

  1. __name____name__是一个变量,前后加了双下划线是因为这是系统定义的名字,普通变量不要使用此方式命名变量。__name__天生就存在于一个 python 程序中,代表对应程序名称。import的时候是要执行所import的模块的。直接运行py文件(__name__ = '__main__')和导入py文件(__name__ = 文件名,不加后面的.py)输出的__name__值不同,因此通过判断__name__的值,就可以区分py文件是直接被运行,还是被引入到其他程序中。
  2. __module__:类定义所在的模块,如果在当前模块返回__main__; 如果类位于一个导入模块mymod中,那么className.__module__等于mymod)
  3. __bases__:类的所有父类(包含了所有父类组成的元组)
  4. __doc__:类的文档字符串,也就是类的帮助信息。
  5. __dict__:类的属性(获取类所有信息):结果返回一个字典包含类属性及属性值,类方法等所有类信息
    参考:python类属性用法总结
  1. sorted():对所有可迭代的对象进行排序操作。
  2. eval():执行一个字符串表达式,并返回表达式的值。
  3. ord()chr()
    ord()(ordinal序数的)对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。是 chr()的逆函数。ord('a') = 97, chr(97) = 'a'
  4. round():round(number[, ndigits]) -> number 保留n位小数
  1. 封装:(1)私有化属性(__属性),访问范围仅限于类中;(2)定义共有set和get方法;(3)装饰器@property进行私有化处理。
class Student:
    def __init__(self, age):
        self.__age = age  # 低层变为:_Student__age     
    # 先有get_age
    @property
    def age(self):
        return self.__age
    # 再有set_age,因为set依赖get
    @age.setter
    def age(self, age):
        if 0 <= age <= 120:
            self.__age = age         
x = Student(17)
print(x.age)  # 17
print(dir(x)) # ['_Student__age',...... '__str__', 'age']

三、常见模块

模块使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)

from sortedcontainers import SortedList
sl = SortedList(['e', 'a', 'c', 'd', 'b'])
sl.add("ab")  # SortedList(['a', 'ab', 'b', 'c', 'd', 'e'])
sl.bisect_left('e')  # 5

详见:http://www.grantjenks.com/docs/sortedcontainers/

持续更新中......

上一篇 下一篇

猜你喜欢

热点阅读