与python的第一次邂逅
python简介
一.什么是python
- python是一种面向对象、直译式的计算机程序语言,所以有了武老师的那句名言:一切皆为对象
- python的设计哲学是:“优雅”,“明确”,“简单”
- python那些能做的事:web程序,GUI开发,自动化运维,领域涉及到数据分析,量化投资,系统编程,组件集成。网络服务,图像处理,数值计算和科学计算,自动化测试,爬虫
二.和其他语言的对比
1.python自身的优缺点:
python是一种全栈语言,不仅可以做前端,还可以做后端,并且开发效率高,同样的功能比其他语言少得多的代码,而且python拥有丰富的类库,由于其设计哲学,所以python的代码犹如阅读美文样具有易读性
- 由于python还是一种不成熟的语言,在处理多线程进程表现的不是很完美
2.其他语言的优缺点:
- c语言被认为是最基层的语言,和机器直接打交道,代码直接转换成机器码,执行效率高是无可厚非的,而python等语言首先要把代码编译成字节码,然后再编译成机器码,中间就多了那么一步
- 不过,c语言对内存的拿与放需要频繁的操作,另外提供线程的功能比较少(其实大多数的语言都是基于c语言来做的,而且这些语言的出现就是对c语言的某些方面进行优化,例如java,c#,php,也包括现在讲的python)
- PHP在前端web网站有着先天性的优势,而在后端,却显得那么憔悴无力,而python做前端和后端都是非常的方便,比如数据分析方向
三.python的种类和区别
- 由于python比较火,各大语言都开发了自己版本的python,比如jpython就是Java开发的,rubypython就是ruby开发的...这些不同版本的python都用的是同一套规则
- 另外,它们唯一的不同就是,代码编译过程都是用自己语言的编译器,比如,jpython就是用Java的编辑器把代码编译字节码的,有一个pypy版的python,它的代码是直接转换成机器码,执行效果高,主要常见于微线程,不过我们现在用是的cPython
编程要求
一.语法要求
- 统一缩进:同一级代码必须保持一致!(建议是每次缩进4个空格)
二.变量命名
- 命名规则1.只能包含字母、数字、下划线(python对大小写敏感)2.不能以数字开头3.不能是python中定义的关键字
python的安装与更新
一.安装python
- 下载安装包:
https:
/
/
www.python.org
/
downloads
/
- 安装默认路径:
C:\python3.5
- 配置环境变量:
【右键计算机】
-
-
》【属性】
-
-
》【高级系统设置】
-
-
》【高级】
-
-
》【环境变量】
-
-
》【在第二个内容框中找到 变量名为Path 的一行,双击】
-
-
> 【Python安装目录追加到变值值中,用 ; 分割】
- linux:linux自带,无需安装
二.更新python
- windows:卸载重装即可
- linux:
- 查看默认Python版本
python -V1、安装gcc,用于编译Python源码
yum install gcc
2、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装
./configure
make all
make install
5、查看版本
/usr/local/bin/python2.7 -V
6、修改默认Python版本
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
vi /usr/bin/yum
将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
第一次写python
一.执行方式
- 解释器编写
- 文件编写,在终端执行文件(python 路径)
- 指定python解释器的路径 #! /usr/bin/env python
二.写下第一句代码
print('hello world')
print 打印(python2.7可以不加括号,但python3一定要加)
三.编码
- ascii码,8位制,由于计算机语言发明时只考虑了发明者国家的文字语言
- unicode,万国码,兼收了多国的文字语言,至少用两个字节,其中汉字3个字节(弊端:占内存)
- gbk和utf-8,对Unicode加工归类,精简
- # -*- coding:utf-8 -*- 告诉程序用什么编码(py2.7用中文加上这行就是默认ascii转换,py3.0默认utf-8)
四.初识模块和字节码
- 虽然在python的执行方式中的执行文件扩展名可以.txt或.py,但为了规范,统一.py
- 单行注释用#(快捷键--ctrl+/),多行注释用三引号
- import 文件名(等同吧这个文件名的代码导入到了当前程序)
- 文件代码执行过程中就伴随字节码文件的生成.pyc,而且执行时优先找.pyc文件,找不到再找源文件,根据源文件生成一个.pyc文件,然后再执行.pyc文件
五.用户交互
- 交互器:py2.7是raw_input,py3.0是input
username = input('please input your username:')
passward = input('please input your passward:')
print('用户名:',username,'密码为:',passward)
- 输入的结果为:用户名: 拍省先生 密码为: 123
六.编写流程梳理
- 创建xxx.py文件(文本文件改名)--注:不要有中文路径
- 写代码:1.头两行(指定解释器,指定文件编码) 2.功能代码
- 执行代码:1.打开中终端 2.python 文件路径python
- python编码转换图
#在python2.7中编码转换有一个中转过程
#windows终端能对unicode编码自动转换成默认类型gbk
# temp = '李杰'
#解码,需要指定原来是什么编码
# temp_unicode = temp.decode('utf-8')
# temp_gbk = temp_unicode.encode('gbk')
# print(temp_gbk) #而在python3.5中不用人为中转了,程序会自动转换,
# 而且在python3移除了python的unicode的类型
temp = '李杰'
temp_gbk = temp.encode('gbk')
print(temp_gbk) #结果为b'\xc0\xee\xbd\xdc'
七.初识python数据类型
- 数字:age = 18
- 字符串: a1 = ’after‘ 只要是英文单引、双引、三引引起来的内容
- 布尔值: Ture/False(因为python对字母大小写敏感,所以要注意布尔值的首字母要大写)
八.python变量与内存


name1 = 'wupeiqi'
print(id(name1)) #结果为11911888
name2 = name1
print(id(name1),id(name2)) #结果为11911888 11911888
name2 = 'alex' print(id(name2)) #结果为11914576
当name1和name2等于同一个值,显示为指向同一个内存地址,而name2等于另外一个值时,name1和name2指向的内存地址就不同了,从中得出,python是根据值来开辟内存空间的
九.基本条件语句
1.语法格式:if 条件:
内容1
内容2
else:
内容3
内容4
2.同级别保持同样的缩进
3.执行规则:按顺序来,先满足先执行,后满足不执行
n1 = 1
n2 = 2
if n1 < n2:
print('yes')
else:
print('no')
name = input('username:')
pwd = input('passward:')
if name == 'alex' and pwd == '':
print('yes')
else:
print('no')
4.if...elif...else结构
if 条件:
代码块
elif 条件:
代码块
else:
代码块
inp = input('>>>')
if inp == '':
print('')
elif inp == '':
print('')
elif inp == '':
print('')
else:
print('....')
十.while 循环
语法结构:
while condition: #条件不成立是跳出循环
do someting #又叫循环体
如果条件一直成立,那么就会一直循环下去,称为死循环
import time
n1 = True
while n1: #如果条件一直为真,就发生死循环
print('')
time.sleep(1) #如果不确定是不是死循环,可以用time来延迟消耗内存的时间
n1 = False #改变循环条件,让循环退出
print('end')
好,我们来看个小实例:输出10以内的所有的正整数
1.第一个可以通过控制循环的条件来输出自己想要的数
n = 1
while n < 11:
print(n)
n = n + 1
print('End')
2.设置标识符来控制条件
import time
kaishi = 1
flag = False #你知道吗?这就是传说中的标识符
while flag:
print(kaishi)
if kaishi == 10: #标识符起作用前要先判断下
flag = False #当标识符再次出现,循环就要退出了
kaishi = kaishi + 1 #循环计数器,也叫迭代器
time.sleep(1) #这是预防死循环的有效缓冲机制
print('End')
3.好的,那么我们接下来介绍一下,一对双胞胎兄弟:break和continue
- 这两个小兄弟是干嘛的呢?都有中断循环的天生能力
- 不过,break力气大了点,一力中断了整个循环,而continue只中断本次循环,进入下次循环
好,那掌声响起,看看break这个兄弟的精彩的表演吧
kaishi = 1
while True:
print(kaishi)
if kaishi == 10:
break
kaishi = kaishi + 1
看到没,等于10时就跳出真个循环了
好!接下来是continue兄了,等等,由于你只中断本次循环,进入下次循环,所以你更容易进入死循环,所以我请来time兄来给你助阵,可以开始了
import time
while True:
print('')
time.sleep(0.2)
continue
print('')
你看,continue兄开始自己打转转了,一直输出123,它后面的456都看不到
不过这这两兄弟搭配干活,简直就是绝配啊,来,我们瞧瞧吧
现场有人给这两兄弟出了一道难题,就是你把1-10,不过不包7的数字输出
i = 1
while True:
if i == 7:
i +=1
continue
print(i)
if i == 10:
break
i += 1
漂亮,它们做到了,真是一对黄金搭档啊
欢迎大家对我的博客内容提出质疑和提问!谢谢
笔者:拍省先生
与python的第一次邂逅的更多相关文章
- 我和Python的第一次亲密接触 - 零基础入门学习Python001
我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...
- python学习第一次笔记
python第一次学习记录 python是什么编程语言 变成语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 1.1编译型与解释性 编译型:一次性将 ...
- python学习第一次
一,安装python 官网下载地址:https://www.python.org/downloads/windows/ 我下载的是最新的: Download Windows x86 web-based ...
- 课时1:我和python的第一次亲密接触
目录: 一.Python3的下载与安装 二.从IDIE启动Python 三.尝试点新的东西 四.为什么会这样? 五.课时01课后习题及答案 ============================== ...
- 零基础入门学习Python(1)--我和Python的第一次亲密接触
前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...
- [课后作业] 第001讲:我和Python的第一次亲密接触 | 课后测试题的答案
0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方式快速完成某些 ...
- 与Python的第一次见面
1.Python的起源 Python的作者,Guido von Rossum,确实是荷兰人.1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕 ...
- [python] ORM 第一次注释
不懂的东西还太多,就当是自己监督自己吧 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'Michael Liao' impor ...
- 我与Vuex的第一次邂逅
new Vue({ // state data () { return { count: 0 } }, // view template: ` <div>{{ count }}</d ...
随机推荐
- apue编程之参考df代码写的一个简单的df命令的源代码
代码: #include <stdio.h> #include <mntent.h> #include <string.h> #include <sys/vf ...
- shell学习笔记之命令(四)
命令的类型:1>.外部命令:在命令提示符中执行的普通命令.2>.内置命令:内置命令是在shell内部实现的. 1.break命令 #!/bin/sh rm -rf fred* echo & ...
- shiro身份认证
pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...
- CheckBox和richTextBox
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { Initialize ...
- WebIM技术---编写前端WebSocket组件
过去我们想要实现一个实时Web应用通常会考虑采用ajax轮循或者是long polling技术,但是因为频繁的建立http连接会带来多余的请求以及消息精准性的问题,让我们在实现实时Web应用时头疼不已 ...
- 京东阅读PDF导出
适用平台:windows 需要软件:FastStone Capture(截图软件),TinyTask(操作录制软件) 1.打开京东阅读 2.设置截图软件 (1)设置截图区域(FastStone Cap ...
- Spring Boot简化了基于Spring的应用开发
Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的.产品级别的Spring应用. Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可 ...
- amqp server closed the connection. check login credentials socket closed
rabbit, [ {default_user, <<"guest">>}, {default_pass, <<"guest" ...
- Mysql命令行添加用户并且给予远程访问服务器的权限
--查询用户SELECT User, Password, Host FROM user; --创建一个用户,任意主机可以登录%,密码是123456 '; -- 给用户赋予所有权限 GRANT ALL ...
- Android5.0新特性-Material Design
概述 2014年,Google携Android5.X重装归来.全新的UI设计和更加优化的性能,令开发人员眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS.下载地址 htt ...