python学习笔记-----Python基础

Python基础

基础

1. python优缺点

优点:

  • 简单: python是一种代表简单主义思想的语言
  • 易学: python有及其简单的语法
  • 免费、开源:可以自由的对python进行拷贝、阅读源代码、进行改动
  • 高层语言:在使用python时,无需考虑底层细节
  • 可移植性,可以在多平台上使用同一份代码,只需要不同版本的解释器即可
  • 解释型语言:无需进行编译,可以直接从源代码运行程序
  • 面向对象:python既支持面向过程又支持面向对象编程
    • 面向过程:程序是由过程或仅仅是可重用代码的函数构建起来的
    • 面向对象:程序是由数据和功能组合而成的对象构建起来的。
  • 可扩展性:可以在内部封装其他语言编写的代码块
  • 丰富的库:python拥有十分庞大的标准库及第三方库
    • 常见的标准库:
      • re模块: 用来进行字符串正则匹配
      • datetime模块:日期和时间
      • zlib:支持通用的数据打包和压缩格式:zlib、gzip、bz2
      • random:提供生成随机数的工具
      • math:为浮点运算提供了对底层C函数库的访问
      • sys:工具脚本经常调用命令行参数,这些命令行参数以链表形式存储于sys模块的argv变量
      • glob: 提供了一个函数用于从目录通配符搜索中生成文件列表
      • os: 提供了不少与操作系统相关联的函数
    • 常见的第三方库:
      • Scrapy:爬虫工具常用库
      • Requests:http常用库
      • Pillow:是PIL的一个分支
      • matplotlib:绘制数据图的库
  • 规范的代码:python采用强制缩进的方式使得代码具有极佳的可读性

缺点:

  • python语言非常完善,没有明显的短板和缺点,唯一的缺点就是执行效率慢

2. 注释

  • 注释:在程序代码中对程序代码进行解释说明的文字

  • 作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性

注释的分类:

  • 单行注释:

    • #开头,#右边的所有文字当做说明,而不是真正要执行的程序,起辅助说明作用
    # 我是单行注释, 我不会被执行
    python('hello world')
    
  • 多行注释:

    • 使用三个单引号或三个双引号'''内容'''"""内容"""包裹的内容都是多行注释的范围
    '''
        我是多行注释,可以写很多很多行的功能说明
    
        下面的代码完成 ,打印一首诗
        名字叫做:春江花月夜
    '''
    
    print('╔═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╗')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │  ║')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')
    print('║ │春│滟│江│空│江│江│人│不│白│谁│可│玉│此│鸿│昨│江│斜│不│ ║')
    print('║ │江│滟│流│里│天│畔│生│知│云│家│怜│户│时│雁│夜│水│月│知│ ║')
    print('║ │潮│随│宛│流│一│何│代│江│一│今│楼│帘│相│长│闲│流│沉│乘│ ║')
    print('║ │水│波│转│霜│色│人│代│月│片│夜│上│中│望│飞│潭│春│沉│月│ ║')
    print('║ │连│千│绕│不│无│初│无│待│去│扁│月│卷│不│光│梦│去│藏│几│ ║')
    print('║春│海│万│芳│觉│纤│见│穷│何│悠│舟│徘│不│相│不│落│欲│海│人│ ║')
    print('║江│平│里│甸│飞│尘│月│已│人│悠│子│徊│去│闻│度│花│尽│雾│归│ ║')
    print('║花│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│ ║')
    print('║月│海│何│月│汀│皎│江│江│但│青│何│应│捣│愿│鱼│可│江│碣│落│ ║')
    print('║夜│上│处│照│上│皎│月│月│见│枫│处│照│衣│逐│龙│怜│潭│石│月│ ║')
    print('║ │明│春│花│白│空│何│年│长│浦│相│离│砧│月│潜│春│落│潇│摇│ ║')
    print('║ │月│江│林│沙│中│年│年│江│上│思│人│上│华│跃│半│月│湘│情│ ║')
    print('║ │共│无│皆│看│孤│初│望│送│不│明│妆│拂│流│水│不│复│无│满│ ║')
    print('║ │潮│月│似│不│月│照│相│流│胜│月│镜│还│照│成│还│西│限│江│ ║')
    print('║ │生│明│霰│见│轮│人│似│水│愁│楼│台│来│君│文│家│斜│路│树│ ║')
    print('║ │。│。│。│。│。│?│。│。│。│?│。│。│。│。│。│。│。│。│ ║')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')
    print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')
    print('╚═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╝')
    

变量以及类型

  • 变量的定义

    • 说明:
      • 所谓变量,可以理解为菜篮子,如果需要存储多个数据,最简单的方式是有多个变量,也可以使用一个
      • 程序就是用来处理数据的,而变量就是用来存储数据的
  • 变量的类型

    • Nombers(数字类型):
      • int : 有符号整型
      • long: 长整型
      • float: 浮点型
      • complex: 复数
    • 布尔类型:
      • True
      • Flase
    • string(字符串)
    • List(列表)
    • Tuple(元组)
    • Dictionary(字典)
  • 在python中使用type(变量名)来查看变量的类型

3. 标识符和关键字

  • 标识符:
    • 开发人员在程序中自定义的一些符号和名称
  • 标识符的规则:
    • 标识符由__字母、下划线和数字__组成,且__不能以数字__开头
    • python中的标识符__区分大小写__
  • 命名规则:
    • 见名知意
    • 驼峰法命名
      • 小驼峰式命名(lower camel case):第一个单词以小写字母开始;第二个单词的首字母大写, 如: myNanem, aDog
      • 大驼峰命名法(upper camel case): 每一个单词的首字母都采用大写字母,例如 : FirstName、LastName
    • 使用_来连接所有的单词: 例如send_buf

关键字:

  • python中一些具有特殊功能的标识符,这就是所谓的关键字

  • 查看python中的关键字

    >>> import keyword
    >>> keyword.kwlist
    
    and     as      assert     break     class      continue    def     del
    elif    else    except     exec      finally    for         from    global
    if      in      import     is        lambda     not         or      pass
    print   raise   return     try       while      with        yield
    

4. 格式化输出

在程序中,使用 % 这样的操作符,这就是python中格式化输出

常用的格式化符号:

格式符号 转换
%c 字符
%s 字符串
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母0x)
%X 十六进制整数(大写字母0X)
%f 浮点数
%e 科学计数法(小写’e’)
%E 科学计数法(大写“E”)
%g %f和%e 的简写
%G %f和%E的简写

5. 输入

  • 接收用户输入的数据使用input()函数
    • input()接受表达式输入,并把表达式的结果赋值个等号左边的变量,input()函数返回的是一个字符串

6. 运算符

  • 6.1 算术运算符

    运算符 描述 实例
    + 两个对象相加 a + b 输出结果 30
    - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
    * 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
    / b / a 输出结果 2
    // 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
    % 取余 返回除法的余数 b % a 输出结果 0
    ** 指数 a**b 为10的20次方, 输出结果 100000000000000000000
  • 6.2 赋值运算符

    运算符 描述 实例
    = 赋值运算符 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7
    • 复合赋值运算符

      运算符 描述 实例
      += 加法赋值运算符 c += a 等效于 c = c + a
      -= 减法赋值运算符 c -= a 等效于 c = c - a
      *= 乘法赋值运算符 c *= a 等效于 c = c * a
      /= 除法赋值运算符 c /= a 等效于 c = c / a
      %= 取模赋值运算符 c %= a 等效于 c = c % a
      **= 幂赋值运算符 c **= a 等效于 c = c ** a
      //= 取整除赋值运算符 c //= a 等效于 c = c // a

7. 常用的数据类型转换

类型转换操作 说明
int(x [,base ]) 将x转换为一个整数
float(x ) 将x转换为一个浮点数
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
str(x ) 将对象 x 转换为字符串
eval(str ) 将字符串转成原始数据类型
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
ord(x ) 将一个字符转换为它的ASCII整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
bin(x ) 将一个整数转换为一个二进制字符串

循环语句

1. 判断语句

  • 如果某些条件满足,才能做某些事情.条件不满足时. 则不能做

2. if 语句基本格式

if 要判断的条件:
    条件成立是,要做的事情
  • 比较(即关系,条件)运算符

    运算符 描述 示例
    == 检查两个操作数的值是否相等,如果是则条件变为真。 如a=3,b=3,则(a == b) 为 True
    != 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 如a=1,b=3,则(a != b) 为 True
    > 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 如a=7,b=3,则(a > b) 为 True
    < 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 如a=7,b=3,则(a < b) 为 False
    >= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3,则(a >= b) 为 True
    <= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3,则(a <= b) 为 True
  • 逻辑运算符

    运算符 逻辑表达式 描述 实例
    and x and y 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 True and False, 返回 False。
    or x or y 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 False or True, 返回 True。
    not not x 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not True 返回 False, not False 返回 True

3. if … else… 语句格式

if 条件:
    满足条件时要做的事情1
    满足条件时要做的事情2
    .....
else:
    不满足条件时要做的事情1
    不满足条件时要做的事情2
    .......

4. if …elif …else语句格式

if 条件1:
    事情1
elif 条件2:
    事情2
elif 条件3:
    事情3
  • 当条件1满足时,执行事情1,然后整个if结束
  • 当条件1不满足,条件2满足时,执行事情2, 然后整个 if 结束
  • 当条件1不满足, 条件2不满足, 条件2 满足时, 执行事情3, 然后整个if结束

可以和else一起使用

if 条件1:
    事件1
elif 条件2:
    事件2
else:
    事件3
  • else 语句什么时候执行?
    • 当条件1和条件2都不满足时会执行else 语句

三目运算
当条件成立时返回a, 当条件不成立时返回b

a if a > b else b

if 语句嵌套

if 条件1:
    满足条件1,做的事情1
    if 条件2:
        满足条件2,做的事情
  • 说明:
    • 外层的 if 判断, 也可以是if - else 结构
    • 内层的 if 判断,也可以是if - else 结构
    • 根据实际开发的情况,进行选择

循环:

  • while和if的用法基本类似,区别在于: if条件成立,则执行一次; while条件成立,则重复执行,知道条件不成立为止
  • 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
  • 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环

5. while循环

while循环的格式:

while 条件:
    条件满足时,做的事情1
    ....

6. 死循环

  • 由于种种原因,忘记在循环内部修改循环判断的条件,导致循环持续执行,程序无法终止

7. while循环嵌套:

while 条件1:
    条件1满足时,做的事情1
    条件1满足时.做的事情2
    .......
    while 条件2:
        条件2满足时,做的事情1
        条件2满足时,做的事情2
        .....

8.for 循环

for 临时变量 in 列表或者字符串等可迭代对象:
    循环满足条件时执行的代码

9. break和continue

break

  • break 的作用: 立即结束 break 所在的循环

continue

  • continue的作用: 用来___结束本次循环___,紧接着执行下一次的循环

注意点

  • break / continue只能用在循环中, 除此之外不能单独使用
  • break / continue 在嵌套循环中, 只对最近的一层循环起作用

你可能感兴趣的:(python,python)