(一)python基础

<python 语言开发基础>
python 的简介
 创始人:Gudio wan Rossum(荷兰人)
 时间: 1989 圣诞节期间
 Python的命名:源于一个戏剧团 Montypython
 TIOBE index(语言排行)

python 的应用领域
  系统运维
  网络编程
  科学计算
  人工智能,机器人
  Web 开发
  大数据及数据库编程
  云计算
  教育
  游戏,图像
  其他

python 的优缺点
 优点:
  面向对象(java,c++,python)
  免费
  可移植
  可混合编程(c/c++/java/.net)
  简单易学易用
  应用领域广泛
  开发效率高
  开源
缺点:
  与c/c++相比执行速度不够快
  不能封闭源代码
python 的官网
  www.python.org

python 的版本
  python v2.7(2020年结束维护)
  python v3.5(当前教学版本)
  python v3.8(最新版本)

python 的安装:
  windows / Mac os /unix...

python 的运行
 python 的解释执行器
   cpython (python3)
   Jython   (c)
   IronPython (.net)
   PyPy       (python)

第一个python程序
   见: hello.py
python的运行:
 # 方法一
   $ python3 hello.py
 #方法二
   $ chmod u+x hello.py
   在hellp.py 的第一行写入
      #! /usr/bin/python3
   $ ./hello.py

 python 的交互提示模式
 $ python3
>>> #< --可以在>>>提示符下输入语句

退出:
   ctrl+d
   >>> quit()
   >>> exit()

python 的注释
  # 井号开头,直到行尾
 作用:
   让注释内容不参加解释执行

python 的核心数据类型:
  数字(整数,浮点数,复数,布尔型)
  字符串

  列表等

pythong程序的组成:
  程序由模块组成
  模块有语句,函数,类,数据等组成
  语句包含表达式
  表达式建立并处理数据对象

整型数 int
 整型数是不带小数部分的数字。包括自然数,0,及负数
   如: -5,10000,0 等

 整型数的字面值表达方式:
   十进制表示:
     10   200   
   二进制表示:(0b开头,后跟0~1)
     0b111
     0b101
     0b1111
   八进制表示(0o开头,后跟0~7)
     0o177  #127
     0o11   #9
   十六进制表示(0x开头,后跟0~9,A~F,a~f)
     0x11 #17
     0xFF #255
     0x1234ABCD

进制转换:
  十进制(逢十进一)
  二进制(逢二进一)
  八进制(逢八进一)
  十六进制(逢十六进一)

练习:
  计算 0xFFFF表示多少: 65535
  计算 0b1001表示多少   9
  计算 0o71  表示多少   57
  试把 13 转为 二进制表示 0b1101
  把 18 转为十六进制表示  0x12

浮点型数 float
  浮点型数是带有小数部分的数字
表示方式:
 小数形式:
   3.14  3.1  3. 0.14  .14
 科学计数法:
   格式:
     小数 e/E (正负号) 指数
  如:
   6.18E-1
   2.9979e8

复数 complex
  分为两部分:
   实部(real)
   虚部(image)
  虚部以j或J结尾

字面值
 1j, (2j), 1+1J,   3-4J,  (-100+100j)

布尔类型数: bool
 用来表示真和假两个状态的类型
   True 表示真(条件满足或成立)
   Flase 表示假(条件不满足或不成立)
说明:
  Ture 的值为1
  False 的值为0

空值 None 对象
  None 是一个表示不存在的特殊对象
  作用:
    用来占位
    用来变量解除绑定

表达式 和 运算符(也叫操作符)
表达式 expression
  由一个数字或 数字和运算符组成

  作用: 
    通常让计算机做一些事情并返回结果
  例:
    1+2

运算符:
  算数运算符:
  + 加法
  - 减法
  * 乘法
  /  除法
  // 地板除
  % 求余
  ×× 幂运算

除法:
  除法得到的数是浮点数,不会丢弃小数部分
  1/3 = 0.3333
      4/2=2.0

// 地板除 
  除的结果去掉小数部分向下取整
  7 / 3  #得2.33333
  7 // 3 #得2
  8 // 3 #得2
  3.25 //1.5 # 得 2.0
  

% 求余(也叫取模)
  10 % 3  # 得 1
  3.25 % 1.5 # 得0.25

** 幂运算
格式:
 x**y
 意为 x 的 y 次方
  4 ** 2  #得16
  3.0 ** 4.0 #得81
  5.6 ** 1.414 #得11.506..
  (1 + 2j) ** (3+4j)

练习:
  用交互模式求:
   1.一个商店卖西瓜7元一个,你带了20元钱能买几个西瓜,找零多少钱?
     2.一个学生毕业的薪资10000元,每年涨20%,十年后他的薪资是多少?
    
运算符的优先级
  **
  * / // %
  + -
示例:
  1 + 3 * 3 ** 2 + 4 // 2
  1 + 3 * 9 + 4 // 2
  1 + 27 + 4 //2
  1 + 27 + 2
  28 + 2
  30

括号分组子表达式
 用()可以将表达式分组,()内的表达式先进行计算

混合类型自动升级
 1 + 2.14 返回浮点数 3.14

基本输出函数 print
  格式:
    print(要打印的东西)
  各数据可以用逗号‘,’分隔开
示例:
  print("hello")
  print("1 + 2 =",1 + 2)
 

练习在终端打印:

  ********

  *        *

  *        *
  ********

练习:
  已知矩形的长边长6cm,短边长4cm
  写程序求出这个矩形的周长和面积

print('矩形的周长为:',6 * 2 + 4 * 2)
print('矩形的面积为:',6 * 4)

变量 variable
  什么是变量
   变量是用来绑定数据对象的标识符
  变量名的命名方法:
   1.变量名必须为字母或下划线开头,
     后跟字母或下划线或数字
   2.不能使用python的关键字做变量名
 合法的变量名示例:
     a a1 b bbb_aaa _Abcd var alb2c2
 不合法的变量名示例:
     1a 123 $ABC +a -b #ab @ab
 python的关键字:
     True, False, None, is, del, if, dlif,等

赋值语句 statement
  语法:
    变量名 = 表达式
    或
    变量名1 =变量名2 = 表达式
    或
    变量名1, 变量名2, ... = 序列

  作用:
    用于创建变量并将变量绑定(或关联)在一个对象上
  说明:
    1.当变量不存在时,创建改变量同时绑定在这个变量上
    2.当变量存在时,改变此变量的绑定对象
    3.一个变量只能绑定一个对象
    4.两个变量可以同事绑定同一个对象
   
   示例:
     a = 10 #创建一个变量, 和10绑定在一起
     b = 20
     c = a + b #创建变量c,和10 + 20 的结果绑定在一起
     a1 = b2 = c1 = 100
     x,y = 100,200
  练习:
    指定一个圆的半径r为3cm
    1.计算出圆的周长是多少厘米?
    2.计算出圆的面积是多少平方厘米?
     (要求用变量来代替3cm和圆周率 3.145926)
             r = 3
    π = 3.1415926
    print("圆的周长是:",π* r * 2)
    print("圆的面积是:",π* r ** 2)

python 中 关联/ 绑定 / 引用的含义
  在pyhon中,变量没有类型
  关联/绑定/引用都是指变量和一个对象的关联关系

在交互模式下查看变量的绑定关系:
  >>> help('_main_')

python 中的自动化内存管理
  a = 10000
  b = 20000
  a = a + b   #发生了哪儿些事?

序列赋值的语法:
  变量名1, 变量名2, ... = 对象1, 对象2,...
  变量名1, 变量名2, ... = (对象1, 对象2,...)
  变量名1, 变量名2, ... = [对象1, 对象2,...]

变量的交换绑定练习:
  已知有两个变量:
  a 绑定 10000
    b 绑定20000
    问,在不创建任何新对象的情况下,如何让a和b交换绑定的对象?

    a = 10000
    b = 20000
    ....
    print(a)  #20000
    print(b)  #10000

    1. c=a
       a=b
       b=c
    2. a,b = b,a

is / is not 运算符
  作用:
    判断两个变量是否绑定同一个对象,如果是同一个对象返回True,否则返回Flase
  语法:
    x is y
    x is not y

小整数对象池
  CPython中整数 -5 至 256
  永远存在于小整数池中,不会释放并可重复使用
  示例:
    a = 5
    b = 5
    a is b # ??? Ture


    a = 1 + 4
    b = 2 + 3
    a is b  # Ture

id() 函数
  格式
    id(对象)
  作用:
    返回一个对象在内存中的地址

del 语句 (del 是delete的简写)
  作用:
    用于删除变量,同时删除于对象的关联关系。如果可能则释放对象
  语法:
    del 变量名
  
python的内存管理和引用计数
    每个对象都会记录有几个变量引用自身,当引用的数量为0时,则对像被销毁,此种自动化内存管理的方式叫引用计数

复合赋值算术运算符:
  运算符    说明
  y += x    等同于 y = y + x
  y -= x    等同于 y = y - x
  y *= x    等同于 y = y * x
  y /= x    等同于 y = y / x
  y //= x   等同于 y = y // x
  y %= x    等同于 y = y % x
  y **= x   等同于 y = y ** x

练习:
  1. 在终端输出图形
  *
     ***
    *****
   *******
   2.中国古代的秤是16两一斤,请问216两是古代的几斤几两?写程序打印出来
   3.从凌晨0:0:0 计时,到现在已经过了63320秒
    请问现在是几时,几分,几秒? 些程序打印出现在的时间
    提示:
      可以用地板除和求余实现

1. # print("   *   ")
   # print("  *** ")
   # print(" ***** ")
   # print("*******")

2. # print(216//16,"斤")
   # print(216 % 16,"两")

3.# a = 63320//(60**2)
  # b = 63320 % (60**2)//60
  # c = 63320 % 60
  # print(a,"时",b,"分",c,"秒")
  













  







 

猜你喜欢

转载自blog.csdn.net/zh__quan/article/details/81038768