菜鸟教程笔记

变量赋值

a=b=c=1
a,b,c=1,2,3
= 就是创建新的引用并赋值
+= 就是给原引用赋值
查看变量的引用(地址) id(a)


判断数据类型

type()
ininstance(1,int)

5//2 结果是int
5/2 结果是float

>>> 2**5    #乘方
32



数据类型

python3 基本数字类型
int float bool complex
python2 基本数字类型
int long float complex


list

Q:list是一种有序的集合吗?
A:list的下标是有序的,相比于dict{}list是有序的

>>> list = [[]]*3
>>> list     #list中的3个值的引用是一样的
[[], [], []]
>>> list[0].append(1)
>>> list
[[1], [1], [1]]
>>> id(list[0])
140665691778632
>>> id(list[1])
140665691778632
>>> id(list[2])
140665691778632
>>> list[1].append(2)
>>> id(list[0])
140665691778632
>>> list[2].append(3)
>>> list
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]



set

一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

>>> s1 = set([2,3,4,2])
>>> s2 = set([2,3])
>>> s1|s2    #交集
{2, 3, 4}
>>> s1&s2   #并集
{2, 3} 



正则表达式

  • 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。
    ? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。


变量的命名规则

变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头
不要将Python关键字和函数名用作变量名


字符串

str * int #str出现int次

>>> '3'*2
'33'

>>> inputstr = 'hello python,ni hao c ,zai jian python'
>>> replaceStr=re.sub(r"hello (\w+),ni hao (\w+),zai jian \1","PHP",inputstr)
>>> replaceStr
'hello python,ni hao c ,zai jian python'



字符串方法

strip():去除字符串首尾的指定字符串(默认为空格或换行符)

>>> s = '--hello--++word++'
>>> s.strip('-+')
'hello--++word'



reduce:累加的效果

>>> from functools import reduce
>>> def f(x,y):
    ... return (x+y)
    ... 
>>> reduce(f,[1,3,5,7,9],100)
125
reduce(f,[1,3,5,7,9],100) 等价 f(f(f(f(1,3),5),7),9),100)



range()

range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始
stop: 计数到 stop 结束,但不包括 stop
step:步长,默认为1
[注]
if start>stop:
step = 负数
else:
step = 正数

>>> list(range(15,3,-1))
[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]



zip(iterable, ...) zip(传多个迭代器)

>>> res = zip(['a','b'],[1,2])
>>> list(res)
[('a', 1), ('b', 2)]



获取当前时间

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2018, 7, 30, 12, 30, 39, 517022)
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2018-07-30 12:31:30'



format 格式化函数

>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置 'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置 'world hello world'



reload()

reload()函数将以前导入过的模块再加载一次。重新加载(reload)包括最初导入模块时应用的分析过程和初始化过程。这样就允许在不退出解释器的情况下重新加载已更改的Python模块。


python 的内置函数

  1. eval() ===> 执行表达式

    >>> eval('%s*%s*%s*%s'%(7,7,7,7))
    2401
    



Number方法

  1. round(x,n) ===> 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数

    >>> round(100.02005456,5)
    100.02005
    



python 内建模块

itertools

  1. repeat() ===> 负责把一个元素无限重复下去,不过如果提供第二个参数就可以限定重复次数

    >>> import itertools
    >>> ns=itertools.repeat('A',3)
    >>> ns
    repeat('A', 3)
    >>> for i in ns:
        ... print(i)
        ... 
    A
    A
    A
    

你可能感兴趣的:(菜鸟教程笔记)