python一周速成学习笔记
标签: 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一周速成学习笔记的更多相关文章
- $《利用Python进行数据分析》学习笔记系列——IPython
本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...
- Python 开发与接口测试学习笔记
这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习. 一.开发投票系统 1.参考官网文档,创建投票系统. https://docs.djangopr ...
- python的文件处理学习笔记
python的文件处理函数是open() 以下主要是关于这个函数的一些学习笔记 1.文件处理离不开编码 要注意的是文件打开时的编码和文件保存时的编码的统一,这样才能保证你打开的文件不会存在乱码 总结: ...
- 20145231第二周Java学习笔记
20145231 <Java程序设计>第2周学习总结 教材学习内容总结 本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客. 第三章:基础语法 知识点比 ...
- 2017-04-21周Java学习笔记
2017-04-21-周Java学习笔记... -------------------------------------- 计算机起源于:战争中的炮弹轨道计算.Unix操作系统是使用C语言编写的操作 ...
- Python框架之Django学习笔记(十七)
Django框架之表单(续二) 今天的这篇博客将是Django学习笔记博客的最后一篇,基本每周最少一篇的Django框架学习,坚持到今天也实属不易,当然了,这个框架的学习仅仅是Django框架的基础部 ...
- Python框架之Django学习笔记(十)
又是一周周末,如约学习Django框架.在上一次,介绍了MVC开发模式以及Django自己的MVT开发模式,此次,就从数据处理层Model谈起. 数据库配置 首先,我们需要做些初始配置:我们需要告诉D ...
- 【Python】logging模块学习笔记
因为做接口自动化测试遇到的一个代码逻辑上的问题,又不知道具体问题出在哪里,所以在模块化代码之前,先学习下python的日志模块logging. 入门1 入门2 日志级别大小关系为:CRITICAL & ...
- Python中的redis学习笔记
redis是一个key-value结构的数据库,value的格式可以使string,set,list,map(即python里面的dict),sorted set(有序集合) 1.初始化 1)直接连接 ...
随机推荐
- Empire Strikes Back
题意: 给定$K$个数字,求最小的正整数$n$,使得$\prod_{i=1}^{K}{a_i !} | n!$ 解法: 注意到$$\sum_{p为质数}{1/p} = O(loglogn)$$, 这样 ...
- 【原创】Gitbook使用
[常用命令] 1.gitbook install 安装依赖模块 2.gitbook build 编译,结果输出在_book文件夹下 3.gitbook serve 本机预览,默认端口为4000 [注意 ...
- HDU - 1715 - 大菲波数 - JAVA
http://acm.hdu.edu.cn/showproblem.php?pid=1715 import java.io.*; import java.util.*; import java.mat ...
- Mac下intellij IDEA新建javaweb项目
intellij IDEA可以说是非常好用的工具,本人用来开发java.比eclipse等好用太多了.谁用谁知道,当然只是开发工具而已,用什么都无所谓.大牛们都用记事本编程呢. 本文帮助新手创建一个j ...
- 每次打开office 2013都提示配置进度,必须得等他下完然后重启,重启完了在打开,还是提示配置进度,怎么解决
方法一: 我用下面的方法完美解决.在控制面板中1.删除旧版本2010 或者20032.删除激活程序3.重装2013激活程序done 方法二: 我把WPS卸载了就好了. 方法三: 我是按这个方法解决的, ...
- HDU2594 【KMP】
题意: 给两个字符串s1,s2,求最长的s1前缀匹配s2后缀的字符串,以及长度 思路: 利用KMP看下最终匹配到了哪个位置:一个是利用常规匹配,另一个是利用next数组的跳转. #include< ...
- Mol Cell Proteomics. |陈洁| 整合鸟枪法蛋白质组学中鉴定和定量的错误率
大家好,本周分享的是发表在MCP上的一篇关于鸟枪蛋白质组学中的错误率的文章,题目是Integrated identification and quantification error probabil ...
- IT兄弟连 JavaWeb教程 EL表达式中的内置对象
EL语言定义了11个隐含对象,它们都是java.util.Map类型,网页制作者可通过它们来便捷地访问Web应用中的特定数据.表1对这11个隐含对象做了说明. 1 EL表达式中的内置对象 这11个隐 ...
- 要单独拿出来讲的a标签
a标签的属性 href属性赐予a标签力量:href属性指定要通过a标签借助浏览器请求的资源,可以是图片.视屏.网站.音频等.不加herf属性的a标签就是一个没有任何特殊样式和功能的文本容器. targ ...
- java基础第一篇
1.JDK:Java Development kit 能对Java程序编译,运行 包含JRE JRE:Java Runtime Environment 能对Java程序运行 包含JVM和一些核心类库 ...
- $《利用Python进行数据分析》学习笔记系列——IPython