豆子最近开始跟着老男孩的视频学习Python。

下面是第一周(天)视频的笔记,目前为止还比较基础

1. Alex的心灵鸡汤(可歌可泣 荡气回肠的屌丝逆袭故事)

2. 历史(总之Python就是全能的,速度慢点大部分时候不重要)

3. 版本2和3的主要区别

  • 一些命令的语法格式,例如print

  • 版本2默认编码ascii,识别中文需要指定字符库;版本3默认是unicode编码,无需指定字符库

  • 一些库的名称改变了

4. 安装: 

Linux 和 Mac已经自动安装,如果没有到最新版本,升级即可;

Windows 直接从 下载即可。建议2.7和3.5两个版本都进行了安装。

开发工具:PyCharm

5. 字符编码历史 (ASCII 和 GBK, Unicode的发展历史)

6. Hello World 所有语言的第一个象征意义的程序

print("Hello World!")

7. PyCharm 模板,为了让Python2也能显示国际码,需要指定字符库,为了省事,可以直接在模板里面定义。

8.注释  

# 单行注释 

''' ''' 多行注释

9. 字符串的格式化, %s, %d, %f 等参数如何传入字符串中

例如

account=input("Please intput your account: ")age =int(input("Please intput your age: "))job =input("Please intput your job: ")msg='''User Information----------------Account : %sAge     : %dJob     : %s------END--------''' % (account,age,job)print(msg)

结果如下所示

10. 模块,使用模块需要import进行导入,这里学习了 getpass,os和sys 3个基本的模块的简单使用

例1. 隐藏密码明文

Ubuntu 下面vim编辑一个文本 test_pwd.py, 这里导入了getpass这个模块,注意Windows下面是无法识别的。

执行看看,第一次直接输入 Python报错 ,因为Python2 认为input 后面应该跟变量而不是字符串;改成python3 执行成功。如果希望在python2里面输入字符串,需要把input替换为raw_input

例2. Python中直接执行Shell命令,导入os模块,执行system命令

注意最下面的0是他的返回值。

例3. 保存结果到变量

如果想把上面的结果保存到变量,需要使用popen的命令,如果直接赋值上面的命令为变量,那么那个变量的结果是返回值的结果,比如0

例4. 创建新文件 os.mkdir()

例5. 自定义模块

任何一个Python的脚本都可以作为模块直接导入。比如说

创建一个tab.py 的脚本,他的作用是自动补全命令

直接导入后,就可以使用tab键补全命令了

比如我想知道 os.m 后面有哪些命令,按tab就自动出来了

例6.  路径环境变量 

Python有自己的全局环境变量路径,类似于windows的 Path 变量。这些路径可以通过sys模块进行查看。

如下所示,Python会按照顺序依次搜索对应的脚本名

例7.  If 判断语句和for循环

比如猜数字,每输入3次,就提示是否继续;如果猜中就退出,没猜中就继续,总共是10次机会。

#!/usr/bin/env python# -*- coding:utf-8 -*-# Author Yuan Linumber=25counter=0for i in range(10):    counter+=1    if counter <= 3:        guess=int(input("Input your guess number please "))        if guess == number:            print("Correct")            break        elif guess > number:            print("Please guess smaller")        else:            print("Please guess bigger")    else:        confirm=input("Do you want to continue. y/n")        if confirm == "y":            counter =0            continue        else:            print("Bye")            break