先简单列示:1. print()输出/打印函数
2. input()键盘输入函数
3. format()格式化函数
4. open()文件读写函数:逐个元素写出或读入文档
5. type() / isinstance() 查看类型函数
6. sorted()排序函数
7. range()数字序列生成函数
8. len()查看目标长度函数
9. round() / sum() / max() / min()等等基础数学函数
10. enumerate() / zip() / map() / ord() / chr()五个特殊功能函数
下面结合具体用例子说明。其中某些例子的用法对于初学者来说可能有点fancy,故可以跳着看关键的语句即可。
# -*- coding: utf-8 -*-
"""Created on Thu Dec 3 00:14:20 2020@ software: Spyder@ author: 盲区行者"""
##1 print()输出/打印函数#########################
import time ##导入时间库
def printer(text, delay=0.3): ##定义一个叫printer的函数。其中delay延迟参数设置为0.3秒
'打字机效果演示'
for ch in text: ##逐个字符打印的循环语句
print(ch, end='', flush=True) ##打印ch这个字符串变量的每一个元素,且打印完一个元素后不带任何符号或空格
time.sleep(delay) ##打完一个字符后,时间延迟0.3秒
print()
printer('Life is short, you need Python! ---- 生命苦短,你用Python')##1. print()输出/打印函数
Out [1]: Life is short, you need Python! ---- 生命苦短,你用Python ##需要真正执行,才好看到逐个字符打印的效果
##2 input()键盘输入函数##########################
nums = input('请输入数字1-5,中间用空格隔开。输入结束后摁Enter键:') ##括号内是屏幕提示词
请输入数字1-5,中间用空格隔开。输入结束后摁Enter键:1 2 3 4 5
print(nums)
1 2 3 4 5 ##这其实是一个字符串
##可以通过split函数将上面输入的字符串切开
list1 = nums.split()
list1
Out[18]: ['1', '2', '3', '4', '5']
##再使用int()函数将5个数字转换为数字
list2 = [ int(item) for item in list1]
list2
Out[21]: [1, 2, 3, 4, 5]
type(list2[1]) ##查看第一个元素的类型
Out[26]: int
3 format()格式化函数,基于%
## Python可以用个英文的冒号:格式化,也可以使用来自C语言的%。
## 还考虑到和Stata及R统一,我们推荐用%
x = format(0.5, '8.2f')
x
Out[34]: ' 0.50' ##0前面有7个空格
Y, M, D, h, m, s = 2020, 1, 10, 12, 7, 53 ##2020年1月10号,12点7分53秒
'%04d-%02d-%02d%02d:%02d:%02d' %(Y, M, D, h, m, s)
Out[32]: '2020-01-10 12:07:53'
4 open()文件读写函数
## 使用with...as结构来写
data = [[1,2,3],[4,5,6]]
with open(r'd:\data.csv', 'w') as fp:
for line in data:
ok = fp.write('%s\n'%','.join([str(item) for item in line]))
新生成的csv文件如下图:
## 从CSV文件中,逐个读出数据元素
numlist = list()
with open(r'd:\data.csv', 'r') as fp: ##r = read, 表示读出数据
for line in fp.readlines():
numlist.append([int(f) for f in line.strip().split(',')])
numlist
Out[39]: [[1, 2, 3], [4, 5, 6]]
5 type() / isinstance() 查看和判断类型函数
##type()函数前面我们已经演示过
##isinstance() 判断类型函数
a = [1, 2, 3]
isinstance(a, list)
Out[43]: True
isinstance(a, int)
Out[44]: False
6 sorted()排序函数
sorted函数用于对某个对象中的元素进行排序。排序的规则还可以变化,比如逆序排序,也可以基于某个元素的第一个子元素大小排序。对于Python数据分析,这个函数我们还会在pandas中做详细介绍,这里只是简单展示。
sorted([1, 3, 5, 2, 4]) ##对列表中的5个数字元素进行排序
Out[46]: [1, 2, 3, 4, 5]
7 len()查看目标长度函数
从字面意思上来看,这个应该是一个挺简单的函数。但是如果要涉及到“可迭代对象”的长度的时候,返回的结果可能稍微复杂一点。
len('Life is short! I need Python!')
Out[1]: 29
len([1,2,3,4,5])
Out[2]: 5
len({'Name':'Steph', 'Height':1.92})
Out[3]: 2
len(range(10))
Out[4]: 10
8 range()数字序列生成函数
这个range在写for循环的时候会经常用到。在我们自动快速数据对象的元素的时候,我们也可以使用。range还有自己的数据类型,就叫range。
range(10)
Out[11]: range(0, 10)
list(range(10))
Out[12]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
type(range(0, 10, 2))
Out[13]: range
for i in range(0, 10, 2):
print(i, end=', ')
0, 2, 4, 6, 8,
9 round() / sum() / max() / min()等等基础数学函数
round(3.14)
Out[25]: 3
round(3.54)
Out[26]: 4
round(-3.54)
Out[27]: -4
round(-3.14)
Out[28]: -3
sum([1, 2, 3, 4, 5])
Out[29]: 15
max([1, 2, 3, 4, 5])
Out[30]: 5
min([1, 2, 3, 4, 5])
Out[31]: 1
abs(-3.14)
Out[32]: 3.14
pow(4, 1/2) ##pow=power,幂运算。4的1/2次方,等于4的开方
Out[33]: 2.0
10 enumerate() / zip() / map() / ord() / chr()五个特殊功能函数
x=[1, 2, 3, 4, 5]
y=[2, 4, 6, 8, 10]
##和enumerate类似,zip函数也不可以直接单独使用
for a, b in zip(x, y):
print(a, b, sep='*2=')
1*2=2
2*2=4
3*2=6
4*2=8
5*2=10
## chr函数用于查看ASCII码对应的字符
chr(66)
Out[49]: 'B'
##ord函数用于查看字符对应的ASCII码
ord('B')
Out[50]: 66
for i in range(58):
print(chr(65+i), end=', ')
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z,
##map函数基于函数对给定序列做出映射
map(lambda x: x*2, [1, 2, 3, 4, 5] ##使用lambda匿名函数,而不定义新函数
Out[49]: [2, 4, 6, 8, 10]
def double(x): ## 定义一个叫double的函数
return x * 2
map(double, [1,2,3,4,5]) ## 计算列表各个元素的平方
Out[50]: [2, 4, 6, 8, 10]
Ref
------全文结束-----