01: Python简介 Python程序 Python核心数据类型及内置对象 表达式 运算符

day01笔记
自我介绍

<<Python 基础 >>
简介
python的诞生
创建人: Guido van Rossum (荷兰人)
时 间: 1989年

python语言的应用领域:
系统运维
网络编程(搜索引擎,爬虫,服务器编程)
科学计算
人工智能,机器人
web 开发
云计算
大数据及数据库编程
教育
游戏,图像处理
其它。。。
优缺点:
优点:
面向对象(Java, C++, Python, C#, Swift)
免费
可移植 (Windows, Linux, Unix, IOS, 安卓)
可混合编程(C / C++ / Java / .net )
简单易学易用
应用领域广泛
开源
缺点:
与 C/C++相比,执行速度不够快
不能封闭源代码

python的官网
https://www.python.org

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

python 的运行:
python的解释执行器的类型
CPython (C语言开发)
Jython (Java语言开发)
IronPython (.net开发)
PyPy (Python语言开发)

第一个python程序
编写: hello.py

解:
print("hello world!")
print("hello tarena!")
print("hello everone!")
print("你好,中国!")

执行python程序
$ python3 文件路径名.py
例:
$ python3 /home/tarena/aid1806/pbase/day01/hello.py

常用的文件后缀:
.py python语言后缀
.c C语言
.cpp/.cc/.cxx C++语言后缀
.java Java语言后缀

在python交互模式下编写并执行代码
进入交互模式:
$ python3 <回车>
退出交互模式:

>> quit() <回车>
>> exit() <回车>
或输入: ctrl + d (输入文件结束符)

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

sublime 注释快捷键 ctrl + /

python 程序的组成:
程序是由模块组成
模块是由数据,函数,类等组成
函数由语句组成
语句由表达式组成

python 的核心数据类型
数字(整型数int,浮点型数float,复数complex, 布尔型bool)
字符串 str, 列表 list 等

整型数 int
整数是不带有小数部分的数字

整数 的字面值表示方式
十进制表示方式
如:
10
200
-100
99999999999999999999999999
八进制表示方式
如:
0o177 (127) #转换成十进制公式 1*82 + 7*8*1 +780
0o11 (9) #转换成十进制公式 1*81 + 1*8*0
十六进制表示方式:
如:
0x11 (17) #转换成十进制公式 1
16
1 + 1*160
0xFF (255) #转换成十进制公式 15*16*1 + 1516
0
0x1a2b #转换成十进制公式 11*160 + 2*16*1 + 10162 + 1*163
二进制表示方式:
如:
0b111 #转换成十进制公式 1*2*0 + 12
1 + 1*22
0b101 #转换成十进制公式 1*2*0 + 02
1 + 1*2**2

进制:
二进制 逢二进一 (0~1)
八进制 逢八进一 (0~7)
十进制 逢十进一 (0~9)
十六进制 逢十六进一 (0~9,A-F, a-f)
十六进制其中用A,B,C,D,E,F分别表示10,11,12,13,14,15

浮点型数 float
浮点数是带有小数部分的数字(小数部分可以是0)

浮点数的字面值表示方式:
小数表示法:
如:
3.14 3.1 3.0 3. 0.14 .14
科学计数法:
格式:
小数 e/E (正负号) 指数
如:
6.18E-1 (等同于 0.618)
2.9979e8 等于299790000.0

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

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

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

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

表达式和运算符
表达式 expression
由一个数字 或 数字和运算符 等组成

作用:
通常让计算做一些事情并返回结果
如:
1 + 2
1 + 2 * 3 + 4 / 5

运算符:
算术运算符:

  • 加法
  • 减法
  • 乘法
    / 除法
    // 地板除floordiv
    % 求余
    ** 幂运算
    / 除法
    除法得到的数是浮点型数,不会丢弃小数部分
    1 / 3 # 得 0.333333333333
    8 / 2 # 得 4.0

    // 地板除
    除的结果云掉小数部分向下取整
    如:
    7 / 3 # 得 2.333333333333
    7 // 3 # 得 2
    3.25 // 1.5 # 得 2.0
    % 求余
    如:
    7 % 3 # 得 1
    3.25 % 1.5 # 得 0.25
    幂运算
    格式:
    x
    y
    意为 x的y次方
    如:
    4 2 # 得 16
    3
    4.0 # 得 81.0

练习:

  1. 一个商店卖西瓜,7元一个,您带20元钱能买到几个西瓜? 剩多少元?

解:
1) 20 // 7 # 买到2个西瓜
2) 20 % 7 # 剩6元

  1. 一个学生毕业薪资10000元,每个涨薪 20%,请问十年后这个学生的薪资是多少?

解::
10000 * (1 + .2) ** 10 # 得 61917.36

运算符的优先级
**

  • / // %
  • -
    示例:
    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
3 + 4.0 返回 7.0

基本输出函数 print
格式:
print(要打印的东西)

多个数据用逗号分隔开

  1. 打印如下图形:


    • *
    • *

      解:
      print('')
      print('
      ')
      print('
      ')
      print('
      ')

  2. 已知矩形的长边长为6cm,短边长为4cm,用表达式求
    1) 周长是多少?
    2) 面积是多少?
    解:
    print("周长是:", (6 + 4) 2, 'cm')
    print("面积是:", 6
    4, "平方厘米")

变量 variable
什么是变量
变量是关联一个对象的"标识符"

标识符的命名规则:
1.要具有可描述性
2.变量名只能是数字,下划线,字母组成,不可以是空格或特殊字符(#?<.,$*!~%)
3.不能以中文为变量名
4.不能以数字开头
5.保留字符是不能被使用的(比如:print,and,if....)
6.变量名区分大小写

说明:
python的变量名区分大小写
合法的标识符(变量名) 举例 :
abc a1b2 _abc __Abcd var
不合法的标识符:
1a2b $ABC +a -b #ABC @ ABC
python关键字:
True, False, None, is, del, if, elif ...等

赋值语句

语法:
变量名 = 表达式

变量名1 = 变量名2 = 表达式

变量名1, 变量名2 = 序列
作用:

  1. 创建一个变量,此变量用来绑定数据对象
  2. 修改一个变量的绑定关系,让其绑定另一个数据对象

    说明:
    当变量不存在时,创建该变量,同时将变量绑定在这个对象上
    当变量存在时,改变此变量绑定的对象
    一个变量只能绑定一个对象
    两个变量可以同时绑定同一个对象
    示例:
    pi = 3.1415926
    pi2 = pi # pi变量 和 pi2 变量同时绑定 3.1415926
    x = y = 100 # x变量和 y变量同时绑定 100
    x, y = 100, 200 # 序列赋值

python 中的自动化内存管理
a = 10000
b = 20000
a = a + b # 释放10000这个对象,a重新绑定30000
c = a # c同时绑定在30000上

练习:

  1. 指定一个圆的半径是r = 9cm
    1) 计算圆的周长
    2) 计算圆的面积

解:
r = 9 # cm
pi = 3.1415926 # 定义圆周率

length = r 2 pi
print('周长是', length)
area = pi * r ** 2
print('面积是:', area)

  1. 交量交换练习:
    已知有两个变量:
    a 绑定 10000
    b 绑定 20000
    问,在不创建任何新数据对象的情况下,如何让a 和 b 交换绑定的对象
    a = 10000
    b = 20000
    ....
    print(a) # 20000
    print(b) # 10000

解:
a = 10000
b = 20000

C语言做法, 用临时的第三个变量来绑定一个数据

temp = a

a = b

b = temp # 交换

a, b = b, a

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

del 语句:
作用:
用于删除变量,同时解除与对象的关联关系,如果可能能释放对象
语法:
del 变量名

在交互模式下查看当前作用域的所有变量

>> help('main')
退出键: q

示例:
a = 10000 # 创建a变量,绑定10000
print(a) # 10000
del a # 删除了a变量,释放10000这个数据对象
print(a) # 出错

自动化内存管理和引用计数:
每个对象都会记录有几个变量绑定(引用)自身,当引用的数量为0时,则此对象将被销毁(释放内存资源), 此种自动化内存管理的方式叫引用计数

例:
a = 10000
b = a # 两个变量同时绑定10000这个数据对象
del a
del b # 此时会释放10000这个数据对象

is / is not 运算符
作用:
判断两个对象是否是同一个对象,当是同一对象时返回True,否则返回False

说明:
is not 返回值与is 相反
语法:
x = 1
y = 2
x is y #False
x is not y #True

id(obj) 函数
作用:
返回一个对象在内存中的地址
a = 100
id(a) # 1949278192

小整数对象池
CPython中,整数-5至256的数永远存在于小整数池中,不会释放且可重复使用
示例:
a = 100 id(a) 1949278192
b = 100 id(a) 1949278192
a is b # True

a = 257     id(a)  9337168
b = 257     id(a)  9336688
a is b # False

复合赋值算术运算符
运算符 说明
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

例:
x = 100 x += 2 # x = 102
x = 100 x -= 2 # x = 98
x = 100 x *= 2 # x = 200
x = 100 x /= 2 # x = 50

练习:

  1. 中国古代的秤是16两一斤,请问古代对216两是古代的几斤几两,写程序打印出来?
    解:
    liang = 216
    jin = 216 // 16 # 得到斤
    n = 216 % 16
    print('是古代的', jin, '斤', n, '两')

  2. 从凌晨 0:0:0 计时,到现在已经过了63320秒,
    请问现在是几时,几分,几秒,写程序打印出来
    提示:
    可以用地板除和求余实现
    解:
    s = 63320 # 秒

hour = s // 60 // 60 # 小时
minute = s % (60 * 60) // 60 # 分钟
second = s % 60 # 秒
print(hour, ":", minute, ":", second)

  1. 温度转换:
    摄氏温度 = 5.0/9.0*(华氏温度-32)

    请问100华氏温度是多少摄氏温度.写程序算出来
    思考:
    如果知道当前温度是摄氏温度度,能否算出华氏温度是多少?
    解:
    f = 100
    c = 5.0 / 9.0 * (f - 32)
    print("摄氏温度是:", c)

    摄氏温度 = 5.0/9.0*(华氏温度-32)

    摄氏温度*9.0/5.0 = (华氏温度-32)

    摄氏温度*9.0/5.0 + 32 = 华氏温度

    f = 100 * 9.0/ 5.0 + 32
    print("华式温度是:", f)

猜你喜欢

转载自blog.51cto.com/yehaixiao/2143388