笔记

^在python中表示XOR
6^2=4
python的乘方是**
84/2=42.0
解析(parsing):阅读程序,分析语法结构的过程
形式语言与自然语言的不同:自然语言有奇异性、冗余性、字面性。
不合法的变量名:以数字开头或包含非法字符。
语句没有值。
解释器使用关键字识别程序的结构。
交互模式与脚本模式。
赋值=assign
调用=call
括号中的表达式叫做实参
函数接受实参,返回结果。
int截掉小数部分,int(-2.3)=-2
.点标记法
函数的def行被称作函数头,其余部分被称作函数体。
拼接=concatenate
堆栈图=stack diagram,跟踪变量的使用情况
栈帧=frame
最上层的栈帧“main
回溯:显示出错函数的名字以及调用它的函数的名字直到“main
形参=parameter
实参=argument
有返回值函数=fruitful function
前导空格=leading space
print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
关键字实参
表明1会自动换行,2以空格为间隔3以sys.stdout为输出
turtle常用方法
fd=forward
bk=back
lt=left
rt=right
继承封装多态= Encapsulation, inheritance, polymorphism
为函数增加一个形参=泛化
关键字实参
先决条件=precondition
assert assertation error
后置条件=postcondition
取余,modulus operator,%
地板除,floor division,//
传统除(浮点除或整除),division,/
复合语句compound statements:一个语句头跟着一个缩进的语句体
pass用于给没写的代码占位
给没写的代码占位用于规划思路
if/elif/else称为分支branches,链式条件chained condition
0<x<10合法
递归:recursive/recursion,一个函数调用它本身
增量式开发:为避免长时间的调试,一次只做一点点
切片slice:字符串的分割
列表索引想象法:0b1a2n3a4n5a6
空字符串不是None
切片法string[3:21:2]从3到21间隔2取一次
string[3:21:-2] 从3到21倒序间隔2取一次
FileObjection=open(“C:\Program Files\ABC”,wr)
for letter in word:
word中的每一个元素称为letter
遍历word的所有letter
程序测试能用于展示错误的存在,但是无法证明不存在错误!——Dijkstra
创建嵌套列表
in表判断的用法:列表含有元素;字符串含有字符串
注意t.append(d)与t.append(‘d’)的区别
t[:]表示所有
+和*可以拼接和重复列表
t.sort()方法
几乎所有list.method都是无返回值的。
归并:将一系列元素合并成一个单一值
sum是函数。
pop有返回值。通过索引删除。
del无返回值。通过索引删除。
remove无返回值。通过内容删除。
split默认为空格分隔。
join的用法为‘间隔符’.join(列表)

相等:元素等值
相同:对象同一
is用于判断是否指向同一个对象,即是否相等。
==判断两个对象是否相同。[1,2]与[1,2]相同,但可能指向不同对象。
a=[1,2] b=[1,2]
创建不可修改的数据结构时,指向同一对象,
创建列表时,指向不同对象
a=[1,2] b=a是创建别名
通常避免给可变对象创建别名。
变量引用对象。
t+=[x]合法添加元素。

\r回车
常用fin表示文件

字典:键-值对的映射
键是字符串,值可以是其他格式
dict()函数生成字典
EngCNdict=dict()
EngCNdict[‘python’]=”蟒蛇”
注意使用方括号。
字典项顺序不可预知
a={‘1’:‘one’,‘2’:‘two’,‘3’:‘three’}
print(a.keys())
print(a.values())
in搜索时间随着列表线性增加
不随字典扩大而增加。
global表示:在此函数中我将获得全局变量的所有权限
pprint()函数:pretty print()
字典的get方法
全局变量中的字典和列表可以在函数中不加声明地修改

元组创建方法
对t=’a’,’b’
对t=’a’,
错t=(‘a’)

是否存在列表赋值[p,q]=[1,2]?
可变长度参数元组:
开头的形式参数将输入的参数汇集到一个元组中。
可以用
任何名字,习惯用*args

def printall(*args)
print(args)
注意:
t=(7,3)
divmod(t)
报错,因为
divmod((7,3),?)
t是汇集形式,
*t是分散形式。
分散scatter
divmod(*t)没问题。

zip()将两同长度数据连接一起,生成zip类对象,类似list但无法通过索引访问。
可以list(zip())
zip生成zip类对象
enumerate生产enumerate对象
可以尝试用list\dict来格式化上述对象

格式化运算符%
%d
%g
%s

os.getcwd
os.path.abspath
os.path.exists
os.path.isdir
os.path.isfile
os.listdir
os.path.join
os.walk

shell是命令行的接口

repr可以使看见空格、制表符、回车等符号。

对象是类的实例
object是class的instance

纯函数只有输出,不对其他值做出改变
修改器修改变量、对象属性

方法的第一个参数写作self

print(1+a)非法
print(a+1)合法

运算符重载:改变一个运算符的行为,使其兼容程序员自定义类型。
def add(self,other):

def init(self,xxxxxx):
使实例化时可以直接在类的括号内写定义项

多态:适用于多种类型的函数。是泛化的结果。
继承:在现有类的基础下进行修改,从而定义新类
y=0 if x>0 else 1
def factorial(n):
return 1if n==0 else n*factorial(n-1)
def capitalizeAll(t):
return[s.capitalize for s in t]
#循环变量s在定义之前可以出现。
def SelectUpper(t):
return [s for s in t if s.isupper()]
g=(x**2 for x in range(5))

set()转集合,可以用集合±法

from collections import namedtuple
Point=namedtuple(‘Point’,[‘x’,’y’])
p=Point(1,2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值