python学习心得第一章
初始python
1什么是程序
计算机程序是一组执行某种动作的的指令。和那些电路、芯片、显卡、硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西。程序就是一系列告诉没有知觉的硬件该做什么事情的命令。软件就是这些程序的集合。
2.用什么来构造程序呢?
和人类之间沟通一样,计算机之间也是通过语言进行沟通的。这里所说的语言就是编程语言(编写程序的语言),每一种编程语言就是一种和计算机打交道的方法。就如英语,德语,法语,中文等。每一种编程语言就像各个国家的国语一样会有名字。有些采用首字母,有些采用简写,甚至还有一些采用电视剧命名,如python语言。python语言采用著名的英剧《蒙提.派森的飞行马戏团》。
3.python的由来
python是1989年圣诞节期间,Guido von Rossum为了打发无聊的时间而进行编写的。目的是开发一个全新的脚本语言作为ABC语言的一种继承。
4.为什么选择python语言?
1.python是广泛认同最容易学习的语言,它为了让程序员把精力都放在逻辑分析上面而不像c和c++那样拥有太多复杂的语法而使开发效率下降。
2.python拥有大量的库和函数,使得开发时大大的为程序员提供了方便。
3.python在图像处理,数据挖掘,爬虫,人工智能方面的应该都极为广泛,由于其开发时语法简单,可以快速实现算法。不用过多的纠结语法。
下图是python近几年的运用程度。
并且python在许多巨头企业都有运用,比如Google,Facebook,NASA,知乎,腾讯,豆瓣,百度等几乎99%的中大型互联网公司都有其运用,再加上其强大的跨平台能力,也被称为胶水语言,在后台优化处理上有着自己的优势。
5.python的劣势
python是出了名的慢,相对其他语言虽然开发效率高但是也是出了名的慢,这一点将来python精通以后可以学习c和c++将其嵌套在里面,达到提速的效果,一旦开发成功以后,再将其嵌套。那就是件完美的作品。不仅开发效率高,并且速度也不慢。
6、python的种类
同样是python也会有各种各样的。
cpython:将源码转换为c的字节码,然后运行在python的虚拟机(python内置的一种程序)上面。这一类是python的官方版本也是应该最为广泛的一类。
Jpython:将源码转换为Java的字节码,然后在JVM上面运行。
pypy这是python的一个特殊类。它是边写边编译字节码的虽然比其语言看起来编译过程要慢。但是当它编写完以后就直接是字节码,可以之间翻译为机器码,不用再象其它语言那样把源代码再转换为字节码。速度是最接近cpython的。因为c转换为机器码是除了汇编语言以外最快的。
7.安装pytho环境
1、window环境
输入网址www,python.org,进入官网页面
点击上图的Downloads
选择windows里面的版本确定以后点击download即可进行下载。
注意选择自己电脑适合的版本如系统和位数
注意:如果你下载的版本是3.5在安装的时候,第一个界面的最下面会有提示问你是否安装环境变量这个一定要打勾
如果你是2.7版本就要到计算机的属性里面的高级设置里去改环境变量
把上图中的path里面的末尾添加c:\python27然后保存。这样才能在终端使用2.7和3.5版本,由于系统默认的是2.7并且3.5在默认安装环境变量以后再path里面是不显示的,所以如果你要用3.5就把2.7的环境变量删除以后点击保存就可以用3.5了。同理添加就可以用2.7了。也可以直接在终端直接执行3.5。
2.Linux环境自带python这也是python受欢迎的一个原因。
8.python入门
让我们一起来吟唱那句古老而神秘的咒语hello world
1.print ('hello world')
在c:\homework\day_1.py文件里面保存这个代码然后在python解释器里面直接执行含有这个代码的.py文件即可
如果不想输入上述的路径,想要直接实现则需要在文件的开头加上
1.#!/usr/bin/env python
2.
3.print('hello world')
这样直接执行./day_1.py文件即可(针对Linux系统,windows无效)
9.关于编码问题
由于计算机是由美国人发明的所以编码问题最开发只是采用的ascii码的方式进行编译即所有的字母,字符,数字采用8位即可。总共是2**8个表示形式
后来计算机火遍全球,所以各个国家的语言加入进来显然2的8次方中表示方法已近不够用,最后延伸出来新的编码规矩就是Unicode。
但是Unicode由于最少站两个字节即16位来存数据明显有过多的浪费,明明一个字节的结果用了两个。对内存产生的不好的影响,所以经过改进产生的utf-8和GBK两个优化的新编码规矩。
python便是采用utf-8这种规格。
utf-8采用ascii码里面的字符是一个字节,欧洲字符是两个字节,东亚的字符是三个字节
由于python2.7默认的是ascii编码所以一下代码无法执行
1.#!/usr/bin/env python
2.
3.print('你好 世界')
但是如果在前面编写代码之前告诉python解释器你要用什么规矩来编码就可以实现
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.print('你好 世界')
由于python3.5默认的是utf-8这种方式所以就不用改直接输出汉子即可
注意:#表示被注释掉的行 不参与代码的执行
10.python有很多的模块,主要分成三组
1组:内部自身提供的模块
2组:业内开源的模块
3组:程序员自己开发的模块
比如画图的代码
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.import turtle
4.turtle.pen()
5.turtle.forward()
导入的是内部的turtle模块 让python帮你在计算机上面简单的进行画图forward()和left()都是模块里面的函数
11.什么是pyc文件
python每次执行完.py文件以后都会在计算机上面生成一个.pyc文件。这个就是编译好的字节码文件。以后电脑执行这个.py文件的时候就先去找.pyc文件。直接让其翻译成机器码,不会再重复先翻译成.pyc文件,让开发速度提高减少cup的工作负担。
12.什么是变量
在编程语言中有字符串和数字和布尔值True,False(注意这两个值都是必须要大写的)True代表真值,False代表假值
name='liu yun xiang'#字符串用引号把内容括起来
pwd=1231231231#数字
这些字符串和数字往往都要赋值给一个变量
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*- 1.name='xiang' 2.pwd=123
上述中name和pwd都为变量
变量是用来指代内存里面某个地址保存的内容。
变量只能由数字,下划线,字母组成。并且数字不能在第一个。python里面的关键字是不能作为变量的,例如import、if、and、or、等
13.变量在内存里面的表现形式
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name1='wupeiqi'
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*- 3.name1='wupiqi' 4.name2='alex'
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*- 3.name1='wupeiqi 4.name2=name1 '
注意:name2原来的值alex当name2变为name1以后 alex这个值就会被python解释器处理掉 不一定在内存里面了
14.输入程序
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name=input('输入的内容')
4.print(name)
在执行程序的时候在输入内容的地方输入代码,代码的值就会赋给name,最后再输出name。且name为字符串
1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name=int(input('输入的内容'))
3.print(name)
同上只不过输出的不 再是字符串,而是整形。
15.if语句的应用
if语句在python里面作为常用语句,其功能就是判断是否满足条件,如果满足就执行 如果不满足就执行else:
1.name='xiang'
2.if name=='xiang':
print(123)
3.else:
print(456)
如果满足条件name等于字符串'xiang'则输出123,否则输出456
当有多个条件的时候:
1.name='xiang'
2.if name=='xiang':
print(123)
3.elif name=='liu':
print(3123)
4.elif name=='yun':
print(999)
5.else:
print(456)
满足if或者elif是执行其中代码,如果都不满足执行else:
注意:if后面的条件可以任意变化,以满足代码要求
16.while循环语句
除了if以外还有一个常用的循环,while循环,里面有continue和break两种
1.continue(退出当前循环)
1.x=0#输入一个变量x并且把它赋值为0。
2.while<10:#进入while<10的循环。
3.if x==7#进入条件语句判断变量是否为7,如果等于7 由于continue退出当前循环。
continue
4.print(x)#打印x
5.x=x+1#x+1以后再赋值给x
注意while循环无法做到自己增加变量值如果不用x+=1改变变量值就好进入一个死循环不停的打印0.当我们增加了if...continue这个条件以后当x变量增加到7的时候。退出当前循环,由于不执行下面的代码print(i)和x=x+1.所以x一直是7,当x为7再次进入while里面的时候又执行了continue。所以就产生了死循环。打印的结果为0 1 2 3 4 5 6.
如果想让while继续循环就需要改动一下
1.x=0#输入一个变量x并且把它赋值为0。
2.while<10:#进入while<10的循环。
3.if x==7#进入条件语句判断变量是否为7,如果等于7 由于continue退出当前循环。
x+=1
continue
4.print(x)#打印x
5.x=x+1#x+1以后再赋值给x
2.break退出整个循环
1.x=0#输入一个变量x并且把它赋值为0。
2.while<10:#进入while<10的循环。
3.if x==7#进入条件语句判断变量是否为7,如果等于7 由于continue退出当前循环。
break#永远退出该循环
4.print(x)#打印x
5.x=x+1#x+1以后再赋值给x
如果在while循环的时候遇到了break。循环就直接跳出,并且不会再进入该循环
注意:while后面跟的条件为真的时候才会进入循环,为假永远都不会进入.
17.python的终端执行代码
注意python和执行路径之间有一个空格。
python学习心得第一章的更多相关文章
- python学习心得第二章
python基础 1.关于python编码的问题. python的编码现在主要是两种版本python2.7和python3.5 python2.7默认的是ascii码进行编译,我们可以采用 # -*- ...
- Python 学习系列----第一章:基础知识
1.1 常量-----不能改变它的值 1.2 数 在Python 中数可以分为整数.浮点数和复数. PS:在Python中不用区分'long int'类型.默认的整数类型可以任意长.(译者注:长度应该 ...
- Python学习笔记 -- 第一章
本笔记参考廖雪峰的Python教程 简介 Python是一种计算机高级程序设计语言. 用Python可以做什么? 可以做日常任务,比如自动备份你的MP3:可以做网站,很多著名的网站包括YouTube就 ...
- python学习心得第五章
python学习心得第五章 1.冒泡排序: 冒泡是一种基础的算法,通过这算法可以将一堆值进行有效的排列,可以是从大到小,可以从小到大,条件是任意给出的. 冒泡的原理: 将需要比较的数(n个)有序的两个 ...
- python学习心得第四章
python 学习心得第四章 1.lambda表达式 1:什么是lambda表达式 为了简化简单函数的代码,选择使用lambda表达式 上面两个函数的表达式虽然不一样,但是本质是一样的,并且lamb ...
- python学习心得第三章
python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- 路飞学城-Python爬虫集训-第一章
自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...
- [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]
第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...
随机推荐
- C# dataTable 排序
DataView dv = ds.DefaultView; dv.Sort = "header asc"; ds = dv.ToTable(); C# dataTable 排序
- C# webbrowser实现真正意义上的F5刷新
关于webbrowser的刷新在C#中有提供方便的方法: webbrowser.refresh(); 但是有时候会发现,不给力啊 那怎么办? 还有一招: webBrowser1.Document.Ex ...
- git学习:忽略部分文件
第二部分:自定义Git 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件,数据库文件,图片等等,每次git status都会显示Untracked fi ...
- GDB 调试遇到??的问题
今天总算解决了一个大的bug,爽! 我的程序crash,有了coredump文件,在Linux PC上用arm-linux-gdb debug it. The result is: #0 0x402 ...
- 导出DBF,并且提供下载 [转]
导出DBF,并且提供下载 #region Declare string mFilePath = MapPath("../DataTmp/"); str ...
- git上传到阿里云code
一.在阿里云code(kelude)注册用户,新建项目.二.安装Git后使用GitBash生产ssh key:(https://zhidao.baidu.com/question/1303468264 ...
- FreeBSD从零开始---安装后配置(三)
IPFW和IPF 一.IPFW IPFW意思可以理解为ip防火墙,主要作用是拦截设定规则外的ip包.你可以把这个理解为linux下的iptables,但是,ipfw要比iptables简单易用. ...
- VC++6.0 配置CppUTest测试环境
最近看<软件项目成功之道>,书中无数次提及到“单元测试”对于项目成败的重要性,看到同事将CppUTest用于Linux动态库测试,于是在VC++6.0环境下搭建一个基于CppUTest的单 ...
- Ambari 不能配置 Kafka 监听host的问题
问题:Ambari下Kafka多IP监听配置 环境:Ambari 1.7.0 , Hadoop 2.2 Kafka 0.8.1.2.2.0.0 现象: Ambari 中是不能配置Kafka的host. ...
- 小结一下:javascript 金额计算
今天在项目中开发一个计算金额的功能,开始我是这样做的: eg: var amount += parseFloat( 0.01+0.02); 结果:0.0300000000000000001 为什么呢? ...