Python学习入门(个人版)



一、输入和循环

用户输入:函数input(“输出的文本内容”)——等待用户输入,返回字符串
函数int(字符串)——字符串变数字,返回数字

while循环:
for循环用于针对集合中的每个元素(遍历),while循环不断执行直到满足特定条件。

格式:

while 条件:
	操作;

for->遍历列表,但不应修改,否则py将难以追踪元素。
while->遍历时修改。

二、函数

py的函数好方便,想怎么用就怎么用

定义:

def  函数名(参数)
	函数体
	return
  • 参数
  1. 位置实参——按位置给形参传值,普遍的
  2. 关键字实参——形参名 = 实参——指定实参给哪个形参(A=a,B=b)——不会出错,顺序可变
  3. 参数可以有默认值
    列表当参数——直接传列表名就OK,fun(A),A是列表名,与使用数组一样
  • 返回值:可以返回字典,列表

  • 对列表的修改:给一个空列表,把原来的pop出来,处理好放在新的里

  • 参数可以传列表的副本A[ : ],保证原来的列表不被破坏(py没有类似const的声明吗?应该有吧)。

传任意个数的实参——形参用*k来写
形参——(*k)——会在函数中创建一个名为k的元组,传几个参数都放元组中,一个也是(太方便了)

形参(A,*b)——第一个给A,剩下的都给b
形参(**a)——创建名为a的字典,并接收任意数量的键值对
如:实参列表:(K,‘name’ = ‘a’,‘age‘ = 25)——K是普通参数,剩下的需要**a,即字典接收。

  • 导入模块——包含头文件

模块——.py文件(好像啥都是),里面有函数的定义(def)

导入:import A,导入A——使用A的函数时,要A.点出来

导入特定函数:
from A import B——从A模块中导入B(函数名)
注:可以一次导多个(B,C,D……),这时再使用就不用.点出来了,可以直接用

给导入的函数起别名:
from A import B as C——C是B的别名
给导入的模块起别名:
import A as B——B是A的别名
导入所有函数:(不好,可能会有函数被覆盖)
from A import *

三、类

  • 类的定义:
    class Dog():
    首字母大写的是类

  • 构造函数——

      def __init__(self,传入参数):
      	函数体;
    

注:init前后是两个下划线,为什么就没有书强调这一点???
self——指向自己,不用传(感觉和this指针可能差不多)

在构造函数中可以直接定义类的属性(因为py不用定义变量就能直接用),但每个属性要有初始值。

方法和函数没有区别,就是要加self参数
方法

def fun(self,参数):
	函数体;

访问成员属性——点出来

  • 类的实例化:对象 = 类(构造参数);

  • 继承:
    class Dog(父类):
    创建子类时也要把父类给搞定了,用子类的构造函数实现父类的创建。
    在子类的构造函数中可以使用特殊函数:super(),将父类和子类关联起来,在子类中调用父类的构造函数:super().init(传入父类构造函数的参数);(C++初始化父类太绕了……晕)

  • 重写——子类重写父类函数:函数名相同覆盖就OK

  • 导入类:还是.py文件
    form A import B——从A(文件名)中导入B(类名)
    form A import *——导入所有类

五、文件操作

  • 打开文件

      with open(‘文件名’) as B:
    

‘文件名’——是一个字符串,可以用变量替换
B——文件对象(类似fp指针,FILE结构体变量)
with——py自己看啥时候关,不用close了(py太省心了)

  • 读文件——
    B.read()——返回字符串形式,读到最后一个字符会多返回一个空字符

  • 文件路径:
    1.在py程序的子文件夹中——‘子文件夹名\文件名’
    2.绝对文件路径:‘C:\文件夹\文件夹\……’

  • 逐行读取:
    先打开,再——for line in B:——行遍历(每行末尾有个回车,可以用rstrip()去掉)

注:with返回的对象只有在with中才有效,想在别的地方用要把每行放列表中:lines = B.readlines()

  • 文件写入——只能写字符串

      with open(‘文件’,‘方式’)as B:
      	B.write(“字符串”)
    

方式
r——只读(默认)
w——格式化写入
a——追加
r+——读写

对w和a,文件不存在则创建

六、异常处理

异常处理:try——expect(和try——catch差不多)
异常处理可以保证程序的顺利执行,而不中断
1.除0:ZeroDivisionError

try:
	代码块
expect ZeroDivisionError:
	处理

当try代码块发生异常,expect查找对应异常的处理办法(这里给了除0的)

try:

expect:

else:

其中else部分是try is OK的时候进入执行的。

2.FileNotFoundError——文件不存在

  • 异常时什么都不做:pass语句

      expect ……:
      	pass
    

七、数据存储:json模块

import json

存——json.dump(待存放数据,文件对象(fp))
待存放数据可以是列表,字典

读——json.load(文件对象)

八、杂记

字符串方法replace()——可以把字符串中的特定部分换掉
A.replace(‘待换的’,‘换成什么’)

方法A.split()——根据字符串创建一个列表,包含字符串中的单词

函数返回空:return None

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值