Top

Python入门教程


基本语法

1.注释———# 标注文本

2.数字

  • 整数,不区分long和int
    • 进制0xa (16进制的10),0o10(8进制的10),0b10(2进制的10)
    • bool,2个值True,False
  • 浮点数
    • 1.2,3.1415.-0.12,1.46e9等价于1.46*10^9
  • 复数,1+2j

3.字符串

  • 使用‘ “单双引号引用字符的序列

  • ‘ ’ ‘ ” “ ” 单双三引号,可以跨行,可以在其中自由的使用单双引号

    1
    2
    3
    4
    5
    6
    7
    print(''' welcome 'to' python''') #输出  welcome 'to' python
    print(''' welcome 'to'
    1\ #输出 welcome 'to'
    2\ # 123
    3\ # 'python'

    'python' ''')
  • 在字符串前面加上r或者R前缀,表示该字符串不做特殊处理(比如字符串中含有\)

  • python为强类型语言,所以不允许’a‘+1

  • 字符串可以直接连接

    1
    print('abc'+'efg')  #打印出abcefg

4.转义序列

  • \\ \t \r \n \‘ \“
  • 前缀r,把里面的所有的字符当普通字符对待

5.缩进

  • 未使用C等语言的花括号,而是采用缩进的方式表示层次关系
  • 约定使用4个空格缩进

6.续行

  • 在行尾使用 \
  • 如果使用各种括号,认为括号内的是一个整体,内部跨行不用 \

7.标识符

  • 一个名字,用来指代一个值

  • 只能字母,下划线和数字

  • 只能以字母或下划线开头

  • 不能是python的关键字,例如def,class就不能作为标识符

  • python是大小写敏感的

    约定:

    不允许使用中文

    不允许使用歧义单词,例如class_

    在python中不要随便使用下划线开头的标识符

8.常量

  • 一旦赋值就不能改变值的标识符
  • python中无法定义常量

9.字面常量

  • 一个单独的量,例如12,“abc”,’2341356514.03e-9’

10.变量

  • 赋值后,可以改变值的标识符

运算符Operator

1.算数运算符

  • + - * / % **

    • **表示次方

      1
      2
      print(2**3)  #输出 8
      print(4**0.5) #输出 2.0
  • 自然除/结果是浮点数,整除//。注:2.x中对于整数都是/和//都是整除

2.位运算符

  • & | ~ ^ << >>

    • & 按位与

    • | 按位或

    • ~ 按反码补码取反(反出来会比真实相反数小一)

      • 原码

        • 5=> 0b101, 1=>0b1 ,-1=> -0b1, bin(-1) #可以获取数字原码

          1
          bin(-1)  #获得-0b1;
      • 反码

        • 正数将原码按位取反;负数符号位不变其余按位取反
      • 补码

        • 正数的补码是其本身;负数符合位不变其余按位取反后-1
    • ^ 按位异或

    • << 向左的位移

      1
      print(1<<2) #输出4
    • >> 向右的位移

      1
      print(4>>1) #输出 2
  • 常用方式:乘除2的倍数,32//4相当于32>>2

  • 12,0xc,0o14,0b1100

    • ~12等于-13

3.比较运算符

  • == != > < >= <=
  • 返回一个bool值
  • 1<’1’ 1==’1’

4.逻辑运算符

  • 与或非 and or not
  • 短路运算符
    • and 如果第一个表达式位False,后面的就没有必要计算了,这个逻辑表达式一定False
    • or 如果第一个表达式True,后面没有必要计算了,这个逻辑表达式一定是True

5.赋值运算符

  • a=min(3,5)
  • += -= == /= %=
  • x=y=z=10

6.成员运算符

  • in ,not in

7.身份运算符

  • is,not is

8.运算优先级(由高到底)

  • 算数运算符 > 位运算符 > 身份运算符 > 成员运算符 > 逻辑运算符

表达式 Expression

1.由数字,符号,括号,变量等的组合

  • 算数表达式
  • 逻辑表达式
  • 赋值表达式
    • Python,赋值及定义,如果一个变量了已经定义,赋值相当于重新定义

程序控制

  • 顺序
    • 按照先后顺序一条一条执行
    • 例如,先洗手,再吃饭,再洗碗
  • 分支
    • 根据不同的情况判断,条件满足执行某条件下的语句
    • 例如,先洗手,如果饭没做好,玩游戏,如果饭做好了,就吃饭,如果饭都没做,叫外卖
  • 循环
    • 条件满足就反复执行,不满足就不执行或者不再执行
    • 例如:先洗手,看饭好了没有,没有好,一会来看一次是否好了,一会儿来看一次,直到饭好了,才可以吃饭。这里循环的条件就是饭好了没,饭没好,就循环的来看饭好了没有。

单分支结构

1.if语句

​ if 表达式:

代码块(必须由4个空格,不允许使用缩进)

​ 表达式必须是一个bool类型,这个地方有一个隐式转换bool(表达式)

1
2
if 1<2:
print('1 less than 2')

2.代码块

  • 类似于if语句的冒号后面的就是一个代码块
  • if, for , def ,class 等

真值表 bool(表达式)对应的隐式转换

对象/常量
“”
“string”
0
>=1
<=-1
()空原组
[]空列表
{}空字典
None

多分支结构

  • if…elif…else语句

    1
    2
    3
    4
    5
    6
    7
    8
    9
    if 表达式1:
    代码块1
    elif 表达式2:
    代码块2
    elif 表达式3:
    代码块3
    ……
    else:
    代码块
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     a=4
    if a<1:
    print('S')
    elif a<3:
    print('AS')
    elif a<4:
    print('B')
    else:
    print('sss')

    #输出:sss

2.分支嵌套

  • 举例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    score=80
    if score<0:
    print("wrong")
    else:
    if score==0:
    print('egg')
    elif score<=100:
    print('right')
    else:
    print('too big')
    #输出:right

循环——while语句

  • 语句

    1
    2
    3
    while 表达式:
    代码块
    #当条件满足表达式为true,进入循环题,执行代码块
  • 举例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    flag=10
    while flag:
    print(flag)
    flag-=1
    #输出:
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1

循环——for语句*

  • 语法

    1
    2
    3
    for element in iteratable:
    block
    #当可迭代对象中有对象可以迭代,进入循环体,执行代码块
  • range函数

  • 举例:打印1~10

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for i in range(10):  //从0开始迭代到9,每次i++;
    print(i+1)
    #输出:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    1
    2
    3
    4
    5
    6
    7
    8
    #打印0~9的偶数
    for i in range(2,10,2): //从2开始迭代到9,每次i+=2;
    print(i)
    #输出:
    2
    4
    6
    8

循环continue语句

  • 中断当前循环的当次执行,继续下一次循环

  • 举例:计算10以内的偶数(for循环)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for i in range(10):
    if i%2:
    continue
    print(i)
    #输出
    0
    2
    4
    6
    8

循环break语句

  • 终止当前循环

  • 举例:计算1000以内的被7整除的前20个数(for循环)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    count=0;
    for i in range(0,1000,7):
    print(i)
    count+=1
    if(count>=20):
    break
    #输出:
    0
    7
    14
    21
    28
    35
    42
    49
    56
    63
    70
    77
    84
    91
    98
    105
    112
    119
    126
    133

循环else子句

  • 语法

    1
    2
    3
    4
    5
    6
    7
    8
    while condition:
    block
    else:
    block
    for element in iteratable:
    block
    else:
    block
  • 如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句不会执行

Python输入输出

1.输入

  • input()

    1
    2
    3
    4
    5
    6
    7
    num=intput('请输入一个数')  #输入一个数回车结束
    print(num) #输入1234 输出1234
    #在有的版本python中存在一下问题
    num=input() #输入的是一个字符串
    print num #如果输入1234 打印的是一个字符串’1234‘
    num=int(input()) #输入的是一个整数
    print num #打印这个整数
  • print

    1
    2
    3
    4
    print a #打印变量a
    print(a) #打印a
    print(a,b) #打印(a,b)
    print a,b #打印a,b

未完待续




未经允许不得转载: Anoyer's Blog » Python入门教程