pbase-day01

linux_day01回顾:
  计算组成:
    硬件
      CPU
      内存
      主板(总线设备)
      外部存储设备
    软件:
      操作系统软件
      应用软件

  三大操作系统:
    Windows
    Linux(Ubuntu, Android)
    UNIX(IOS, Mac OS X, AIX)

终端:
  命令:
    exit  退出终端(退出登陆)
  文件和目录相关命令:
    ls  列出文件
    pwd 显示当前文件夹(工作目录)
    cd 切换文件夹(工作目录)
    mkdir 创建文件夹
    rmdir 删除空文件夹
    touch 创建文件(更新文件的修改时间)
    rm  删除文件或文件夹 rm -rf
    cp 复制文件或文件夹   cp -a  xxxx
    mv 移动文件夹或更名
    find 根据文件名来查找文件位置
    grep 列表文件内容信息(根据内容来搜索文件)

文件管理的命令:
   gzip  压缩
   gunzip 解压
   tar   打包
           -czvf xxx.tar.gz xxx/
         解包:
           -xzvf xxx.tar.gz 
权限操作命令:
   sudo 命令 选项 参数
   sudo -i 进入到 root 用户

通配符:
   *   ?
路径:
  绝对路径
    /home/tarena/aid1808/pbase/day01/day01
    C:\Windows\System32
  相对路径
    .txt
    ../day01/day01.txt
    ./day01.txt
    day01.txt
    ~/aid1808/pbase/day01/day01.txt


day01 笔记
<< Python语言 编程基础 >>
python简介
  诞生
    创建人: Guido Van Rossum
    时间: 1989

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

Python的优缺点:
  优点:
    面向对象(Java, C++, Python, C#, Swift)
    免费
    可移植(Windows/Linux/Unix)
    可混合编程(C/C++/Java/.net)
    简单易学易用
    开发效率高
    应用领域广泛 
    开源
  缺点:
    与C/C++相比,执行速度不够快
    不能封闭源代码

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

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

下载地址:
  http://www.python.org/getit

python的安装:
  可以安装在Linux/Unix/Windows下


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

第一个Python程序
  Visual Studio Code使用

编写 hello.py
  写入(左侧不能加空格):
      print("hello world!")
执行程序 :
  在终端内:
    $ python3 文件路径名.py

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


在python的交互模式下编写并执行代码
  进入交互模式:
    $ python3 <回车>
  退出交互模式:
    >>> quit() <回车>
    >>> exit() <回车>
    >>> <输入ctrl + d>

python的注释:
  以 # 开头直至行尾
  作用:
    让注释内容不参加解释执行
  vs code 中注释的快捷键: ctrl + /

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

Python的核心数据类型:
  数字(整数,浮点型数, 复数,布尔型数(bool))
  字符串 str(存储文字信息)
  列表等(存储数据)
  #注意区别java的基本数据类型(不含复数,字符串,列表等)
整型数 int
  整型数是不带小数部分的数字,包括自然数和负数自然数
  如: -5, 100, 0等

整型数的字面值的表示方式:
  十进制表示
    如:
      10
      200
      9999999999999999
      -100
      0
  八进制方式表示(0o开头,后跟0~7)
    如:
      0o177 (127)
      0o11  (9)
  十六进制方式表示(0x开头,后跟0~9,A-F,a-f)
    如:
      0x11  # (17)
      0xFF  # (255)
      0x0a  # 10
      0x1a2b3c4d  
  二进制表示方式(0b开头,后跟 0~1)
    如:
      0b0000  # 0
      0b0001  # 1
      0b0010  # 2
      0b01001000  # 72

进制转换:
  十进制: 逢十进一
  二进制: 逢二进一
  ......

练习:
  计算以下数字表示多少 ?
    0xFF       # 255
    0b11111111 # 255
    0xFFFF     # 65535
    0xFFFFFFFF # 4294967295 约42亿
    0b111      # 7
    0o11       # 9

浮点型数 float
  浮点数是带有小数部分的数字(小数部分可以为0)
#区别java,java除法之后是整型,而python中整除之后是浮点型
浮点数字面值的表示方式:
  小数表示:
    如:
      3.14   3.1  3.  0.14   .14
  科学计数法:
    格式:
      小数 e/E 正负号 指数
    如:
      6.18E-1  # 等同于0.618
      2.9979e8  # 等同于299790000.0

复数的表示方式:  complex
  分为两部分:
    实部(real)
    虚部(image), 虚部以 J 或 j结尾的数
  如:
    1j
    1+2j
    -2j
    (-100+200j)
  注: 虚部以 J 或 j结尾的数

布尔型数 bool (boolean)
  用来表示真和假两种状态的类型 
    True 表示真(条件满足或成立)
    False 表示假(条件不满足或不成立)
  说明:
    True 的值为1
    False 的值为0
  #注意:布尔类型也是数值类型!!!!

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

表达式和运算符(也叫操作符)
表达式  expression
  由一个数字 或 数字和运算符组成
  作用:
    让计算机做事情并返回结果(一定会返回结果)
  示例:
    1
    1 + 2  # 返回一个3(创建或生成一个3)

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

/ 除法
  除法得到的数是浮点数,不会丢弃小数部分
  如:
    1 / 3  得 0.333333333333333
    8 / 2  得 4.0

// 地板除 floordiv
  除的结果去掉小数部分向下取整
  如:
    7 / 3   得 2.33333333333333
    7 // 3  得 2
    8 // 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.0 ** 4.0  # 得 81.0
    5.6 ** 1.418  # 11.506165654866916

练习:
  一个商店卖西瓜 7元一个,你带20元能买几个西瓜,找零多少? 
  答案:
    20 // 7    # 得  2.0个西瓜
    20 % 7     # 得  6 元钱

运算符的优先级:
   **
   * / % //
   +  - 

示例:
  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(要打印的东西)
 注:  多个数据用英文逗号(,)分隔
      python不能换行打印吗?
练习:
  1. 写程序在终端输出图形:
    ********
    *      *
    *      *
    ********
  2. 一个学生毕业薪资是10000元, 每年涨20%,问十年后它的薪资是多少? (要求打印出来)


变量
  什么是变量
    变量是关联一个对象的标识符
    变量可以绑定一个对象,并可能通过变量名来使用这个对象

标识符的命名方法
  标识符必须为字母或下划线开头,后跟字母或下划线或数字(注意,不能以字母开头)
  不能使用python的关键字
  变量名区分大小写

合法的变量名示例:
  a a1 a100  bbbbb hello _abc var A1B2
  a_b_c

不合法的变量名示例:
  1a  123  $abc  +a  #abc  True 

python的关键字不能作为变量名:
  True, False, None, is, del, if, while
  for ....
查看python中的关键字
  >>> import keyword
  >>> keyword.kwlist
  ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 
  'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
  'finally', 'for', 'from', 'global', 'if', 'import', 'in', 
  'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
  'return', 'try', 'while', 'with', 'yield']
赋值语句
  语法:
    变量名 = 表达式
    # 或
    变量名1 = 变量名2 = 变量名3 = 表达式
    # 或
    变量名1, 变量名2, ... = 数值1, 数值2,...
  作用:
    创建一个变量或修改一个变量绑定的数据
  说明:
    1. 当变量不存在时,创建该变量,同时将变量绑定在表达式返回的对象上
    2. 当变量存在时,改变此变量绑定的对象
    3. 一个变量只能绑定一个对象
    4. 两个变量可以同时绑定在同一个对象上

  示例:
    pi = 3.1415926
    a = 10
    b = a  # a和b 同时绑定在一个10上

 练习:
    指定一个半径r为3厘米的圆
      1. 计算圆的周长是多少?  (2*pi*r)
      2. 计算圆的面积是多少?  (pi * r ** 2)
        (尝试使用变量)

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

示例:
  a = 10 + 20
  a = b = c = 100  # a,b,c三个变量同时绑定在100上

  a, b, c = 100, 200, 300  # 序列赋值

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

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


练习:
  变量交换练习:
    已知有两个变量
      a 绑定 10000
      b 绑定 20000
    问,在不创建 新对象的情况下,如何让a 和 b 交换绑定的对象
      a = 10000
      b = 20000
      # 第一种交换方式
      temp = a
      a = b
      b = temp
      # 第二种交换方式
      a, b = b, a
      序列赋值,java中并没有这种交换对象的方式

在交互模式下,查看当前作用域内的所有变量
   >>> help('__main__')

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

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

is / is not 运算符
  作用:
    判断两个对象是否是同一个对象,当是同一对象时返回True,否则返回False
    is常被用来判断对象是否为空 a is None
  注: 
    is not 返回值与is 相反
  语法:
    x is y
    #  或
    x is not y
  注意:is和==的区别
    1.==用于比较对象的值是否相等
    2.is用于比较对象的id是否一致(即比较对象的内存地址是否一致)
    >>> x = 1000
    >>> y = 1000
    >>> x is y
    False
    >>> x==y
    True
    
id(x) 函数:
  作用:
    返回一个对象在内存的中的地址
  如:
    a = 10000
    b = 10000
    print(id(a))
    print(id(b))
    print(a is b)  # True or False?
    #这里不一定为true或时false,因为计算机有时候会进行自动优化,节省内存空间
    #经过优化,两个10000可能会合并成为一个10000

    a=b=10000
    a is b
    #True

小整数对象池
  Python中 整数 -5 至 256 的整数永远存在于小整数对象池中,不会释放并一直可用

复合赋值算术运算符:
  运算符   说明
  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秒
    请问,现在是几时,几分,几秒,写程序打印出来
    (提示: 可以用地板除和求余实现)
  4. 温度转换
    摄氏湿度 = 5.0 / 9.0*(华氏温度-32)
    开氏温度 = 摄氏温度 + 273.15
    请问:
      100华氏温度转为摄氏温度是多少度?
      转为开氏温度是多少度?
        

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值