20180609_开始学习Python之前的准备

一、安装Python解释器

Python是一种开源的编程语言,在学习Python编程语言之前,需要先安装Python解释器。Python解释器有很多种,最常见的是CPython。对于像我一样的编程小白而言,只需要知道在Python官网下载对应版本的Python就可以了。

具体安装过程,可参见嵩天的Python语言程序设计

目前,Python有两大版本,即2.x版本和3.x版本。从个人学习和了解来看,建议安装3.x版本。

二、安装PyCharm

下载并安装PyCharm

安装好Python后,就可以编写Python代码了。编写Python代码的工具有很多,可以直接通过Windows系统的cmd命令行编写,也可以使用Windows系统自带的记事本、Sublime Text、Notepad++、PyCharm等等编写。

其实,安装Python时,Python就自带了一个集成开发环境——IDLE。

前期刚开始学习Python,需要动手编写一些代码时,可以使用IDLE进行编程。随着学习的深入,为了方便编程,提高编程效率,可以安装PyCharm。

下载PyCharm可以去PyCharm官网

PyCharm有两种版本,一种是免费的社区办,一种是收费的专业版。下载专业版后,可以付费购买,也可以去万能的淘宝寻求解决方案。

具体安装及简单的配置方法网上有很多教程,可以在知乎或者简书搜索,这里给出一个搜索出的教程PyCharm安装及使用

PyCharm连接至GitHub

GitHub号称全球最大的同性交友网站,仅此一点就非常值得去折腾下。

GitHub 是基于 Git 的一个代码托管网站。开发者可以将代码托管在GitHub上,如果程序是开源的,那么可以免费使用GitHub,如果程序不是开源的,则需要收取一定的托管费用。在GitHub上,开发者可以浏览其它项目的代码,fork 到自己名下做修改,clone 回本地(没有访问权限的 private repo 除外)使用,也可以发起 pull request 向上游提交自己的修改。

在学习Python的过程中,可以将自己的代码托管到GitHub上进行版本管理、相互交流。如果学习Python达到一定水平,还可以将具有实用意义的程序托管到GitHub上供他人下载使用,他人也可以通过我们托管的程序了解我们的编程水平,或者帮助完善程序代码等。

要将PyCharm连接至GitHub共有三大步骤:

第一步,注册一个GitHub账号。 打开GitHub官网,注册方法非常简单,这里不再赘述。

第二步,下载、安装并设置Git。 打开Git官网下载最新版的Git。

安装过程中除了下图中由第二项改为第一项外,其他使用默认值即可。Git终端操作需要使用Linux命令行操作。该选项表示以后使用命令行操作时,只能使用Git Bash。这是Windows系统里使用Git最安全的方法,不会修改系统的变量环境。

image.png

安装好了后,在开始菜单可以看到Git Bash,单击它后可以打开一个命令行窗口。

注意自己的安装路径,后面在PyCharm里配置Git时需要用到。

image.png
image.png

在命令行中输入git version可以查看安装是否成功,如果安装成功,会显示安装的Git的版本。比如我安装的是Windows系统的2.17.1版本。

image.png

然后配置用户名邮箱SSH

在命令行中输入:

# 配置用户名
$ git config --global user.name "Your Name"
# 配置邮箱
$ git config --global user.email "email@example.com"
# 生成 ssh,输完后连敲三个回车即可
ssh-keygen -t rsa

这里配置的Your Nameemail@example.com目的是用于在Git中区别不同的开发者,这里设置的用户名和邮箱与远程库(代码托管中心,如GitHub)的登录用户名和密码没有联系。
#后面的语句表示注释,起提示作用,在配置过程中不用管。

这时候去查看系统盘用户目录下(一般在 C:\Users\你的用户名.ssh)是否有了.ssh 文件夹,进入会看到之前生成的 id_rsa以及 id_rsa.pub

接着,将Git连接至GitHub。

用记事本打开刚才生成的id_rsa.pub文件,复制里面的内容。

打开GitHub官网并登陆,单击头像后选择Settings,在 Settings 页面的SSH and GPG keys栏中添加新的SSH key。Title 可以自定义,将刚才复制的内容粘贴到key栏里。

image.png

打开Git Bash,然后输入ssh git@github.com

如果出现以下内容,表示Git连接至GitHub成功。

PTY allocation request failed on channel 0
Hi stephencode! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
image.png

第三步,设置PyCharm并建立远程仓库。 打开PyCharm,按以下步骤单击:File-->Settings-->Version Control

首先,单击GitHub,将Auth Type改成PassWord。输入GitHub的注册名和注册密码。单击Test测试是否连接至GitHub。

image.png

然后,单击Git,输入Git的安装地址。

image.png

最后,建立远程仓库。 按以下步骤依次单击:

VCS-->Import into Version Control-->Share Project on GitHub

image.png

然后PyCharm会打开一个窗口,在这个窗口填写仓库名以及一些描述信息,单击Share,按照提示操作即可在GitHub上建立一个远程仓库并将已有程序上传至GitHub。

通过以上三大步设置好以后,如果新建文件,PyCharm会自动提示是否将文件上传至Git;如果对已有文件进行了更改,在PyCharm左侧窗口的文件列表中右键单击该文件,然后单击Git-->Add,修改好了后单击Commit File...即可将新修订的程序添加到Git仓库,然后单击Push即可将文件推送到GitHub。

image.png
image.png

如何将GitHub上的代码fork下来,现在学习还未涉及到。以后如果涉及到这方面需求,再单独撰文。

三、分析一段代码

正式开始学习Python前,曾为VNote编写过一段粗糙的CSS文件。通过边学习,边修改的方式,让我对CSS有了大概的印象。因此,在学习Python时,也是通过分析一段代码,初步了解Python语言的注释方式、程序结构等一些基本的知识。

我学习的这段代码如下:

# 温度有两种刻度方式,即华氏温度(℉)和摄氏温度(℃)。
# 要求用户输入任意一种带符号的温度值后(如23F、37C),程序能够自动将温度值转换为另一种温度值。

TempStr = input('请输入带符号的温度值(如38C):')
if TempStr[-1] in ['c','C']:
    F = 1.8*eval(TempStr[0:-1]) + 32
    print('转换后的温度值是{:.2f}F'.format(F))
elif TempStr[-1] in ['f','F']:
    C = (eval(TempStr[0:-1]) - 32) / 1.8
    print('转换后的温度值是{:.2f}C'.format(C))
else:
    print('格式输入错误!')

华氏温度和摄氏温度之间的转换公式:
F = 1.8*C+32

from termcolor import cprint

def buy(products, salary):
    shopping_card = []
    total_money = 0
    while True:
        x = input('请输入想购买的商品编号:')
        if x.upper() == 'Q':  # 退出时打印购物车商品
            if len(shopping_card) == 0:
                print('您的购物车是空的。')
                break
            else:
                print('---------已购买的商品---------')
                for y in range(len(shopping_card)):
                    print('%s. %s    %s' % (y, shopping_card[y]['name'], shopping_card[y]['price']))
                break
        elif int(x) < 0 or int(x) > len(products):
            print('输入的商品编号超出商品列表编号范围,请重新输入。')
            continue
        elif 0 <= int(x) <= len(products):
            # 添加商品到购物车
            shopping_card.append(products[int(x)])
            print(products[int(x)], '已成功加入购物车')
            total_money += products[int(x)]['price']
            cprint('共需支付: %d' % total_money, 'red', 'on_white', ['bold'])
            if int(salary) < total_money:
                balance = int(salary ) - total_money
                cprint('您的余额不足。当前可用余额为: %d' % balance, 'red', 'on_white', ['bold'])
                shopping_card.pop()
                continue
        else:
            print('内容输入错误,请重新输入需要购买的商品编号。')
            continue

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]

user_info = {
    'shanshan':'123',
    'Judy':'321',
    'Miller':'234',
    'Mike':'432'
}

while True:
    user_name = input('请输入用户名:')
    password = input('请输入密码:')
    if user_info.get(user_name) == password:

        while True:
            wage = input('请输入您的月工资收入:')
            if wage.isdigit(): # 判断输入是否为数字
                break
            else:
                print('工资格式错误,请输入数字。')
                continue

        print('-----------商品列表-----------')

        for i in range(len(goods)):
            print('%s. %s  %s' % (i, goods[i]['name'], goods[i]['price']))
        buy(goods, wage)
        break

    else:
        print('用户名或密码错误,请重新输入。')
        continue

注释

在以上代码中,#后面所跟的语句表示注释,起提示的作用。程序不执行该语句,因此该语句也不会影响程序的执行。#一般用于单行注释,如果需要多行注释,需要使用一对'''将多行注释括起来。比如:

'''
这里就是一段多行注释。
这段多行注释用一对 ''' 括起来。
'''

代码结构

Python通过缩进表示语句之间的层次关系。比如F = 1.8*eval(TempStr[0:-1]) + 32print('转换后的温度值是{:.2f}F'.format(F))缩进一样,表示二者同一个层次。F = 1.8*eval(TempStr[0:-1]) + 32if向右缩进四个空格,表示F = 1.8*eval(TempStr[0:-1]) + 32if语句下的内容。

在程序中还涉及到两个经常使用到的函数:inputprint

input主要用于人机交互,允许用户通过计算机输入内容。使用方法如下:Str = input('请输入内容:')。“Str”是变量名,“请输入内容:”是提示用户的信息,只显示,不会打印输出。

通过input函数输入的内容为字符串。如果输入的是数字,实际上得到的是字符串型的数字,要变成数字型数字,可以用eval()、int()函数进行转换。

print主要用于打印输出内容。使用方法如下:print('Hello World'),运行后,会在屏幕上输出“Hello World”。

有了以上准备后,剩下的就是学习的漫漫长征路了!人生苦短,我用Python!

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 前述 聊斋和《石头记》所异于其他古代传奇小说之处,就在于各自描写了诸多以女子为主角的故事,这些女子容貌虽然各异,但...
    梵温2阅读 1,537评论 0 4
  • 《失控的布局》是简书宝玉赠书活动送出的一本书,很幸运成为拿到本书的一员。本书作者原来也是简书签约作者李陌,擅长推理...
    墨笔生徽阅读 510评论 8 15
  • 如果一个女人长得漂亮,双商又很高的话,基本上都会活的很漂亮。 如果一个女人长得漂亮,双商但凡有一商不足,那就要靠运...
    牧田麻麻阅读 156评论 0 0
  • 额呵呵全都占用阅读 199评论 0 3