formatted string
![](https://img.haomeiwen.com/i9588365/fbbac6009b0c4ebb.png)
输出结果是分开输出,按花括号输出
字符串简单用法
![](https://img.haomeiwen.com/i9588365/5673ff4df8f95882.png)
两个条件的不同写法 (三元表达式)
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
可用于一种类型的同一用法的形参,所以难以再加参数
![](https://img.haomeiwen.com/i9588365/6697bd0fc7a82014.png)
形参缩写2
user将是包含键值对的字典
![](https://img.haomeiwen.com/i9588365/71289eb6ae924b49.png)
全局变量(global variable)
如果定义一个变量为全局变量,想在函数里可以更改,用keyword:global
![](https://img.haomeiwen.com/i9588365/806454b002b5fe5d.png)
DEBUG
F9设置短点,F5执行,F10跳下一句,F11跳函数内部,shift + F5 停止debug,
shift + F11 跳出函数
列表
用[]
快速建立同元素
zeros = [0] * 100
常用用法:
![](https://img.haomeiwen.com/i9588365/430832e94a74dd06.png)
每几个元素切片
list[::n]
列表解包(list unpacking)
快速将列表里的值存储在变量中,剩余的打包在other里,当然 other可以在中间也可以在两边
![](https://img.haomeiwen.com/i9588365/c770807a40dac50c.png)
列表的添加删除元素基础语法
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)
列表解析
有条件和无条件的改造方法
![](https://img.haomeiwen.com/i9588365/0362b676b605837b.png)
列表视为栈的话
栈顶和列表尾可分别用 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) # 除交集外
字典
几种创建字典或者添加键值对的方法.
![](https://img.haomeiwen.com/i9588365/f68ba161b7956f7e.png)
检查key值在不在字典中:
![](https://img.haomeiwen.com/i9588365/00c3f295308f2267.png)
字典解析
![](https://img.haomeiwen.com/i9588365/5b63761e0058632b.png)
生成器 generator
![](https://img.haomeiwen.com/i9588365/aa08feb43e9cde34.png)
生成器可以减少占用的内存,但同样的不知道生成器能生成多少数量的数据
unpacking operator
可以理解为拆分
![](https://img.haomeiwen.com/i9588365/ac53194dd22a6c73.png)
拆解字典则用两颗星
![](https://img.haomeiwen.com/i9588365/a225b0652897eb3f.png)
同一个key,则排序在后的值覆盖前一个
打开文件
with open file as xx:
这样可以在文件使用后自动关闭,而不用主动调用close方法
类
![](https://img.haomeiwen.com/i9588365/7aab4e29c040a3e0.png)
类的自带属性不用初始就全部创建后续可以继续指定
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 不做任何事情,一般用做占位语句。
分割线 有待进阶
模块
模块导入和函数调用有两种方法,如下所示
![](https://img.haomeiwen.com/i9588365/c8b74d2334ce5d4d.png)
package
将一个文件夹设置为package需要在文件夹里设置一个空文件 init.py,就可以当package用了
网友评论