快速入门python学习笔记
本篇不是教给大家如何去学习python,有需要详细深入学习的朋友可以参阅: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 <函数名> (<参数>): `
不需要返回类型,但是能够return任意类型的参数
无返回值返回return None
函数可以返回多个值,用逗号隔开
###文件操作
打开文件 open()函数 变量=open(磁盘文件名称,打开方式) |操作名称|含义| |:---:|:---| | r|只读,如果文件不存在,则输出错误 | |w|只写,如果文件不存在,则创建文件| |a|附加到文件末尾| |rb|只读二进制文件,如果文件不存在,则输出错误| |wb|只写二进制文件,如果文件不存在,则自动创建文件| |ab|附加到二进制文件末尾| |r+|读写| 示例代码:
infile=open("number.dat","r")
文件读取 |操作名称|含义| |:---:|:---| |read()|返回值为包含整个文件内容的一个字符串| |readline()|返回值为文件下一行内容的字符串| |readlines()|返回值为整个文件内容的列表,每行是️以换行符为结尾的一行字符串|
示例代码
输出文件的文本
def main() fname = input("Enter filename:") infile = open(fname,"r") data=infile.read() print(data) main()
文件写入 |操作名称|含义| |:---:|:---| |write()|把含有文本数据或二进制数据块的字符串写入文件| |writelines()|针对列表操作,接受一个字符串列表作为参数,将他们写入文件,并且行结束符不会被自动加入| 示例代码
outfile=open("outfile.txt","w") outfile.writeliens(["hello"," ","world"]) outfile.close() infile=open("outfile.txt","r") infile.read()