标签: python 自制教程


一:语法元素

1.注释,变量,空格的使用

注释

  • 单行注释以#开头,多行注释以''开头和结尾

变量

  • 变量前面不需要声明数据类型,但是必须赋值
  • 变量命名可以使用大小写字母,数字和下划线的组合,但是首字母只能是大小写字母或者下划线,不能使用空格
  • 中文等非字母符号也可以作为名字

空格的使用

  • 表示缩进关系的空格不可改变
  • 空格不能将一个命名分割
  • 除了以上两条外,程序可以任意使用空格增加程序的可读性

2.输入函数,输出函数

输入函数

  • input()函数从控制台获取用户的输入,使用方法为变量=input(提示信息)
  • 获得用户输入以字符串形式保存在变量中

    val="28C",则val[-1]表示最后一个字符"C"

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

输出函数

print("文本") 文本里面的%f数据为后面引号后面的值

例如print("the value of a is %f"%a)

3.分支语句,循环语句

分支语句

分支语句通过缩进关系表示分支的所属关系

if <条件一>:

<表达式一>

elif <条件二>:

<表达式二>

else :

<表达式三>

循环语句

循环语句根据判断条件或者计数条件确定一段程序的运行次数

例如:

for i in range (10):
<表达式组>

上述表达式组将会运行10次

for循环固定循环次数,不会因为变量改变而改变

注意循环语句中的缩进

while与C一样,也有break和continue

4.保留字in,同步赋值

保留字in

判断左侧内容是否在右侧集合中

例如val[-1] in ['c','C']

如果成立则为true,若不成立则为false

同步复制

同时给多个变量复制,即先运算右侧所有表达式,然后同时将表达式结果赋值给左侧

如将x和y交换数值x,y=y,x

5.import与def以及turtle库

  • import

    import可以引入外部库
  • def 可以定义自己的函数

    注意def里面所有缩进都是def里面的函数
  • 引用库函数:from math import *或者import math,但是在这种函数后需要用math.函数()来使用函数
import turtle
def draw(rad,angle,len,neckrad):
for i in range(len):
turtle.circle(rad,angle)//画圆的半径与角度
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
turtle.fd(rad)//画直线的长度
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3) def main ():
turtle.setup(1300,800,0,0)//启动窗口的宽与高与左上角的坐标,向下为y轴,右方为x轴
pythonsize=30
turtle.pensize(pythonsize)//运行轨迹的宽度(像素)
turtle.pencolor("blue")//(轨迹颜色)
turtle.seth(-40)//开始运动的方向
draw(40,80,5,pythonsize/2)
main()

turtle 画五角星

from turtle import Turtle
p=Turtle()
p.speed(3)
p.pensize(5)
p.color("black","yellow")
p.fillcolor("red")
p.begin_fill()
for i in range (5):
p.forward(200)
p.right(144)
p.end_fill()

6.eval函数与repr函数

  • 将字符串当成有效Python表达式来求值,并返回计算结果
x = 1
eval('x+1')
eval('x==1')
  • repr函数,它能够将Python的变量和表达式转换为字符串表示
repr(x==1)
repr(x+1)

二.数据类型

  • 1.整数类型(无数值范围限制)

    • 十进制
    • 0X,0x开头表示16进制数
    • 0b,0B开头表示2进制数
    • 0o,0O开头表示8进制数
  • 浮点数

    浮点数可以用科学计数法,使用e或者E作为幂的符号,1️以10为基数,例如2e-10表示2的-10次方
  • 复数类型

    z=a+bj,a为实数部分,b为虚数部分,叙述部分用j或者J标识,同时a与b同位浮点类型

    例如z=12.3+4.2j

    对于复数z,可以用z.real和z.imag获得实数与虚数部分
  • 整数->浮点数->复数

    不同数字类型之间存在混合运算,运算结果为最宽类型

    三种类型可以相互转换

    函数 :

    int(4.5)=4

    float(4)=4.0

    complex(4)=4+0j

可以通过type(x)获得x的类型,适用于所有类型

运算符或函数 作用
x//y 表示x/y商的整数部分
x%y 表示x/y商的余数部分
x**y 获得x的y次幂
divmod(x,y) 同时返回求商和余
pow(x,y) x的y次幂
  • 字符串类型
  • 字符串是用双引号或单引号括起来的一个或多个字符
  • 字符串可以保存在变量中,也可以单独存在
  • 如果要输出引号在前面加一个转义字符\
  • 字符串之间可以进行+与*操作
  • len(str)函数能返回str字符串的长度
函数名称 作用
string.upper() 将字符串中字母大学
string.lower() 字母变为小写
string.capitalize() 首字母大写
string.strip() 去掉两边的空格及去掉指定字符
string.split() 按指定字符分割字符串为数组
string.isdigit() 判断是否是数字类型
string.find() 搜索指定字符串
string.replace() 字符串替换

遍历字符串的每个字符

for <var> in <string>:

  • 元组类型

    • 元组包含多个元素,元素之间用逗号分开 t=123,456,"hello"
    • 元组可以是空的 t=()
    • 元组外侧可以有括号也可以不加
  • 元组的三个特点

    • 元组中元素可以是不同类型 `t=12,32,("hello","world")
    • 可以通过索引访问元组中的元素 例如t[1]
    • 元组定义后不能修改也不能删除

与字符串相似可以通过索引区间来访问元组中部分元素如t[1:]

同样,元组之见可以使用+和*运算符进行运算

  • random与math库

    random可以生成随机数以及随机生成列表,随机取数等

    math库存数学函数

python语法

异常处理

tre:
<body>
except <ErrorType1>:
<handler1>
except <ErrorType2>:
<handler2>
else :
<process_else>
finally:

先执行try里面的语句,如果报错,则执行except里面的异常处理语句

如果没有异常则继续处理else里面的语句

无论是否异常继续运行finally里面的语句

布尔表达式

  • and相当于&&
  • or相当于|
  • not相当于!

函数

def <函数名>  (<参数>):
<body>`
  • 不需要返回类型,但是能够return任意类型的参数
  • 无返回值返回return None
  • 函数可以返回多个值,用逗号隔开

文件操作

  • 打开文件

    open()函数

    变量=open(磁盘文件名称,打开方式)

    |操作名称|含义|

    |:---

    python一周速成学习笔记的更多相关文章

    1. $《利用Python进行数据分析》学习笔记系列——IPython

      本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...

    2. Python 开发与接口测试学习笔记

      这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习. 一.开发投票系统 1.参考官网文档,创建投票系统. https://docs.djangopr ...

    3. python的文件处理学习笔记

      python的文件处理函数是open() 以下主要是关于这个函数的一些学习笔记 1.文件处理离不开编码 要注意的是文件打开时的编码和文件保存时的编码的统一,这样才能保证你打开的文件不会存在乱码 总结: ...

    4. 20145231第二周Java学习笔记

      20145231 <Java程序设计>第2周学习总结 教材学习内容总结 本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客. 第三章:基础语法 知识点比 ...

    5. 2017-04-21周Java学习笔记

      2017-04-21-周Java学习笔记... -------------------------------------- 计算机起源于:战争中的炮弹轨道计算.Unix操作系统是使用C语言编写的操作 ...

    6. Python框架之Django学习笔记(十七)

      Django框架之表单(续二) 今天的这篇博客将是Django学习笔记博客的最后一篇,基本每周最少一篇的Django框架学习,坚持到今天也实属不易,当然了,这个框架的学习仅仅是Django框架的基础部 ...

    7. Python框架之Django学习笔记(十)

      又是一周周末,如约学习Django框架.在上一次,介绍了MVC开发模式以及Django自己的MVT开发模式,此次,就从数据处理层Model谈起. 数据库配置 首先,我们需要做些初始配置:我们需要告诉D ...

    8. 【Python】logging模块学习笔记

      因为做接口自动化测试遇到的一个代码逻辑上的问题,又不知道具体问题出在哪里,所以在模块化代码之前,先学习下python的日志模块logging. 入门1 入门2 日志级别大小关系为:CRITICAL & ...

    9. Python中的redis学习笔记

      redis是一个key-value结构的数据库,value的格式可以使string,set,list,map(即python里面的dict),sorted set(有序集合) 1.初始化 1)直接连接 ...

    随机推荐

    1. vscode实现列编辑

      ctrl + shift + 左键选择要编辑的列 好用,再也不用使用\n替换了

    2. dockerfile创建镜像(二)

      ENTRYPOINT 两种格式: ENTRYPOINT [“executable”, “param1”, “param2”] ENTRYPOINT command param1 param2 (she ...

    3. [CVE-2014-3704]Drupal 7.31 SQL注入漏洞分析与复现

      记录下自己的复现思路 漏洞影响: Drupal 7.31 Drupal是一个开源内容管理平台,为数百万个网站和应用程序提供支持. 0x01漏洞复现 复现环境: 1) Apache2.4 2) Php ...

    4. IDL(Interactive Data Language——交互式数据语言)

      Interactive Data Language——交互式数据语言 目前,图像处理常用的ENVI就是用IDL开发的经典软件 广泛支持的平台: Microsoft Windows Open VMS S ...

    5. 洛谷1087 FBI树 解题报告

      洛谷1087 FBI树 本题地址:http://www.luogu.org/problem/show?pid=1087 题目描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全 ...

    6. 《剑指offer》面试题13—O(1)时间删除链表结点

      题目:给定单向链表的头指针和某结点指针,实现函数在O(1)时间内删除指定节点. 思路:由于没有要删除结点(j结点)的前一个结点(i结点)指针,通常想法是从头开始遍历找到指定结点的前一个结点(i结点), ...

    7. [HNOI2010] 物品调度 fsk

      标签:链表+数论知识. 题解: 对于这道题,其实就是两个问题的拼凑,我们分开来看. 首先要求xi与yi.这个可以发现,x每增加1,则pos增加d:y每增加1,则pos增加1.然后,我们把x与y分别写在 ...

    8. 【BZOJ4548】小奇的糖果

      →原题传送门←(by Hzwer) 「题目背景」 小奇不小心让糖果散落到了地上,它对着满地的彩色糖果胡思乱想. 「问题描述」 有 N 个彩色糖果在平面上.小奇想在平面上取一条水平的线段,并拾起它上方或 ...

    9. 解决nginx负载均衡高可用keepalived只针对物理机的问题

      在高可用keepalived软件,在默认的情况下仅仅在对方机器宕机或keepalived停掉的时候才会接管业务. 但是在实际工作过程中,例如在nginx负载均衡工作实例中,nginx服务已停止,而ke ...

    10. js 左侧树添加选择样式

      选择样式添加 menuToggle: function() { var menus = $('.nav-primary').children('li'); var tog = menus.has('. ...