zoukankan      html  css  js  c++  java
  • Python 在线基础课程

    注释的两种方法:

    单行注释以#开头

    #Here are the comments

    多行注释以'''开头和结尾

    赋值操作

    可以多赋值

    比如交换x,y的值 x,y=y,x

    输入函数

    Input()函数从控制台获得用户输入

    <变量>= input(<提示性文字>)

    获得的用户输入以字符串形式保存在<变量>中

    表达式

    如果val = "28C"

    则val[-1]是最后一个字符串"C"

    前两个字符组成的子串可以用val[0:2]表示,它表示一个

    从[0,2)的区间。

    由于约定用户输入的最后一个字符是C或者F,之前是数

    字,所以通过val[0:-1]来获取除最后一个字符外的字符串

    分支语句

    分支语句:控制程序运行,根据判断条件选择程

    序执行路径。基本过程如下:

    if <条件1成立>:

    <表达式组1>

    elif <条件2成立>:

    <表达式组2>

    ……

    elif <条件N-1成立>:

    <表达式组N-1>

    else:

    <表达式组N>

    赋值语句:使用等号给变量赋值

    f=1.8*float(input_str[0:-1]) + 32

    同步赋值语句:同时给多个变量赋值(先运算右侧N个表

    达式,然后同时将表达式结果赋给左侧)

    print()函数可以输出各种类型变量的值。

    print()函数通过%来选择要输出的变量。

    计数循环

    基本过程如下

    for i in range (<计数值>):

    <表达式1>

    第一种方式:

    import <库名>

    例如:import turtle

    如果需要用到函数库中函数,需要使用:

    <库名>.<函数名>

    例>>>import turtle

    >>>turtle.fd(100)

    第二种方式:

    from <库名> import <函数名>

    from <库名> import *

    调用函数不需要<库名>,直接使用<函数名>

    例>>>from turtle import *

    >>>fd(100)

    Python语言中的类型:

    数字类型、字符串类型

    元组类型、列表类型

    文件类型、字典类型

    Python语言包括三种数字类型

    整数类型

    浮点数类型

    复数类型

    与数学中的整数概念一致,没有取值范围限制

    pow(x, y)函数:计算x^y

    整数类型

    示例

    1010, 99, -217

    0x9a, -0X89 (0x, 0X开头表示16进制数)

    0b010, -0B101 (0b, 0B开头表示2进制数)

    0o123, -0O456 (0o, 0O开头表示8进制数)

    浮点数类型有范围,一般为e-308,也可以认为没有范围

    示例

    0.0, -77., -2.17

    96e4, 4.3e-3, 9.6E5 (科学计数法)

    复数类型

    与数学中的复数概念一致, z = a + bj, a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识

    示例:

    12.3+4j, -5.6+7j

    z = 1.23e-4+5.6e+89j(实部和虚部是什么?)

    对于复数z , 可以用z.real 获得实数部分,

    z.imag获得虚数部分

    z.real = 0.000123 z.imag = 5.6e+89

    数字类型的关系

    三种类型存在一种逐渐"扩展"的关系:

    整数-> 浮点数-> 复数

    (整数是浮点数特例,浮点数是复数特例)

    不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型

    123 + 4.0 = 127.0 (整数+ 浮点数= 浮点数)

    数字类型的转换

    三种类型可以相互转换

    函数:int(), float(), complex()

    但是不支持直接将一个复数转换为整数或者浮点数,可以将其image或者real函数转换为整数或者浮点数

    函数:type(x),返回x的类型,适用于所有类型的判断

    x//y 不大于x与y之商的最大整数

    x%y x与y之商的余数

    x**y x的y次幂

    abs(x) x的绝对值

    divmod(x,y) (x//y,x%y)

    pow(x,y) x的y次幂

    字符串类型

    字符串是用双引号""或者单引号''括起来的一

    个或多个字符。

    字符串可以保存在变量中,也可以单独存在。

    Python语言转义符:

    输出带有引号的字符串,可以使用转义符

    使用\ 输出带有转移符的字符串

    字符串是一个字符序列:字符串最左端位置标记

    为0,依次增加。

    Python中字符串索引从0开始,一个长度为L的

    字符串最后一个字符的位置是L-1

    Python同时允许使用负数从字符串右边末尾向

    左边进行反向索引,最右侧索引值是-1

    可以通过两个索引值确定一个位置范围,返回这

    个范围的子串

    格式: <string>[<start>:<end>]

    start和end都是整数型数值,这个子序列从索引

    start开始直到索引end结束,但不包括end位置

    字符串之间可以通过+或*进行连接

    加法操作(+)将两个字符串连接成为一个新的

    字符串

    乘法操作(*)生成一个由其本身字符串重复连接

    而成的字符串

    字符串处理方法

    可以通过for 和in 组成的循环来遍历字符串中

    每个字符

    格式如下:

    for <var> in <string>:

    元组类型

    元组是包含多个元素的类型,元素之间用逗号分割。

    例如:t1 = 123,456, "hello"

    元组可以是空的,t2=()

    元组包含一个元素时:t3=123,

    元组外侧可以使用括号,也可以不使用

    元组一旦定义不可改变,安全,想要改变可以用列表类型

    列表类型

    列表(list)是有序的元素集合;

    列表元素可以通过索引访问单个元素;

    列表与元组类似

    列表中每个元素类型可以不一样

    访问列表中元素时采用索引形式

    列表与元组不同

    列表大小没有限制,可以随时修改

    数学库及其使用

    math库中常用的数学函数

    random库中常用的函数

    相同的随机种子,会产生相同的伪随机序列,有利于验证程序执行。

    简单条件基本形式

    <expr> <relop> <expr>

    <relop>是关系操作符<, <=, ==, >=, >, !=

    使用=表示赋值语句,使用==表示等于

    除数字外,字符或字符串也可以按照字典顺序用于条件比较

    <condition>是布尔表达式,为bool类型,布尔值的真和假以字符True和False表示

    二分支语法结构如下:

    if <condition>:

    <statements>

    else:

    <statements>

    多分支决策

    异常处理

    采用分支结构处理错误

    为了不让异常处理代码太多,设计异常机制

    Python使用try…except…来进行异常处理,基本格式如下:

    当Python解释器遇到一个try语句,它会尝试执行try语句体<body>内的语句

    如果没有错误,控制转到try-except后面的语句

    如果发生错误,Python解释器会寻找一个符合该错误的异常语句,然后执行处理代码

    else和finally非必须项,不过else一定在finally之前,无异常会执行else, finally不管有无异常都会执行(清理工作,如文件不管怎么都需要最后关闭文件,网络上最后要关闭网络)。

    运行结果

    二次方程中处理

    对于二次方程,还会有其他可能的错误,如:输入非数值类型 (NameError),输入无效的表达式(SyntaxError)等。此时可以用一个try语句配多个except来实现。

    Python终极解决方案

    -使用Python内置的max函数

        循环语句

        直接用的words列表,是可以增长的、

    for循环-缺点

    程序开始时必须提供输入数字总数

    大规模数字求平均值需要用户先数清楚个数

    for循环是需要提供固定循环次数的循环方式

    Python提供了另一种循环模式即无限循环,不需要提前知道循环次数,即我们提到的当型循环也叫条件循环

    无限循环

    语法:while语句

    while <condition>:

    <body>

    while语句中<condition>是布尔表达式

    <body>循环体是一条或多条语句

    当条件<condition>为真时,循环体重复执行

    当条件<condition>为假时,循环终止

    在while循环中,条件总是在循环顶部被判断,即在循环体执行之前,这种结构又被称为前测循环

    break和continue可以使用

        

    Break 语句- 跳出最内层for/while 循环

    <for… else: …> <while… else: …>语句与循环的搭配使用,else:后的表达式在for循环列表遍历完毕后或while 条件语句不满足的情况下执行,有点类似于异常处理

    交互式循环

    哨兵循环

    非字符为哨兵,如空字符串,输入字符串格式,转换

    文件循环

    假设每行只有一个数字

    在这段代码中,循环变量line遍历文件的每一行,将每行都转成数字然后加到sum中。

    通过Python的readline()来读取,readline()将文件的一行读取到字符串中。

    在文件尾部,readline()返回的一个空字符串可以作为哨兵值。注意空行有换行符

    Python中采用readline()方法的end-of-file循环模式:

    循环嵌套

    假设每行有被逗号分隔的数字

    死循环的使用

    后测循环实现

    break语句也可以用来实现后测循环

    布尔操作符

    布尔操作符: and,or和 not

    布尔运算符and和or用于组合两个布尔表达式,并产生一个布尔结果

    <expr> and <expr>

    <expr> or <expr>

    not运算符是一个一元运算符,计算一个布尔表达式的反

    not <expr>

    等价于

    函数定义

    自定义函数:用户自己编写的

    系统自带函数: Python内嵌的函数(如abs()、eval())、Python标准库中的函数(如math库中的sqrt())、图形库中的方法(如myPoint.getX())等

    函数定义:使用def语句

    def <name>(<parameters>):

    <body>

    形参只在函数内部有效

    print()可输出空行

    函数返回值

    无返回值的return语句等价于return None

    使用return语句返回多个值

    Python不能用引用改变参数值,但是可以用返回值改变量值

    列表中的值是可以改的

    函数不能修改变量本身(即amounts)

    Python的参数是通过值来传递的

    如果变量是可变对象(如列表或者图形对象),返回到调用程序后,该对象会呈现被修改后的状态。

    函数和递归

    递归阶乘

    Python列表有反转的内置方法

    方法1:字符串转换为字符列表,反转列表,列表转换回字符串

    方法2:递归

    通过函数绘制树

    turtle库的简单常用指令,请大家练习查询官方提供的turtle使用手册掌握以下命令的用法

    forward(distance) #将箭头移到某一指定坐标

    left(angel) right(angel)

    penup() #提起笔,用于另起一个地方绘制时用,与pendown()配对使用

    goto(x,y)

    home()

    circle(radius)

    speed()

    多棵树绘制

    文件与字典

    ord('A')得到字符的ascall码

    chr(65)得到字符

    s="中文字符串"

    bs=s.encode("utf-8")

    s=bs.decode("utf-8")

    二进制文件ASCII码

    照片、音乐、视频、计算机程序等

    优点:

    更加节省空间

    采用二进制无格式存储

    表示更为精确

    注意:

    文本文件是基于字符定长的ASCII;

    二进制文件编码是变长的,灵活利用率要高;

    不同的二进制文件解码方式是不同的。

    文件操作

    读取

    写入

    定位

    其他:追加、计算等

    Open()

    <variable> = open (<name>, <mode>)

    <name>磁盘文件名

    <mode>打开模式

    打开模式

    r

    只读。如果文件不存在,则输出错误

    w

    为只写(如果文件不存在,则自动创建文件)

    a

    表示附加到文件末尾

    rb

    只读二进制文件。如果文件不存在,则输出错误

    wb

    只写二进制文件,如果文件不存在,则自动创建文件。

    ab

    附加到二进制文件末尾

    r+

    读写

    打开一个名为"numbers . dat"的文本文件

    >>> infile = open ("numbers.dat", "r")

    打开一个名为"music.mp3"的音频文件

    >>>infile = open ("music.mp3", "rb")

    read() 返回值为包含整个文件内容的一个字符串

    readline() 返回值为文件下一行内容的字符串。

    readlines() 返回值为整个文件内容的列表,每项是以换行符为结尾的一行字符串。

    从计算机内存向文件写入数据

    write():把含有本文数据或二进制数据块字符串写入文件中。

    writelines():针对列表操作,接受一个字符串列表作为参数,将它们写入文件。

    文件遍历

    拷贝文件

    根据数据文件定义行走路径

    将文件由一种编码转换为另外一种编码

    通用代码框架:

    file = open (someFile, "r")

    For line in file.readlines():

    #处理一行文件内容

    file.close()

    简化代码框架:

    file = open (someFile, "r")

    For line in file:

    #处理一行文件内容

    file.close()

  • 相关阅读:
    Cesium加载倾斜摄影数据
    CentOS7安装Docker
    Docker镜像下载
    c#验证密码强度
    配置阿里yum源
    ftpbat脚本
    powershell-ftpmove文件到本地
    Session Setup Request,NTLMSSP_AUTH, User:Dmainhostname$
    smblog
    树莓派显示器屏幕休眠
  • 原文地址:https://www.cnblogs.com/BetterThanEver_Victor/p/6957450.html
Copyright © 2011-2022 走看看