一、目录

1.Python介绍

python的创始人为吉多·范罗苏姆(Guido van Rossum),目前已经是使用频度特别高的开发语言。

主要应用领域:

  • 云计算:云计算最火的语言,典型应用有OpenStack
  • WEB开发:众多优秀的WEB框架,众多大型网站均为Python开发,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等, 典型WEB框架有Django
  • 科学运算、人工智能:典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维:运维人员必回语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI:PyQT, WxPython,TkInter

学完我们可以干点啥呢?

  • Python开发工程师 :一般需要精通Python编程语言,有Django等框架的使用经验,实习无要求。
  • Python高级工程师 : 北上广深的话,需要精通Linux/Unix平台,有英语阅读功底。
  • Web网站开发方向: 熟悉Web开发的常用 Python框架,熟悉掌握Mysql类数据库的操作即可。
  • SEO工程师: 为自己或公司开发和改进SEO相关软件,实现自动化搜索引擎优化和日常重复工作。
  • Python自动化测试:熟悉自动化流程、方法和常用的模块的使用,有英文读写的能力。
  • Linux运维工程师: Linux服务器管理,数据分析、自动化处理任务、分析网站日志、定时计划管理,解放双手。
  • Python游戏开发工程师: 网络游戏后端服务器逻辑的开发和处理,有大型数据库使用经验,喜欢从事游戏相关工作。
  • Python自学爱好者: 可以自己开发一些小软件和应用,带图形化界面的软件,方便日常工作。

2.Python发展史

3.Python 2 or 3?

2和3虽然有点区别,但随着时间的推移肯定是3越用越多,所以要好好的学习3

4.Python的安装

windows直接下载程序进行安装,Linux和苹果都默认基础了python 2.6,如果需要新版本则需下载安装

①下载:https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

②解压后进入目录编译安装: #./configure --prefix=/usr/python  && make && make install

注:我所有的练习笔记均在Pycharm 5.0.3中完成,python版本为3.6

5.写第一个Hello World程序

6.变量/字符编码

a.变量即可变的量,python中变量的定义规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名【'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'】

b.字符编码简史:

美国:1963年 ASCII (包含127个字符  占1个字节)

中国:1980年 GB2312 (收录7445个汉字,包括6763个汉字和682个其它符号)

1993年 GB13000 (收录20902个汉字)

1995年 GBK1.0 (收录 21003个汉字)

2000年 GB18030 (收录70244个汉字)

世界:1991年 unicode(‘万国码’也就统一编码,通常占2字节,复杂的汉字占4字节)

UTF-8 (可变长的字符编码)

Python2中的字符串进行字符编码转换过程是:

字节串-->decode('原来的字符编码')-->Unicode字符串-->encode('新的字符编码')-->字节串

Python3中定义的字符串默认就是unicode,因此不需要先解码,可以直接编码成新的字符编码:

字符串-->encode('新的字符编码')-->字节串

7.用户输入

即交互式的提醒要求用户输入一些信息,然后打印相应的结果

8.模块

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持

9.pyc是什么

我们说pyc文件其实是PyCodeObject的一种持久化保存方式

10.数据类型初识

  • 数字:整形、浮点、复数
  • 布尔:1(True)为真,0(False)为假
  • 字符串:
  • 列表:索引、切片、追加、删除、长度、循环、包含
  • 元组:可变列表
  • 字典:无序
  • bytes:字节

11.数据运算

  • 算数运算(+(加) 、-(减) 、*(乘)、 /(除) 、%(取模)、 **(幂)、 //(整除))
  • 比较运算(==(等于)、!=(不等于)、<>(不等于)、>(大于)、<(小于)、>=()、<=())
  • 赋值运算(=、+=(自增)、-=(自减)、*=(自乘)、%=(自取模)、**=()、//=())
  • 逻辑运算(and、or、not)
  • 成员运算(in、not in(在不在) )
  • 身份运算(is、 is not(是否是同对象))
  • 三元运算(result = 值1 if 条件 else 值2(如果条件为真result=值1,如果条件为假result=值2))

了解详细:猛击这里

12.表达式if ...else语句

13.表达式for和wile循环

14.break and cotinue


 二、练习

1.略 2.略 3.略 4.略

5.写我们的第一个hello world程序

linux中是:a.新建一个hello_world.py的文件

b.编辑文件#vim hello_world.py (文件头增加‘#!/usr/bin/env python’指定解释器,在增加一行'pring 'hello world')

b.给文件增加可执行权限#chmod a+x hello_world.py即可通过#python hello_world.py执行

注,我所有的练习都是在Pycharm中完成的。

#pycharm 5.0.3(python3.6)
print('hello world!')

Hello_world代码

hello world!
Process finished with exit code 0

运行结果

6.变量

#pycharm 5.0.3(python3.6)
names ='Felix'#变量的声明定义赋值
print('打印变量结果名字:',names)

变量代码

打印变量结果 Felix

Process finished with exit code 0

运行结果

字符编码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#pycharm 5.0.3(python2.6)
#字节串-->decode('原来的字符编码')-->Unicode字符串-->encode('新的字符编码')-->字节串
utf_8_a = '测试'
print(utf_8_a,type(utf_8_a),len(utf_8_a)) #打印utf_8_a的内容、类型及长度
unicode_a = utf_8_a.decode('utf-8') #对utf_8_a进行解码成unicode
print(unicode_a,type(unicode_a),len(unicode_a))
gbk_a = utf_8_a.decode('utf-8').encode('gbk') #先解码在编码成gbk
print(gbk_a,type(gbk_a),len(gbk_a)) #打印gbk_a的内存、类型及长度
print(gbk_a.decode('gbk'))

python2.6运行代码

('\xe6\xb5\x8b\xe8\xaf\x95', <type 'str'>, 6)
(u'\u6d4b\u8bd5', <type 'unicode'>, 2)
('\xb2\xe2\xca\xd4', <type 'str'>, 4)
测试 Process finished with exit code 0

运行结果

#pycharm 5.0.3(python3.6)
#Python3中定义的字符串默认就是unicode,因此不需要先解码,可以直接编码成新的字符编码:
#字符串-->encode('新的字符编码')-->字节串
utf_8_a = '测试'
print(utf_8_a,type(utf_8_a),len(utf_8_a)) #打印utf_8_a的内容、类型及长度
gbk_a = utf_8_a.encode('gbk')
print(gbk_a.decode('gbk'),type(gbk_a),len(gbk_a))

python3.6运行代码

测试 <class 'str'> 2
测试 <class 'bytes'> 4 Process finished with exit code 0

运行结果

7.用户输入

#pycharm 5.0.3(python3.6)
name = input('Please input your name:')
#如果想让输入的密码不可见可以使用 import getpass模块
import getpass #通常调用模块都写在最上边
pwd = input('Your passwd:')
print('Hello,'+name) #字符串的连接可以用“+”(加号)
print('你的密码是:',pwd)

输入代码

Please input your name:Felix
Your passwd:123
Hello,Felix
你的密码是: 123 Process finished with exit code 0

运行结果

8.模块

import sys
print(sys.path) #打印环境变量
print(sys.argv) #实际上打印的是相对路径,由于pycharm中有名称,所以直接打印的是绝对路径 import os
#print(os.path)
#cmd_res = os.system("dir") #执行命令,不保存结果
cmd_res = os.popen("dir").read() #不加read,只是存储到了内存中,需要用read读取
print("-->",cmd_res) #os.mkdir("new_dir") #创建目录
#import login #找模块先去当前目录下找,如果没有则出错,解决,同目录解决,或者修改环境变量

模块代码

9.

10.数据类型

11.数据运算

12.if ...else

#pycharm 5.0.3(python3.6)
#要求:提示用户输入用户名密码
#实现:用户输入用户名密码后进行验证(name = 'Felix',pwd = '123')
# 如果错误,则输出用户名和密码
# 如果成功,则输出 欢迎,XXX!
import getpass #如果想让输入的密码不可见可以使用 import getpass模块
name = input('Please input your name:')
pwd = int(input('Please input your pwd:'))
# pwd = int(getpass.getpass('Please input your pwd:')) #可以隐藏密码提示,这里测试又问题,输入完密码没有结束 if name == 'Felix' and pwd ==123:
print('Welcome ',name)
else:
print('Your name or pwd error')

用户登录验证游戏场景

Please input your name:Felix
Please input your pwd:123
Welcome Felix Process finished with exit code 0

运行结果

#pycharm 5.0.3(python3.6)
#要求:在程序里设定好你的年龄,然后启动程序让用户猜测,
#实现:用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了
age_of_oldboy = 56
guess_age = input("guess age:")
if guess_age == age_of_oldboy:
print("Yes,you got it.")
elif int(guess_age) > age_of_oldboy:
print("think smaller")
else:
print("think bigger")
#以上版本只能一次输入一个年龄就需要在此运行程序

猜年龄游戏场景

guess age:28
think bigger Process finished with exit code 0

运行结果

结合条件利用循环实现让用户不断的猜年龄,但只给最多3次机会,再猜不对就退出程序:

#pycharm 5.0.3(python3.6)
#while循环方式
age_of_oldboy = 56
count = 0
while count <3:
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("Yes,you got it.")
break
elif guess_age > age_of_oldboy:
print("think smaller")
else:
print("think bigger")
count +=1
else:
print("You have tried too many times..fuck off")

猜年龄(while循环)

guess age:20
think bigger
guess age:12
think bigger
guess age:30
think bigger
You have tried too many times..fuck off Process finished with exit code 0

运行结果

#pycharm 5.0.3(python3.6)
#for循环方式
age_of_oldboy = 56
count = 0
for i in range(3) :
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("Yes,you got it.")
break
elif guess_age > age_of_oldboy:
print("think smaller")
else:
print("think bigger")
else:
print("You have tried too many times..fuck off")

猜年龄(for循环)

guess age:30
think bigger
guess age:56
Yes,you got it. Process finished with exit code 0

运行结果

13.循环

for loop

#pycharm 5.0.3(python3.6)
#循环打印1到9
for i in range(10):
print(i)

for loop

0
1
2
3
4
5
6
7
8
9 Process finished with exit code 0

运行结果

#pycharm 5.0.3(python3.6)
#需求一,循环打印1到9,但是遇到小于5的循环次数就不走了,直接跳入下一个循环
#此处就利用到了continue
for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次循环
print(i)

continue

5
6
7
8
9 Process finished with exit code 0

运行结果

#pycharm 5.0.3(python3.6)
#需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出
for i in range(10):
if i >5:
break #不往下走了,直接跳出整个循环
print(i)

break

0
1
2
3
4
5 Process finished with exit code 0

运行结果

while loop

#pycharm 5.0.3(python3.6)
#死循环
count = 0
while True:
print('等着吧……')
count +=1

死循环

#pycharm 5.0.3(python3.6)
#死循环
count = 0
while True:
print('等着吧……')
count +=1 if count == 5:
print('中断循环')
break

中断死循环

14.中断,已在13循环中练习

三、参考

http://www.cnblogs.com/alex3714/articles/5717620.html  <博主博客记录>

http://www.runoob.com/

注:本笔记基于“老男孩python14期百度传课视频”,地址:https://chuanke.baidu.com/v3628575-182242-1134376.html

笔记--Day1--python基础1的更多相关文章

  1. Day1 - Python基础1 介绍、基本语法、流程控制

    Python之路,Day1 - Python基础1   本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...

  2. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  3. 【笔记】Python基础一 :变量,控制结构,运算符及数据类型之数字,字符串,列表,元组,字典

    一,开发语言介绍 高级语言:Java,C#,Python  ==>产生字节码 低级语言:C,汇编                   ==>产生机器码 高级语言开发效率高,低级语言运行效率 ...

  4. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  5. python笔记之python基础

    python基础语法 1.变量命名规则 1).变量必须以字母或者下划线_开头 2).变量可由字母.数字.下划线_组成 3).变量对大小写敏感 2.多行语句 当编写的代码较长,需要换行,可使用 \ 进行 ...

  6. 风变编程笔记(一)-Python基础语法

    第0关  print()函数与变量 1. print()函数print()函数:告诉计算机,把括号的内容显示在屏幕上 # 不带引号 print(1+1) # 让计算机读懂括号里的内容,打印最终的结果 ...

  7. Python之路,Day1 - Python基础1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  8. python开发 Day1 python基础

    编程语言主要从以下几个角度为进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下. 编译和解释的区别是什么? 编译器是把源程序的每一条 ...

  9. day1 python基础知识

    一:python发展 python2.6与python3.0区别: 源码不标准,混乱,重复代码过多 二:python所属类型 (1)编译型:一次性将程序全部编译成二进制 优点:运行速度快 缺点:不能跨 ...

  10. 【学习笔记】Python基础教程学习笔记

    教程视频网盘共享:http://pan.baidu.com/s/1hrTrR5E 03-python基础.if判断 print 输出数据 print("hahahah")----- ...

随机推荐

  1. jQuery基础(1)

    一.jQuery的介绍 1.为什么要使用jQuery? 在用js写代码时,会遇到一些问题,如下: 1)window.onload 事件有事件覆盖的问题,因此只能写一个事件: 2)代码容错性差: 3)浏 ...

  2. NET Core中使用Redis和Memcached

    .NET Core中使用Redis和Memcached的序列化问题   前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许 ...

  3. VS Code开发调试.NET Core 2.0

    VS Code开发调试.NET Core 2.0 使用VS Code 从零开始开发调试.NET Core 2.0.无需安装VS 2017 15.3+即可开发调试.NET Core 2.0应用. VS ...

  4. stm32f107的使用:

    一 不能支持软件仿真: 二 外部晶体推荐25MHZ,但如果不用音频接口,也可以使用8M晶体,需修改这里成8000000: 此时设置如下: 并修改这里 改为: 因为

  5. C# 实现Tree,包含parentId和children

    1.先定义一个类型 public class Node { [JsonProperty(PropertyName = "id", NullValueHandling = NullV ...

  6. golang学习资料

    http://yougg.github.io/static/gonote/GolangStudy.html 

  7. git-gui:使用终端打开以后出现错误提示 Spell checking is unavable

    参考链接:http://www.lai18.com/content/10706682.html 安装了git-gui,打开以后出现以下提示: Spell checking is unavable: e ...

  8. vue使用uglifyjs-webpack-plugin后打包报错

    楼主最新对已做项目进行打包优化,配置了打包环境下去除console.log语句插件---使用uglifyjs-webpack-plugin具体代码如下 npm install uglifyjs-web ...

  9. 浅析HTML的元素类型及其转换

    大家都知道html是由标签元素组成的,在了解元素的类型转换之前,让我们先来了解一下html的元素类型. 一.html元素类型分为两种:块级元素和内联元素,内联元素又被称为行内元素.  常见的块级元素有 ...

  10. Mac下安装ElasticSearch及其插件

    目录 环境介绍 安装过程 安装Kibana 环境介绍 软件版本:ElasticSearch7.0.0 Kibana7.0.0 系统环境:mac 环境 安装过程 官网下载 ElasticSearch7. ...