python | 基础知识


常用全局引入

1.1 同时输出多行结果

在一个代码块中,可以同时输出多个结果

from IPython.core.interactiveshell import InteractiveShell 
InteractiveShell.ast_node_interactivity = 'all'

1.2 代码自动补全

运行下面代码后,在输出code时使用Tab键,就能得到代码补全提示

%config IPCompleter.greedy=True

1.3 自动展现图像

运行下面代码后,不调用plt.show,就能自动展现图像

%matplotlib inline

1.4 忽略警告

用于忽略烦人的版本警告,但有时也会忽略掉异常提示

import warnings
warnings.filterwarnings('ignore')

1.5 正常显示中文和负号

常和自动展现图像联用,运行前记得先引入matplotlib

plt.rcParams['font.sans-serif'] = ['Simhei']  # 正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 正常显示负号


路径获取和设置

有时为了方便,会更改工作路径

import os 
os.getcwd()             # 获取当前工作路径
import os 
os.chdir('D:\\data')    # 以指定目录为当前工作路径
# 等价于os.chdir(r'D:\data'),r是变成原始字符,忽略转义字符


文件的上传

把文件上传到jupyter notebook有两种常用方法:

  • 把ipynb文件放到python工作目录下
  • upload上传文件


代码编写规范

为了实现更强的可读性,python代码编写必须遵循一些原则

  • 缩进:用空格和Tab控制缩进
  • 续行:用续行符\和括号()实现续行,()最常用
# 严格缩进关系
PM = eval(input("请输入PM2.5数值: "))  # input指创建一个输出框
if 0 <= PM < 35:
    print("空气优质,快去户外运动!")
if 35 <= PM < 75:
    print("空气良好,适度户外活动!")
if 75 <= PM:
    print("空气污染,请小心!")

# 续行符\
print('avnjdfldjflf\
fffffffffffffffffffff')

# 用()实现续行——最常用
PM, Temp = (eval(input('请输入PM2.5值')),
            eval(input('请输入气温值')))
if 0 <= PM < 35:
    print('空气优质')
if 35 <= PM < 75:
    print('空气良好')
if 75 <= PM:
    print('空气污染')


查看帮助和版本号

当对函数或方法不甚明了时,可以查看python内置帮助信息

  • 查看版本号
    • np.version(),记得先导入numpy包
  • 查看帮助
    • help
    • 后面加?
    • shift + tab打开帮助提示
    s='中国'
    help(s.startswith)
    s.startswith?
    s.startswith     # shift + tab打开帮助提示


函数与方法

函数与方法在调用方式上有显著区别

  • 函数:函数名(对象), 是把整个对象放进去,如len(str)
  • 方法:对象.方法(), 是通过“.方法” 的形式调用,如str.find('x')
# 函数
a = 'sauhgsoidgu'
len(a)
 
# 方法
a.index('a')


级联

级联能大幅增加python代码可读性和维护性

  • 定义:多个方法同时调用叫级联,按从左至右依次运行
  • 原理:上一个方法的结果是某种数据类型,则后面可以直接接着调用该数据类型的其他方法
# 一次一次调用:代码冗余
x = 'APPLE'
y = x.lower()
y.capitalize()

# 级联:代码简洁
x = 'APPLE'
x.lower().capitalize()


计算运行时间

time模块,起始时间是1970年,常用于计算程序运行时间

import time
time.time()          # 1970年到现在,经过了多少秒

import time
result = []
start = time.time()  # 刚开始时间
for i in range(10000):
    result = result + [i]
print(len(result), time.time() - start)  # 计算耗时

猜你喜欢

转载自www.cnblogs.com/1k-yang/p/12040825.html