python学习笔记之python基本知识

1.python概述

   python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。
   python优点
     •简单、优雅、明确
     •有强大的第三方库模块
     •可跨平台移植
     •一种面向对象的语言
   python缺点
     •代码执行速度慢,相比C语言,不过现在python的异步并发框架导致执行速度慢;
     •python是开源的编程语言,代码不能加密;

2.Python的安装

   访问python官网,下载不同平台下的python软件;
   软件下载: www.python.org
   ipython: IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,
   支持 bash shell 命令,内置了许多很有用的功能和函数。
   vim:
    第一行指定解释器位置: #!/usr/bin/env python    #!/usr/bin/python
    指定编码格式: #coding:utf-8        (ASCII, Unicode, GB2312, utf-8 )
    添加执行权限
  IDE工具Pycharm:
    解压到/opt目录;
    cd {dir/home}/bin;./pycharm.sh;
    pycharm的设置信息保存在~/.PyCharmCE2017.1;
    charm &
   Linux操作系统上一般iso镜像里面自带,直接通过yum安装;(执行 yum install python -y)
  注意点:
   python2.6是一个过渡版本,既可以执行,又包含python3.0的新特性; 现在企业实战应用python版本为2.7版本; 
   python2.7是python2.x系列最后一个版本,不会再有python3.0;
   查看python版本

   

3.python脚本


   vim:
    第一行指定解释器位置: #!/usr/bin/env python    #!/usr/bin/python
    指定编码格式: #coding:utf-8        (ASCII, Unicode, GB2312, utf-8 )
    添加执行权限:chmod +x filename.py

4.python的基本数据类型

<1>输入输出
  1. input接收数值类型数据:
  2. raw_input接收字符串类型的数据:
  3. 输出print

练习1:输入年份判断是否为闰年

  
 
  

练习2:输入用户名及密码并打印

  

  

练习3:print 输出 及“”“的使用

  

  
练习4:输入三门科目成绩计算平均分

  

  
练习5:用户登陆

  python学习笔记之python基本知识

  python学习笔记之python基本知识
练习:
     写一程序,录入信息包括hostname、IP、used_year、CPU、Memory、manager_name,
     如果使用年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年,显示该服务器信息如下面的格式如下:
     主机信息
     主机名: hostname
     IP:IP
     使用年限:used_year
     CPU:CPU
     Memory:Memory
  python学习笔记之python基本知识
 
  python学习笔记之python基本知识

<2>.变量
  python中地址变量与c语言刚好相反,一条数据包含包含多个标签;
  In [27]: a=324

  In [28]: a
  Out[28]: 324

  In [29]: type(a)
  Out[29]: int

<3>.运算符和表达式
    1>算术运算符     + - * / ** % //         2**3=8
    2>赋值运算符     = 是赋值   == 是比较        +=,-=,/=,*=,%=
    3>关系运算符     >, >=, <, <=, !=, ==
    4>逻辑运算符     逻辑与and, 逻辑或or, 逻辑非not
    5>布尔类型bool   Ture False
<3>.内置方法(BIF)
    cmp()               #比较
    str()               #字符串
    type()              #查看数据类型
    bool(0/1)           #转换为Ture/False
    complex()           #取复数
    abs()               #取绝对值
    coerce(a,b)         #把两种类型统一
    divmod(a,b)        #a对b取商取余
    pow(a,b)            #a的b次方
    round(1.4)          #四舍五入
    每种数据类型都可以是一种内置方法

5.if语句

   

   

   

   

6.while语句

  

7 .for循环语句

for i in 可迭代的对象:
    语句1
    第一个可迭代的对象:range(start,stop,step)
#############################################################
#!/usr/bin/env python
#coding:utf-8
'''
要求:
编写九九乘法表:
        1*1=1
        1*2=2 2*2=4
        . .
        . .
        1*9=9 . . .9*9=81
考点:
for循环的嵌套
range(start,stop,step)
''' 
for i in range(1,10):                        #i从1-10循环但不包括10,默认步长为1
        for j in range(1,i+1):               #j从1到i+1
                print "%d*%d=%d" %(j,i,i*j), #%d占位符,“,”表示不换行
        print                                #print后面什么都不加,意为换行
################################################################## 

8.字符串类型

 1>.字符串类型
    <1>创建:''   ""   """块注释/字符串格式化/函数的doc文档   转义字符(:\'单引号本身,\"双引号本身,\n换行,\t tab键)
    <2>特性:
    索引:s=wasde w是0,a是1..
         索引(s[i] ):获取特定偏移的元素
             给一个字符串,可输出任意一个字符,如果索引为负数,相当于从后向前数
    切片:s[start:stop:step]
          start默认值为0,stop默认值为字符串长度,step默认值为1
          s[1:4:2]  
          s[::-1]
          s[:4]
          s[1:] 切掉第一个字符
    <3>连接操作 
    <4>重复操作
                    
    <5>成员操作符:in ,not in
 2>.字符串是可迭代对象,通过for实现循环
 3>.字符串常用方法:
    (1).判断字符串是由什么组成
    (2).判断是否以指定字符开头/结尾
        s.startswith("https://")
        s.endswith(".png")
    (3)去除字符串左右空格(主要应用在有用户输入数据的地方)
        s.strip()
        s.lstrip()
        s.rstrip()
    #重点:    s.replace(" ","") 删除空格 
    (4)字符串对齐格式化:左对齐,右对齐,居中
        s.center(40,"*") 总长40,s居*中
        s.ljust()
        s.rjust()
    (5)按照指定分隔符分离字符串:(默认分隔符为空格)
        >>ip = "172.25.254.113"
        >>ip.split(".")
        >>['172', '25', '254', '113']
    (6)指定分隔符连接信息
        >>a = "wwe 788 ok"
        >>a=a.split()
        >>"+".join(a)
        >>'wwe+788+ok'
 4>.内置法方法(BIF built-in fuction)
    cmp,len,max,min,枚举enumerate,zip


        

9.元组

<1>为什么需要元组?
    比如:打印用户的姓名
    userinfo1 = "fentiao 4 male"
    userinfo[0:7]
    结论:字符串中操作提取姓名/年龄/性别的方式不方便,诞生元组.
<2>元组的定义
    •- 定义空元组
    tuple = ()
    •- 定义单个值的元组
    tuple = (fentiao,)
    •- 一般的元组
    tuple = (fentiao, 8, male)
<3> 元组特性
    • 不能对元组的值任意更改;  
    

    • 对元组分别赋值,引申对多个变量也可通过元组方式分别赋值
     
     
  
    •元组的操作
       元组也属于序列,可执行的操作如下:索引、切片、重复、连接和查看长度

             python学习笔记之python基本知识
     
      删除元组

            python学习笔记之python基本知识
     元组的方法
      • t.count(value)-->int
       返回value在元组中出现的次数;
      • t.index(value)
       返回value在元组中的偏移量(即索引值)