0%

python学习之1

这个category记录了自己重新学习python的过程(Python 3),这篇是一些基础过程。

1.Python数据类型

python有6个数据类型:不可变数据:数字、字符串、元组;可变数据:列表、集合、字典。type()函数可以查看变量的类型。类型转换函数:int()、float()、str()、tuple()、list()、set()、frozenset()等等。

1.1 python推导式

(1).列表推导式:

[表达式 for 变量 in 列表]
[out_exp_res for out_exp in input_list]
或者
[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]

例如:

1
2
3
4
5
6
7
8
>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
>>> new_names = [name.upper()for name in names if len(name)>3]
>>> print(new_names)
['ALICE', 'JERRY', 'WENDY', 'SMITH']

>>> multiples = [i for i in range(30) if i % 3 == 0]
>>> print(multiples)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

(2).字典推导式

{ key_expr: value_expr for value in collection }

{ key_expr: value_expr for value in collection if condition }

1
2
3
4
5
6
7
8
9
10
11
listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
>>> newdict = {key:len(key) for key in listdemo}
>>> newdict
{'Google': 6, 'Runoob': 6, 'Taobao': 6}

>>> dic = {x: x**2 for x in (2, 4, 6)}
>>> dic
{2: 4, 4: 16, 6: 36}
>>> type(dic)
<class 'dict'>

集合推导式、元组推导式也类似。

python注释:

1
2
3
4
5
6
7
8
9
10
11
#单行注释

'''
多行
注释
'''

"""
多行
注释
"""

2. 一些有用的函数

2.1 随机数函数

choice(seq)
从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step])
从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random()
随机生成下一个实数,它在[0,1)范围内。
seed([x])改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)
将序列的所有元素随机排序
uniform(x, y)
随机生成下一个实数,它在[x,y]范围内。

2.2 字符串函数

join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。
len(string)
返回字符串长度
lower()
转换字符串中所有大写字符为小写。
lstrip()
截掉字符串左边的空格或指定字符。
split(str="", num=string.count(str))
以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
upper()
转换字符串中的小写字母为大写
find(str, beg=0, end=len(string))
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
count(str, beg= 0,end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

3. 索引

python索引:从前到后的索引从0开始,从后往前的索引:最后一项是-1。切片时是[2:5]即取索引为2到4的值,相当于前闭后开区间。