【python】python基础学习笔记

python基础笔记

参考

学习视频

字符串拼接,特殊字符打印

字符串拼接可以用+号。print打印最后默认会换行。\为转义符,比如"表示双引号,\n换行
可以自动换行用三个引号

print('''see you 
see you spaceboy
someday
somewhere''')

运算

乘方符号两个*,向下取整的除法用两个/

print(2**3)
#输出8#导入math库
import math
#math.函数名()
math.sin(1)print(3 / 2)#1.5
print(3 // 2)#1

注释

单行用#号,多行用三引号

输入

#input括号里是输入提示,会被打印出来,input返回的是字符串
use_num = input("input cowboy")
print(use_num)

条件语句

注意:条件之后要加上冒号,只会执行一个分支

#在条件之后记得加上冒号
if use_num >= 10:print("more than 10")
#嵌套的if语句块要继续缩进if use_num > 15:print("more than 15")
#python的 elseif
elif use_num >= 23:print("23")
else:print("less")print("than")
print("不缩进的 不再if-else范围里")#可以使用数学形式的不等式
'''
elif 27 >= use_num >= 23:print("27~23")
'''

逻辑运算

与and,或or,非not

列表

注意:python的列表可以存不同类型的数据

#列表 =一个方括号
user_list = []
#添加元素 可以不同类型
user_list.append(123)
user_list.append("123")
user_list.append(127.0)
user_list.append(12)
user_list.append(125)print(user_list)
#获取长度
print(len(user_list))
#移出指定元素,有多个重复值情况下,一条语句只删除一次
user_list.remove("123")
user_list.remove(127.0)
print(user_list)
print(len(user_list))
#排序函数sorted,升序
print(sorted(user_list))
print(user_list)
#可以用索引访问元素
print(user_list[0])

字典(键值对)

#花括号引起来,键值之间冒号连接
contacts = {"boy": "spike","girl": "faye"
}
print(contacts["boy"])
contacts["woman"] = "julia"
print(contacts)female = "woman"
if female in contacts:print(contacts[female])print(len(contacts))

for循环

contacts = {"boy": "spike","girl": "faye"
}contacts["woman"] = "julia"# keys,values,items表示范围键,值,键值对
for person, name in contacts.items():print(person + ' ' + name + '\n')for person in contacts.values():print(person + '\n')sum = 0
# 结束值不在循环范围里,这里是1-100,第三个参数表示步长
for i in range(1, 101, 2):sum += i
print(sum)

while

python的for适合知道次数的遍历,如遍历列表,而while适合条件成立时的循环

user_in = input("end with q")
while user_in != 'q':user_in = input("end with q")

format方法

字符串里插入变量的对应的键,对应地方就被变量内容替换

faye = "valentine"
julia = "julia"
spike = "jet"
#将变量对应关键字,就不用遵循顺序
message_content = '''see you
see you {ed},{spike},{ein}
someday
somewhere'''.format(ed=faye, spike=julia, ein=spike)
print(message_content)
# 花括号内可以用数字,对应后面参数出现的顺序
message_content = '''see you
see you {2},{1},{0}
someday
somewhere'''.format(faye, julia, spike)
print(message_content)
#前面加上一个f,花括号里写变量名也可以达到一样效果
message_content = f'''see you
see you {faye},{spike},{julia}
someday
somewhere'''
print(message_content)

函数

注意:同样函数名后有一个冒号,函数体每行要缩进

def my_print(sex, name, age):print("sex:" + sex + "name:" + name + "age:" + str(age))return sex + nameres = my_print('女', '宇多田光', 30)
print(res)

import引入库

#直接接库名,调用时要用名字.函数名/变量名
import math
math.sin(1)
#from import,只引入需要的部分,访问时不需要加库名
from statistics import median, mean
# 中位数
print(median(stu_score))

类的创建

class Cat:# 构造函数前后两个下划线,第一个参数是对象本身def __init__(self, name, age, color):self.name = nameself.age = ageself.color = colordef miao(self):print(f'我的名字叫{self.name}')luoxiaohei = Cat('罗小黑', 200, "black")
# print(f'早安喵{luoxiaohei.name}晚安喵{luoxiaohei.color}')
luoxiaohei.miao()

继承

注意:子类的构造函数 不会 默认调用父类的构造函数,要用super()显示调用父类的构造函数。

class Animal:def __init__(self, name, age):self.name = nameself.age = ageclass Cat(Animal):# 前后两个下划线,第一个参数是对象本身def __init__(self, name, age, color):# super后有一个()super().__init__(name, age)self.color = colordef miao(self):print(f'我的名字叫{self.name}')luoxiaohei = Cat('罗小黑', 13, "black")
print(luoxiaohei.age)

异常

try:
#可能产生错误的语句cat_age = int(input("please input:\n"))
except ValueError:#ValueError类型:值错误print("input illegal\n")
else:print('没有错误时执行')
finally:print("finally 无论错误与否都执行")

高级函数,函数名作为参数

def my_adder(x, y):return x + yclass Cat(Animal):# 前后两个下划线,第一个参数是对象本身def __init__(self, name, age, color):# super后有一个()super().__init__(name, age)self.color = color#my_adder作为函数参数传入def cat_adder(self, x, y, my_adder):return my_adder(x, y)luoxiaohei = Cat('罗小黑', 13, "black")
print(luoxiaohei.cat_adder(1, 2, my_adder))

匿名函数

用lambda引导,冒号后只能有一个语句,不用写return

# 匿名函数冒号后只能有一个语句
print(luoxiaohei.cat_adder(1, 2, lambda x, y: x + y))

文件操作以写为例

文件操作前,需要先open打开文件,操作完毕后再close关闭文件

#写入模式w,会清空原有的内容,a追加模式,r+支持读写,追加模式
f=open('./douban_comment.txt','a',encoding='utf-8')
response=requests.get("https://movie.douban.com/",headers=headers)
content=response.textsoup=BeautifulSoup(content,"html.parser")
articles=soup.find_all('p')
for paragragh in articles:#print(f'{paragragh.text}\n')#写入文件f.write(f'{paragragh.text}\n')
#需要关闭文件
f.close()'''
#不用手动关闭文件的方式
with open('./inTheMoodForLove_comment.txt','w',encoding='utf-8') as f:response=requests.get("https://movie.douban.com/review/1570258/",headers=headers)content=response.textsoup=BeautifulSoup(content,"html.parser")articles=soup.find('div',attrs={'class':'review-content clearfix'})#print(articles.text)f.write(f'{articles.text.strip()}\n')
'''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能基础部分26-基于知识推理引擎KIE算法的原理介绍与实际应用

大家好,我是微学AI,今天给大家介绍一下人工智能基础部分26-基于知识推理引擎KIE算法的原理介绍与实际应用。知识推理引擎(Knowledge Inference Engine, KIE)是一种人工智能技术,其核心原理是基于规则和逻辑的方法来处理复杂的问题。它构建在业…

wayland xmodmap 键盘按键映射失效,转 evremap。wps fcitx5 输入法失效

date: 2024-04-12 Plasma 升级时自动的把 x11 换成了 wayland,导致 xmodmap 的映射失效了 下面确认确实是 wayland $ echo "$XDG_SESSION_TYPE" wayland$ env | grep -E -i x11|xorg|wayland XDG_SESSION_TYPEwayland MEMORY_PRESSURE_WATCH/sys/fs/cg…

华为欧拉系统(openEuler-22.03)安装深信服EasyConnect软件(图文详解)

欧拉镜像下载安装 iso镜像官网下载地址 选择最小化安装,标准模式 换华为镜像源 更换华为镜像站,加速下载: sed -i "s#http://repo.openeuler.org#https://mirrors.huaweicloud.com/openeuler#g" /etc/yum.repos.d/openEuler.r…

MongoDB 初识

1.介绍 什么是Mong MongoDB是一种开源的文档型数据库管理系统,它使用类似于JSON的BSON格式(Binary JSON)来存储数据。与传统关系型数据库不同,MongoDB不使用表和行的结构,而是采用集合(Collection&#x…

美团春招内幕:2024年最全Spring Mobile面试题大全,移动开发秘籍!99%的应聘者都推荐收藏!

在2024年,随着移动互联网的飞速发展,移动优先策略已成为企业发展的重要方向。美团,作为中国领先的电子商务平台之一,特别重视在移动设备上提供卓越的用户体验。为了提升应用的移动友好性,Spring Mobile作为一个专门针对…

Leetcode刷题之删除链表中等于给定值 val 的所有结点

Leetcode刷题之删除链表中等于给定值 val 的所有结点 一、题目描述二、题目解析 一、题目描述 Leetcode刷题之删除链表中等于给定值 val 的所有结点 二、题目解析 本题中我们需要将链表中等于val的值的节点删除,首先我想到的方法是通过暴力求解解决,…

递归、搜索与回溯算法:⼆叉树中的深搜

⼆叉树中的深搜 深度优先遍历(DFS,全称为 Depth First Traversal),是我们树或者图这样的数据结构中常⽤的 ⼀种遍历算法。这个算法会尽可能深的搜索树或者图的分⽀,直到⼀条路径上的所有节点都被遍历 完毕&#xff…

【Java】maven的生命周期和概念图

maven的生命周期: 在maven中存在三套"生命周期",每一套生命周期,相互独立,互不影响的,但是中同一套生命周期里,执行后面的命令会自动先执行前面的命令 CleanLifeCycle:清理的生命周期 clean defaultLifeCycle:默认的…

docker-compose yaml指定具体容器网桥ip网段subnet;docker创建即指定subnet;docker取消自启动

1、docker-compose yaml指定具体容器网桥ip网段subnet docker-compose 启动yaml有时可能的容器网段与宿主机的ip冲突导致宿主机上不了网,这时候可以更改yaml指定subnet 宿主机内网一般是192**,这时候容器可以指定172* version: 3.9 services:coredns:…

解锁生成式 AI 的力量:a16z 提供的 16 个企业指南

企业构建和采购生成式AI方面的16项改变 生成式 AI 领域趋势洞察:企业构建和采购生成式 AI 的方式正在发生重大转变,具体表现在:* 专注于可信度和安全性:75% 的企业将信任和安全性视为关键因素。* 优先考虑可扩展性和灵活性&#x…

go语言并发实战——日志收集系统(一) 项目前言

-goroutine- 简介 go并发编程的练手项目 项目背景 一般来说业务系统都有自己的日志,当系统出现问题时,我们一般需要通过日志信息来定位与解决问题,当系统机器较少时我们可以登录服务器来查看,但是当系统机器较多时,我们通过服务器来查看日志的成本就会变得很大,…

【示例】MySQL-不同case下索引的使用分析

前言 本文主要讲述不同SQL语句下,索引的生效情况。 关于索引的前置知识,本文不再讲述。 SQL语句性能分析方法 查看不同类型SQL语句的执行频率 SHOW GLOBAL STATUS LIKE COM_______;慢查询日志 该日志记录了SQL执行时间超过指定参数的所有SQL语句。…

状态模式【行为模式C++】

1.概述 状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 2.结构 State(抽象状态类):定义一个接口用来封装与上下文类的一个特定状态相关的行为,可以有一个或多…

element问题总结之el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位问题

el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位 效果图前言解决方案纵向滑动滚动条滑动到底部的错位解决横向滚动条滑动到最右侧的错位解决 效果图 前言 在使用el-table固定行的时候移动滚动条会发现移动到底部或者移动到最右侧的时候会出现表头和内容错位或…

Mac电脑安装蚁剑

1: github 下载源码和加载器:https://github.com/AntSwordProjectAntSwordProject GitHubAntSwordProject has 12 repositories available. Follow their code on GitHub.https://github.com/AntSwordProject 以该图为主页面:antSword为源码…

PHPStudy(小皮)切换PHP版本PDO拓展失效的问题

因为要看一个老项目,PHP版本在8.0以上会报错,只能切换到7.2,但又遇到了PDO没开启的问题。 PHPStudy上安装的PHP7.2是需要自己配置一下的,里面php.ini文件是空的,需要将php.ini-development改成php.ini,对于…

PCL使点云产生毛刺

一、代码 C++ #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/io/pcd_io.h> #include <pcl/io/ply_io.h> #include <random> #include <pcl/visualization/pcl_visualizer.h> #include <boost/thread/thr…

【每日刷题】Day15

【每日刷题】Day15 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; 目录 1. 141. 环形链表 - 力扣&#xff08;LeetCode&#xff09; 2. 142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 3. 143. 重…

ROS 2边学边练(25)-- 将多个节点组合到一个进程

前言 在ROS 2中&#xff0c;将多个节点&#xff08;Nodes&#xff09;组合到一个单独的进程&#xff08;Process&#xff09;中通常指的是使用“Composable Nodes”的特性。这个特性允许你定义可复用的组件&#xff08;Components&#xff09;&#xff0c;然后将这些组件加…

WPF-基础及进阶扩展合集(持续更新)

目录 一、基础 1、GridSplitter分割线 2、x:static访问资源文件 3、wpf触发器 4、添加xaml资源文件 5、Convert转换器 6、多路绑定与多路转换器 二、进阶扩展 1、HierarchicalDataTemplate 2、XmlDataProvider从外部文件获取源 3、TextBox在CellTemplate中的焦点问题…