第一篇简书-Python入门

目录

image
  1. 题记

  2. Python技巧、避坑及心得

  3. 八种数据类型

  4. 循环

  5. 函数

  6. Homework

题外话

之前没有写博客的习惯,现在开始写觉得入门也太晚了吧,看看同龄的大哥都写了十几万字。于是心想,我也要开启我的博客之旅。本篇讲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()
image

其实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

https://github.com/EigenLaw

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351