初学python笔记

本文详细介绍了Python编程语言的基础格式,如语句、变量、类型转换、运算符、控制结构,以及输入输出、函数、参数传递、lambda表达式、for循环、数据容器(字符串、列表、元组、集合、字典)的使用。此外,还涵盖了文件操作、异常处理、模块和包的概念,以及json数据处理。
摘要由CSDN通过智能技术生成

因为已经有c、c++的学习了,所以基础部分的学习主要是写语法上与c的异同、基础部分以基础格式+专题展示

基础格式

1.语句,语句结尾不需要加分号,换行算作语句结尾

2.变量,变量不需要写明数据类型,只需要声明变量名

# 例
n = 2
m = 3

3.类型转换与c++类似

# 例 整型转换为字符串
num = 11
str = str(num)

4.运算符,对比c,算术运算符多了取整除(//),指数(**)

5.if、for、while等语句利用空格表示层级关系

# 例
n = 10
if n < 10:
    print("10")
while n < 100:
    print("小于100")
for x in "naeme"
   print(x)

专题

1.输入输出

利用input函数完成输入

# 例
name = input("请输入你的姓名")

输出格式只写最常用的:带变量进行输出

n = 10
print(f"n={n}")

2.函数

# 例  函数名(传入参数):
def n ():
    函数体
    return 返回值

可返回多个值,则使用函数时需要用多个变量进行接收

1.函数的说明文档:pycharm自带功能,在函数体内用"""注释每个变量含义

2.关键字传参,"键=值"形式,无视顺序

3.不使用关键字传参要一一对应,混用关键词传参在最后

# 例
def add(nmae,age,bool)
    print(f"name={name},age={age},bool={}")
add(age=18,name="小华",bool=flast)

4.函数作为参数传递

def func(add):
    n = add(1,2)
    print(n)
def add(a,b):
   return a + b
# 这时函数作为一种运算逻辑被传入另一函数
func(add)
# 调用得结果为3

**lambda关键字,使用匿名函数,用完后失效,一次性的运算逻辑输入

# 格式:lambda 参数 :行为
def func(add):
    n = add(1,2)
    print(n)
func(lambda x,y:x+y)

使用手感和函数重载差不多
 

3.for循环

与c的不同:

Python中的for循环更偏向于为数据容器的功能服务

实现逻辑为:按数据容器序号依此完成操作(:将 序号值赋值给in 前变量)

数据容器

1.字符串

字符串格式与操作:

str = "hello world"
chuan.replace(字符串1,字符串2)
# chuan中1被2替换

chuan.split(字符串)
# chuan中按传入字符串分割

strip() # 移除首尾空格
strip(字符串) # 移除首尾指定字符

2.列表(list)

列表的格式与操作:

list = [元素1,元素2,元素3,...]
# 列表元素数据类型可以不同
# 下标索引
list [0]
# 顺次序:0,1,2
# 逆次序:-3,-2,-1
# 插入新元素(插队):
mylist.insert(下标数,元素)
# 追加新元素:
mylist.append(元素)
# 追加新列表:
mylist.exend(列表名)
# 删除元素:
del mylist[2]
mylist.pop(下标) #取出元素、可用变量接收
# 清空列表:
mylist.chear()
# 查找元素:
mylist.index(元素)
# 统计列表某元素个数:
mylist.count(元素)
# 统计列表总元素个数:
len(列表名)

3.元组(tuple)

不可被修改的列表

操作和列表相同,但不可修改

# 例 定义格式
tuple = (元素1,元素2,元素3,...)
# 空元组定义
m_tuple = tuple()

4.集合(set)

无重复元素,无序号的列表

# 集合定义 例
set = {元素1,元素2,元素3,...}
集合.add(元素)      添加一个元素
集合.remove(元素)    移除指定元素
集合.pop()            取出随机元素
集合.claear()          将集合清空
集合1.difference(集合2)    得到差集,1差2,1有2没有的    
集合1.deifference_update(集合2)  删除1中1有2也有的元素,1变2不变
集合1.union(集合2)       合集

5.字典(dict)

无序号,不可重复

可理解为:单词:释义 形式

key不能为字典,velue可以字典

m_dict = {key1:velue1,key2:velue2,key3:velue3...}
# 操作例
# 修改或新增
m_dict[key] = veluel # key已有就修改,没有就新增
m_dict.pop(veluel) # 取出删除veluel
m_dict.chear # 清除所有
m_dict.keys # 得到全部key,以列表形式

总结

通用方法(前面没提到的):

1.max查找最大元素

2.min查找最小元素(字符通过ascll码大小比较)

类型转换类似变量

list()

tuple()

set()

dict()

其他类型无法转换为字典

字典转换为其他类型会丢失velue

文件操作

编码:

呃呃,看不懂

意思是计算机可以通过某种规则将二进制数字翻译给成编程语言,现在多为UTF-8

文件读取、关闭:

python中 open函数用于打开文件

语法:open(name,mode,encoding)

name:是要打开文件的字符串名,可以包含文件所在具体路径

mode:设置打开文件的模式(访问模式):只读、写入、追加等。

encoding:编码格式,通常为UTF-8

具体变量位置不同,最好使用关键字参数指定

模式:

1.r

 以只读方式打开文件。文件的指针将会放在文件的开头。

2.w

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件。

3.

追加一个文件。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

test open(name = "python.txt",mode = "r",encoding = "UTF-8")
# 此时 test 为文本对象,是一种数据类型,可以使用方法,操作类似数据容器
# read()方法
test.read(数字) # 传入参数代表读取数,下次使用read函数会重上次使用结束位置继续读取,下同
# readdline 方法
读取一行
# readdlines 方法
读取全部

也可以利用for循环读取

for line in test
    print(f"line={line}")

close()关闭文件,解除占用

with open()as f :自动关闭文件

with open(name,encoding,mode)as test:
     test.readlines()

完整流程

1打开文件

2操作(读,写)

3关闭文件

写操作

test.write("hello world")
f.flush()# 刷新后才从缓冲区到硬盘中

追加操作同上

用“a”模式打开文件

异常解决、模块、包

捕获异常

1.基础语法

try:
    #可能出现异常的代码
except:
    #出现异常后执行的代码

2.捕获指定异常

try:

excpet 异常类型  as n:
    print(n)
# 结果为打印出异常原因

3.捕获多个异常,所以异常

try:

excpet (异常类型1,异常类型2) as n:




# 捕获所有异常
try:

excpet Excetpion as n:
   print("有异常")

else 无异常会运行的代码

finally 有无都会运行的代码

异常传递性

def fucn1()
    print("fucn1的开始")
    fucn2()
    print("fucn1的结束")
def fucn2()
    pprint("fucn2的开始")
    1/0
    print("fucn2的结束")
try:
    fucn01()
except:
    print("此处有异常')

在函数相互调用中,若最基础被调用的函数的异常没有被捕获会传递到上一级函数中,直到被捕获为止。

到main函数中还未被捕获则会报错

模块

简而言之就是工具包,里面有提前准备好的功能代码,供人使用。类似c中的文件的功能

可以单独导入模块中的一个类、函数、变量也可以直接导入整个模块

import 模块名(导入整个模块)

from 模块名 import 类、变量、方法等

from 模块名 import * (导入所有方法)

import 模块名 as 别名

from 模块名 import 功能名 as 别名

注:导入多个模块,且模块中有多个同名函数,那直接使用函数名,会使用到后导入的模块中的函数

包是包裹模块的文件夹

可以通过python中的pip下载

json

负责各种编程语言中数据的传递与交互

json形式上可理解为python中的字典或者嵌套字典的列表

使用

# 导入json模块
import json
# 准备符合格式的数据
test=[{"name":"小明",age:15},{"name":"小红",age:15},{"name":"小刚",age:17}]
# json.dumps()方法把python数据转换成json数据
test=json.dumps(test)
# json.loads()方法把json数据转换成python数据
test=json.loads(test)

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值