Python打开新世界的大门-入门篇1
目录

题外话
之前没有写博客的习惯,现在开始写觉得入门也太晚了吧,看看同龄的大哥都写了十几万字。于是心想,我也要开启我的博客之旅。本篇讲python入门操作,适合新手!!!老鸟拐弯不送。懒得起名字了,“水云疏柳” 挺好的,看着都更有动力学习。哈哈,开始吧...
Jupyter操作
不代表咱们就不用Pycharm了,只是为了生活得更优雅
开启优雅编程(R/Python)之路的神器
(没有Jupyter?那就百度搜索安装吧,这个不会怎么出错的,正经点,下面放上操作笔记)
Markdown书写文本,Script书写代码
下拉框选择,或者选中格子(之后都是选中格子再操作)后摁m
一级标题#;二级标题##;以此类推
往下加一个格子摁b;往上加格子a
运行可以点击上面的Run也可以摁shift enter b
选中代码摁ctrl /为注释,再摁不注释;摁Tab右缩进,shift Tab左缩进
输入?print运行可以查看帮助
输入prin摁Tab可以帮你弥补老年痴呆
另有Latex公式书写见Github Jupyter文档
Python
基于Python3,print需要带括号的那版
编程也讲究美观和原则,虽然不报错
但逗号后面还是空一格
加号等号前后空一格
程序宜短不宜长,多用def、推导式、装饰器封装(后面会讲)
命名讲清楚是个啥子(这个要求绝了,但有的大厂就是硬规定): List_of_all_Subway_Stations_Name
多用#解释
print输出
print("Hello World!")
#让你的电脑说出划时代的一句话,瞬间让你感觉到步惊云的感觉
print(1+1)
print(x1,x2,"加逗号可以扩展输出")
print("x1加x2等于{}".format(x1+x2))
#print("xxx{}".format())常用
print("%f约等于%.2f,%s"%(520.1314, 520.1314, "对吧"))
1 1 加逗号可以扩展输出
x1加x2等于2
520.131400约等于520.13,对吧
比较大小这种就不说了, <, >, ==, !=
八种数据类型(敲黑板,HR要提问的)
| Type | Description |
|---|---|
| None | 后面会用到 |
| Number | int()或float();数值 |
| Bool | True False |
| str() | 文本/string,可以看作list来操作 |
| list | [1,2,3,...]; 列表用中括号 |
| Tuple | ("a", "b", "b", "c", ...); 元组用小括号 |
| Set | set(list或tuple), {1, 2, 3,...}; 集合用set得出或大括号得出,元素不能重复 |
| dictionary | {"index1": 1, "index2", 2, ...}; dict用大括号 |
列表list
注意: python中list[0]为第一个元素,list[1]为第二个元素,以此类推
x = [1,2,3,4,5,"6"]#双引号引着的都是文本
print(len(x))#输出列表长度
print(x[0])#输出列表第一个元素
print(x[:2])#输出列表前两个元素
print(x[-1])#输出列表最后一个元素
print(x[-2:])#输出列表最后两个元素
6
1
[1, 2]
6
[5, '6']
range(0,10)
#输出等差序列,默认为+1的等差序列;range(0,10,2)则是+2的等差序列,0为起点;
注意:10为终点+1,实际输出到9结束;这种概念不需要讲,用久了就进潜意识了
对列表运算,可以直接用sum, max, min将list1(我们命名赋了值的列表,下同)括起来
文本
文本/string 本身也是list类型;中文文本操作用jieba package,之后讲
string1 = "我们都是好孩子"
string1[-3:]
'好孩子'
"大家"+string1[2:] #+可以连接字符串,若非字符串,先用str()转成字符串再相接
'大家都是好孩子'
string2 = "i am thinking big dream"
string2_upper = string2.upper()#小写字母大写,小写用lower
string2.split(" ")#通过分隔符" "切割成list,类似Excel split用法(都什么年代了,还用Excel)
['i', 'am', 'thinking', 'big', 'dream']
集合Set
set1 = set([1, 2, 3, 4])
set2 = set([3, 4, 5, 6])
print("交集set1 & set2: " + str(set1 & set2))
print("并集set1 | set2: " + str(set1 | set2))
print("差集set1 ^ set2: " + str(set1 ^ set2))
#可以看出,小学公式(小学没学差集概念,只有韦恩图):差集 + 交集 = 并集
交集set1 & set2: {3, 4}
并集set1 | set2: {1, 2, 3, 4, 5, 6}
差集set1 ^ set2: {1, 2, 5, 6}
循环
最顺手常用的循环就是 for i in range或list1, 偶尔加个enumerate在list前面;while在减少时间复杂度上常用到,在算法题中会出现(不过我们还没到刷leetcode 阶段)
for i in range(1,10):
print(i**2)#计算平方
#将x**2放进y
y = []
x = range(1,10)
for i in x:
y.append(i**2)#list 后面接.append可以添加元素;摁Tab可以查看list.后可接什么;摁?y.append()可查看用法
现在都是死数字,死文本,连个图都没有?好,开门,放图
import matplotlib.pyplot as plt
plt.plot(x,y)
plt.title("y=x^2 (x>0)")
#plt.再摁Tab可看plt接法,不清楚再?plt.title();更方便直接百度"python如何画XX图"(google更好)
plt.show()
其实Jupyter内置Markdown有挺多功能,就像编写cnblog也可以选择Markdown编写
函数
def 函数名(): 复杂的有函数嵌套,闭包函数和装饰器等(之后见)
注意:函数也是对象,比如fun1.__name__输出函数名
def Calculate_SE(x, y):
"""
注释可要可不要,最好还是添加
input: x type: list
y type: list
length of x equals length of y
output: mean square error of x, and y
such as: x = [1,2,3] y = [2,3,3]
output (1-2)**2 + (2-3)**2 + (3-3)**2 = 2
"""
minus_square = 0#之后接纳元素差的平方
for i in range(len(x)):
minus_square = minus_square + (x[i]-y[i])**2 #或用+=写法
return(minus_square)
a = [1,2,3]
b = [2,3,4]
Calculate_MSE(a, b)
3
当然最方便的方法是调用函数包 import XXX
import numpy as np#as np可要可不要,是种偷懒写法,之后直接写np.XXX引用函数,摁Tab可以查看np.接什么函数
a = np.array(a)
b = np.array(b)
sum((a-b)**2)
3
Now, It's your time
试着完成一个九九乘法表,封装成一个函数,九可以为其他数字(We'll show the answer in next blog)
我靠,终于编写完第一个blog, 眼睛酸痛
Jupyter Notebook download here
Python打开新世界的大门-入门篇1的更多相关文章
- selenium+python+unittest实现自动化测试(入门篇)
本文主要讲解关于selenium自动化测试框架的入门知识点,教大家如何搭建selenium自动化测试环境,如何用selenium+python+unittest实现web页面的自动化测试,先来看看se ...
- python的遗传算法--Hello World入门篇
本系列文章代码取材于书籍<Genetic Algorithms with Python>,本人是在校电气专业的研究生,立志从事于Python相关的代码工作,具体什么方向还有待深究. 众所周 ...
- GoLang——Hello World,打开新世界的大门
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Go语言系列的第一篇文章,我们来聊聊这门新的语言和它的基础语法. 浅谈Golang 作为程序员而言,往往对于学习新的语言都是有抗拒的. ...
- Python 基础教程 —— 网络爬虫入门篇
前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...
- python RabbitMQ队列使用(入门篇)
---恢复内容开始--- python RabbitMQ队列使用 关于python的queue介绍 关于python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种que ...
- python + selenium + unittest 自动化测试框架 -- 入门篇
. 预置条件: 1. python已安装 2. pycharm已安装 3. selenium已安装 4. chrome.driver 驱动已下载 二.工程建立 1. New Project:建立自己的 ...
- Python - 面向对象(一)入门篇
Python里面有一句话:万物皆是对象 如何面向对象编程 设计类 创建类实例对象 实例对象调用方法 创建对象 在内存中为对象分配空间 调用初始化方法 __init__ 为对象初始化 对象创建后,内 ...
- echart 打开新世界的大门
实时折线图 option = { backgroundColor:'#2B2B2B', tooltip: { trigger: 'axis' }, legend: { data:['频率'], tex ...
- 最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)
1. 前言 在爬虫.自动化.数据分析.软件测试.Web 等日常操作中,除 JSON.YAML.XML 外,还有一些数据经常会用到,比如:Mysql.Sqlite.Redis.MongoDB.Memch ...
随机推荐
- 处理 Archlinux 报错
failed to kernel 1 sudo pacman -S linux-headers tpm_crb, uvcvideo 等错误 sudo vim /etc/modprobe.d/black ...
- Mysql8安装与配置
网上的教程有很多,基本上大同小异.但是安装软件有时就可能因为一个细节安装失败.我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的. 安装环境:win7 1.下载zip安装包: MySQL ...
- 10个Python基础练习项目,你可能不会想到练手教程还这么有趣
美国20世纪最重要的实用主义哲学家约翰·杜威提出一个学习方法,叫做:Learning By Doing,在实践中精进.胡适.陶行知.张伯苓.蒋梦麟等都曾是他的学生,杜威的哲学也影响了蔡元培.晏阳初等人 ...
- LeetCode-7-反转数组-c#
目前看到的网上的版本 都是用到数组的反转函数.对于代码实现的细节没给出 反转函数的想法没给出. 特在此补充. Reverse函数是从c#库源码中抠出的主要部分代码.主要是双端步进.交换,当然是o(1) ...
- dedecms二次开发
安装遇到的问题 修改文件如下 1.date目录下的config.cache.bak.php改成config.cache.php 2install目录下的index.html.install_lock. ...
- 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class p
严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener]org.springframework ...
- Linux删除奇怪名字文件
use ls -ilrt get filenum and use find ./ -inum filenum -exec rm '{}' \; del it
- 在绘图的时候import matplotlib.pyplot as plt报错:ImportError: No module named '_tkinter', please install the python-tk package
在绘图的时候import matplotlib.pyplot as plt报错:ImportError: No module named '_tkinter', please install the ...
- 1. centos下安装docker
CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发 ...
- 【论文速读】Pan He_ICCV2017_Single Shot Text Detector With Regional Attention
Pan He_ICCV2017_Single Shot Text Detector With Regional Attention 作者和代码 caffe代码 关键词 文字检测.多方向.SSD.$$x ...