• Python入门基础


    一、Python简介

      Python是著名的“龟叔” Guido van Rossum在1989年的阿姆斯特丹为了打发无聊时间开发的一个新的编程语言。      

       龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,适合新手学习。


    Python创始人 "龟叔"

     

     

      Python应用领域

      Python是一门 全栈式开发语言,主要应用于数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。

      Python的优缺点

      Python面向对象,免费,可移植,功能强大,简单易学,容易上手。Linux内置Python。

      Python也有缺点,主要是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

    二、第一句Python代码

         print("Hello World!")

        python内部执行过程如下:

        

    三、更新Python

      Linux系统自带Python,无需安装,不过默认安装的版本较低,更新即可。  

     1 查看默认Python版本
     2 python -V
     3  
     4 1、安装gcc,用于编译Python源码
     5     yum install gcc
     6 2、下载源码包(本文以Python3.5.1为例)
        wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz 7 3、解压并进入源码文件 8 4、编译安装 9 ./configure --prefix=/usr/local/python35 10 make all 11 make install 12 5、修改默认Python版本 13 mv /usr/bin/python /usr/bin/python2.6 14 ln -s /usr/local/python35/bin/python3 /usr/bin/python 15 6、防止yum执行异常,修改yum使用的Python版本 16 vi /usr/bin/yum 17 将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

    四、脚本传参

    Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

    • Python内部提供的模块
    • 业内开源的模块
    • 程序员自己开发的模块

    Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数,argv类型为列表

    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3  
    4 import sys
    5  
    6 print sys.argv   

    [root@localhost ~]# python argv.py 
    ['argv.py']
    [root@localhost ~]# python argv.py 8080
    ['argv.py', '8080']

    五、输入

    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3  
    4 # 将用户输入的内容赋值给 name 变量
    5 name = input("请输入用户名:")
    6  
    7 # 打印输入的内容
    8 print name

    输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3  
     4 import getpass
     5  
     6 # 将用户输入的内容赋值给 name 变量
     7 pwd = getpass.getpass("请输入密码:")
     8  
     9 # 打印输入的内容
    10 print(pwd)

    六、基本数据类型

    1、数字

       2 是一个整数的例子。

    长整数 不过是大一些的整数。

    3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。

    (-5+4j)和(2.3-4.6j)是复数的例子。

    int(整型)

      在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
      在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
    long(长整型)
      跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
      注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
    float(浮点型)
      浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
    complex(复数)
      复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
    注:Python中存在小数字池:-5 ~ 257
     

    2、字符串

    字符串格式化 

    1 name="flash"
    2 print("I am %s" %name)
    3 
    4 #输出: I am flash

    PS: 字符串是 s% ; 整数是 d%;浮点数是 f%;原样打印是 %r.      

    1 print("字符串:%s 整数:%d 浮点:%f 原样打印:%r" % ('aa',2,1.5,'r'))
    2 
    3 #输出  字符串:aa 整数:2 浮点:1.500000 原样打印:'r'

           

    字符串常用功能:

    • 移除空白    strip
    • 分割          split
    • 长度          len(obj)
    • 索引          obj[1]
    • 切片          obj[1:] , obj[1:10]

    2、列表

    创建列表:

         name_list = [alex,john,flash]      

         或

         name_list = list([alex,john,flash])

    基本操作:

    • 索引   index
    • 切片   :
    • 追加   append
    • 删除   del  remove   pop
    • 长度   len
    • 循环   for,while (foreach)   中断  break;continue(跳出循环);pass;return;exit
    • 包含   in;not in  __contains__

    3、元祖

        元祖元素不可修改,元祖元素的元素可以修改  

    1 t1 = (11,22,{'k1':'v1'})
    2 t1[2]['k1']=3
    3 print(t1)

    4、字典(键值对)

    健、值、键值对

    keys、values、items

    5、应用示例

      

     1 '''
     2 account.txt文件中的内容为:
     3 flash|12345|1
     4 alex|23456|1
     5 tony|34567|1
     6 要求把它转换成下面的字典格式:
     7  8     "flash":{'pwd':'12345','登录次数':1},
     9     "alex":{'pwd':'23456','登录次数':1},
    10     "tony":{'pwd':'34567','登录次数':1}
    11 12 '''
    13 
    14 match = {}
    15 with open("account.txt","r") as f:
    16     for i in f.readlines():
    17         i = i.strip().split("|")
    18         match[i[0]]={"pwd":i[1],"登录次数":i[2]}
    19 print(match)
    运维因自动化而有趣!
  • 相关阅读:
    激活函数(ReLU, Swish, Maxout)
    损失函数
    md5sum命令行使用注意事项
    Jetson ARM SeetaFace编译
    Linux下的wine生活(QQ/微信/Office)
    人脸识别引擎SeetaFace编译 ubuntu
    Python为8bit深度图像应用color map
    MySQL、MongoDB、Redis数据库Docker镜像制作
    bash的管道符与重定向
    Docker 及 nvidia-docker 使用
  • 原文地址:https://www.cnblogs.com/Rambotien/p/5395491.html
Copyright © 2020-2023  润新知