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 -V

    1、安装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的第一次邂逅的更多相关文章

  1. 我和Python的第一次亲密接触 - 零基础入门学习Python001

    我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...

  2. python学习第一次笔记

    python第一次学习记录 python是什么编程语言 变成语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 1.1编译型与解释性 编译型:一次性将 ...

  3. python学习第一次

    一,安装python 官网下载地址:https://www.python.org/downloads/windows/ 我下载的是最新的: Download Windows x86 web-based ...

  4. 课时1:我和python的第一次亲密接触

    目录: 一.Python3的下载与安装 二.从IDIE启动Python 三.尝试点新的东西 四.为什么会这样? 五.课时01课后习题及答案 ============================== ...

  5. 零基础入门学习Python(1)--我和Python的第一次亲密接触

    前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...

  6. [课后作业] 第001讲:我和Python的第一次亲密接触 | 课后测试题的答案

    0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方式快速完成某些 ...

  7. 与Python的第一次见面

    1.Python的起源 Python的作者,Guido von Rossum,确实是荷兰人.1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕 ...

  8. [python] ORM 第一次注释

    不懂的东西还太多,就当是自己监督自己吧 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'Michael Liao' impor ...

  9. 我与Vuex的第一次邂逅

    new Vue({ // state data () { return { count: 0 } }, // view template: ` <div>{{ count }}</d ...

随机推荐

  1. apue编程之参考df代码写的一个简单的df命令的源代码

    代码: #include <stdio.h> #include <mntent.h> #include <string.h> #include <sys/vf ...

  2. shell学习笔记之命令(四)

    命令的类型:1>.外部命令:在命令提示符中执行的普通命令.2>.内置命令:内置命令是在shell内部实现的. 1.break命令 #!/bin/sh rm -rf fred* echo & ...

  3. shiro身份认证

    pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...

  4. CheckBox和richTextBox

    namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { Initialize ...

  5. WebIM技术---编写前端WebSocket组件

    过去我们想要实现一个实时Web应用通常会考虑采用ajax轮循或者是long polling技术,但是因为频繁的建立http连接会带来多余的请求以及消息精准性的问题,让我们在实现实时Web应用时头疼不已 ...

  6. 京东阅读PDF导出

    适用平台:windows 需要软件:FastStone Capture(截图软件),TinyTask(操作录制软件) 1.打开京东阅读 2.设置截图软件 (1)设置截图区域(FastStone Cap ...

  7. Spring Boot简化了基于Spring的应用开发

    Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的.产品级别的Spring应用. Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可 ...

  8. amqp server closed the connection. check login credentials socket closed

    rabbit, [ {default_user, <<"guest">>}, {default_pass, <<"guest" ...

  9. Mysql命令行添加用户并且给予远程访问服务器的权限

    --查询用户SELECT User, Password, Host FROM user; --创建一个用户,任意主机可以登录%,密码是123456 '; -- 给用户赋予所有权限 GRANT ALL ...

  10. Android5.0新特性-Material Design

    概述 2014年,Google携Android5.X重装归来.全新的UI设计和更加优化的性能,令开发人员眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS.下载地址 htt ...