笔记

作者: 周日上楼梯 | 来源:发表于2020-03-26 13:10 被阅读0次

formatted string

图例1

输出结果是分开输出,按花括号输出

字符串简单用法

图例2

两个条件的不同写法 (三元表达式)

age = 22
if age <= 18:
    print("Eligible")
else:
    print("Not eligible")

message = "Eligible" if age >= 18 else "Not eligible"
print(message)

python的logic operator is shor circuit

就是说条件多个or 时 只检查到True 为止

python 可以接 for else 语句

形参缩写,1

可用于一种类型的同一用法的形参,所以难以再加参数


图例3

形参缩写2

user将是包含键值对的字典


图例4

全局变量(global variable)

如果定义一个变量为全局变量,想在函数里可以更改,用keyword:global

图例5

DEBUG

F9设置短点,F5执行,F10跳下一句,F11跳函数内部,shift + F5 停止debug,
shift + F11 跳出函数

列表

用[]
快速建立同元素

zeros = [0] * 100 

常用用法:


图例6

每几个元素切片
list[::n]

列表解包(list unpacking)

快速将列表里的值存储在变量中,剩余的打包在other里,当然 other可以在中间也可以在两边


图例7

列表的添加删除元素基础语法

letters = ["a", "b", "c"]
# add
letters.append("d")
letters.insert(0, "-")
# remove
letters.pop(0)
letters.remove("b")
del letters[0:3]
letters.clear()
print(letters)

列表解析

有条件和无条件的改造方法


图例8

列表视为栈的话

栈顶和列表尾可分别用 list[n-1] 和 list[-1]表示

交换变量的值

其他语言可能要创造第三个变量,python直接用,一行代码即可

x = 10
y = 11
x, y = y, x

怎么用数组

from array import array 
#没错两个名称一样
A = array("type code",[list])

set函数与并集交集

set函数去除同一个列表中重复的值,但返回的不是列表

numbers = [1, 1, 2, 3, 4]
first = set(numbers)
second = {1, 5}
print(first | second)  # 并集
print(first & second)  # 交集
print(first - second)  # 差集
print(first ^ second)  # 除交集外

字典

几种创建字典或者添加键值对的方法.


图例9

检查key值在不在字典中:


图例10
字典解析
图例11

生成器 generator

图例12

生成器可以减少占用的内存,但同样的不知道生成器能生成多少数量的数据

unpacking operator

可以理解为拆分


图例13

拆解字典则用两颗星


图例14
同一个key,则排序在后的值覆盖前一个

打开文件

with open file as xx:
这样可以在文件使用后自动关闭,而不用主动调用close方法

图例15
类的自带属性不用初始就全部创建后续可以继续指定
python中的init()一般叫实例,且对实例的属性进行初始化,init方法又称为实例

magic method

类里可插入magic method
magic method 是指有很多一般类直接行不通的语法 ,我们可以通过定义magic方法(不一定需要返回值)来DIY语法

custom containers

自定义容器,或者是能自己增长的容器?随输入自己增长

class TagCloud:
    def __init__(self):
        self.tags = {}

    def add(self, tag):
        self.tags[tag] = self.tags.get(tag, 0) + 1


cloud = TagCloud()
cloud.add("Python")
cloud.add("Python")
cloud.add("Python")
print(cloud.tags)

<<< {'Python': 3}

property

类似装饰器 把方法当做属性调用,一般是调用getter 和 setter

一般定义的第一个类隐藏遗传了一个叫 object的类

method overiding

子类通常定义一个替代方法替代了基类(base class),可以用super方法连接两个init

class Animal:
    def __init__(self):
        print("Animal Constructor")
        self.age = 1

    def eat(self):
        print("eat")


class Mammal(Animal):
    def __init__(self):
        super().__init__()
        print("Mammal Constructor")
        self.weight = 2

pass 语句

Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。

分割线 有待进阶

模块

模块导入和函数调用有两种方法,如下所示


图例16

package

将一个文件夹设置为package需要在文件夹里设置一个空文件 init.py,就可以当package用了

相关文章

网友评论

      本文标题:笔记

      本文链接:https://www.haomeiwen.com/subject/ratcuhtx.html