python的学习

本文介绍了Python编程的基础知识,包括变量和数据类型、函数定义、输入输出、列表、元组、字符串、集合、字典等数据结构,以及文件操作和文本/二进制文件的区别,最后提到了绘图部分,特别是turtle库的使用。
摘要由CSDN通过智能技术生成

一、前言

在学python之前,感觉还是有一点担心学不好的,但当你真正开始学的时候,才能发现里面的神奇之处,我觉得相比于c语言,python跟pascal的某些用法更为相似,所以有编程基础的同学,学习python还是比较容易上手的

二、观察

我们可以对比以下c,python,pascal编程的格式

就这一题所展示三种编码
题目:现有n位同学,已知n的同学的成绩,找到其中最高分

C语言编码:

#include<stdio.h>
int main(void)
{
  int n,max=0,a=0,i=0;
  scanf("%d",&n);
  for (i=0;i<n;i++)
  {
    scanf("%d",&a);
    if (a>max)
    {
      max=a;
    }
  }
  printf("%d",max);
  return 0;
}

pascal编码(由于md未提供pascal代码块,由c代码块替代)

var i,n,max,a:longint;
begin
  read(n);
  for i:=1 to n do 
  begin
    read(a);
    if a>max then max=a;
  end;
  write(max);
 end.
    

python编码:

n=int(input())
max=0
for i in range(n):
  a=int(input())
  if a>max:
    max = a
print(max)

可见三者的格式还是有略微差别的,python没有pascal的begin-end框架,也没有c语言的花括号{}的框架,主打的是一个缩进,即同一语言块的放在同一缩进内。仁者见仁,智者见智,我打python有个坏毛病,喜欢打分号,习惯了。

特别注意一点,变量使用前赋给初始值,要不没有这个变量喽

三、学习

1、常用变量数据类型

整数 int
浮点数 float
复数 complex
布尔数 bool
字符串 string
列表 list
元组 tuple
集合 set
字典 dictionary

2、使用

①输入

输入时,形式为input(),此时变量并不是你想要的数据类型
可使用 对应的数据类型函数

int(input())为整数类型
同样
float(input())为浮点数类型

②占位

与c语言同理
用%d,%s,%f,表示需要加入的数据类型
同样%.2f也是保留两位小数的意思

③输出

记住,与pascal和c语言不同的是
python的输出是会自动换行的
不需要writeln与\n的帮助
如不需要换行,则可+end
例如:print(“hello”,end=‘’)

3、函数(def与lambda)

即c语言中的函数,与pascal中的子程序概念一致

 def test(x,y):
        sum = x+y
        return sum
test(5,6)

用def定义,有个不一样的是

def test(a,b=10)
def test(a=20,b=10)
def test(a,*b)

观察,发现python的函数里的值可以设置初始值,如果调用是没有赋值,则按初始值计算
*b的意思最为特殊,即可以容纳多余的变量,形成一个列表,如果你让调用1,2,3三个数,在函数里a=1,而b=【2,3】

再说lambda,是一个一次性的函数调用
即 lambda a,b:a+b(只有一行代码)

4、序列形式

①列表(list)

以【】为标识
初始赋值可以为
a=【】;
a=list()
支持嵌套

②元组(tuple)

元组已有的内容不可以更改
以()为表示
初始赋值可为
a=()
a=tuple()
支持嵌套

③字符串(str)

字符串的替换

语法:字符串.replace(字符串1,字符串2)
功能:将字符串内的全部:字符串1,替换为字符串2
注意:不是修改字符串本身,而是得到了一个新字符串哦

语法:字符串.strip()
字符串的规整操作(去前后指定字符串)
语法:字符串.strip(字符串)
注意,传入的是“12” 其实就是:”1”和”2”都会移除,是按照单个字符。

统计字符串中某字符串的出现次数
语法:字符串.count(字符串)

统计字符串的长度
语法:len(字符串)

④集合(set)

集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序
初始赋值为
a={1,2,3}
a=set()

⑤字典(dict)

字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:
使用{}存储原始,每一个元素是一个键值对
每一个键值对包含Key和Value(用冒号分隔)
键值对之间使用逗号分隔
Key和Value可以是任意类型的数据(key不可为字典)
Key不可重复,重复会对原有数据覆盖

在这里插入图片描述

5、文件

文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象。用文件形式组织和表达数据更有效也更为灵活。
文件包括两种类型:文本文件和二进制文件。

文件的类型
文本文件一般由单一特定编码的字符组成,内容容易统一展示和阅读。大部分文本文件都可以通过文本编辑软件或文字处理软件创建、修改和阅读。由于文本文件存在编码,所以,它也可以被看作是存储在磁盘上的长字符串,如一个txt格式的文本文件。
二进制文件直接由比特0和比特1组成,没有统一字符编码,
文件内部数据的组织格式与文件用途有关。如png格式的图片文件,avi格式的视频文件等。

文件概述
实例:理解文本文件和二进制文件的区别。
#t表示文本文件方式
textFile = open("file.txt","rt" , encoding = "utf-8")
 print (textFile.readline())
 textFile.close()
#r表示二进制文件方式
binFile = open ("file.txt" ,"rb")
print (binFile.readline())
binFile.close()


文件的打开关闭
Python通过解释器内置的open()函数打开一个文件,并返回一个操作这个文件的变量,open()函数格式如下:
<变量名>= open(<文件名>,<打开模式>)
open()函数有两个参数:文件名和打开模式。文件名可以是文件的实际名字,也可以是包含完整路径的名字
文件的打开关闭
文件使用结束后要用close()方法关闭,释放文件的使用授权,语法形式如下:
<变量名>.close()
当文件关闭后,再对文件进行读写将产生I/O操作错误。

在这里插入图片描述
文件的打开关闭
·以文本方式只读打开一个文件,读入后不能对文件进行修改:
<变量名>= open(<文件名>,“r”)
·以文本方式可读写地打开一个文件,可以读入并修改文件。
<变量名>= open(<文件名>,“r+”)
·以文本方式打开一个空文件,写入一批内容,并保存为新文件。
<变量名>= open(<文件名>, “w”)
·以文本方式打开一个空文件或已有文件,追加形式写入一批内容,更新原文件。
<变量名>= open(<文件名>,“a+”)
·以二进制方式只读打开一个文件,读入后不能对文件进行修改。
<变量名>= open(<文件名>,“rb")

readline()方法的用法如下:
.readline()其功能是读取从当前位置到行末(即下一个换行符)并作为字符串返回,赋值给变量。通常用此方法来读取文件的当前行,包括行结束符。如果当前文件指针处于文件末尾,则返回空串。

在这里插入图片描述

<file>.readlines()也是一次性读入文件的函数,其结果是一个列表,每个元素是文函数,其结果是一个列表,每个元素是文件的一行。
f=open("poem.txt","r", encoding = "utf-8")
s=f.readlines ()
print(s)
f.close()
文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针会向前前进,再次读取的内容将从指针的新位置开始。

1fname = input("请输入要打开的文件:")
fo = open(fname,"r", encoding = "utf-8'
for line in fo.readlines ():
print (line)
fo.close()

.seek()方法能够移动读取指针的位置,.seek(O)将读取指针移动到文件开头,.seek(2)将读取指针移动到文件结尾。

在这里插入图片描述

在这里插入图片描述

6.绘图

本节十分有趣,后续可能会专开一个文章讲解心得

turtle库
绘图坐标体系:turtle.setup(函数…
画笔控制函数: turtle.pencolor()函数…
形状绘制函数:turtle.circle)函数…

turtle.setup()函数用于启动一个图形窗口。
turtle.setup(width, height, startx, starty)
它有四个参数,分别是:窗口宽度、高度、窗口左侧与屏幕左侧的像素距离、以及窗口顶部与屏幕顶部的像素距离。

在这里插入图片描述
在这里插入图片描述

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值