推广 热搜: 行业  机械  设备    系统  教师  经纪  参数    蒸汽 

Python入门篇

   日期:2024-12-27     移动:http://zleialh.xhstdz.com/mobile/quote/85789.html
  • CSDN平台内的python入门博客(有很多写得通俗易懂而系统便于学习的博客教程,可多看看选择最适合自己的

    Python入门篇

 

多行注释:以’’‘开始,并以’’'结束

 
 
 
 

运行结果

 

变量没有类型,数据才有类型

 
 

命名规则

  1. 标识符由字母、下划线和数字组成,且数字不能开头。
  2. 严格区分大小写
  3. 不能使用关键字。(pycharm中蓝色高亮部分

驼峰命名法

  • 小驼峰式命名法(lower camel case: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
  • 大驼峰式命名法(upper camel case: 每一个单字的首字母都采用大写字母,例如FirstName、LastName.
 

运行结果

 

换行输出

 

结果输出

 

边框简化写法(效果与上同

 
 
 
 
 
 
 
 

输出结果

 

关于布尔值

 

以上情况为假,其余为真

示例

 

结果

 
 
 
 
 

示例

 

结果

 
 
 
 

输出结果

 

示例2
当布尔参与运算时, False转0 True转1

 

输出结果

 

示例3

 

输出结果

 
 
  • and(并) 均满足时,结果才是True
  • or(或) 只要有一个满足,结果为True
  • not(取反

逻辑运算符返回结果不一定是bool类型

短路运算:从左往右运算

and 左边开始只要是真,继续往后走。若遇假,立即停止,后面不管

 

or 左边开始,只要是假,继续往右走。若遇真,立即停止,后面不管

 
 
 
 
 
 
 
 
 
 
 
 
 
 

分析
游戏双方 电脑*用户 两者随机出下面三种中的一个
剪刀0 石头1 布2
用户赢得情况(左侧) 0-2 1-0 2-1(也就是说如果电脑出2,用户出0即赢得游戏

代码实现

 
 
 
 

while语法

 
 
 
 

这里也可以使用range,注意range左闭右开

 
 
 
 
 
 

1.生成矩形

 

最终效果

 

2.倒置的九九乘法表

 

最终效果

 

3.寻找水仙花数

 

最终结果

 

4.折叠次数的求解
一张纸的厚度是0.08mm,请问折叠几次达高度 8848.13m

 

最终结果

 

4.百马马百担问题

 

输出结果

 
 

语句
for 临时变量 in 可迭代对象
满足条件时执行的代码

可迭代对象
字符串、列表、字典、元组、集合
‘’’

 
 
 
 

切片的语法:[起始:结束:步长],也可以简化使用 [起始:结束]

 
 

列表的切片操作与字符串类似

  • 获取长度:len
  • 查找内容:find,index,rfind,rindex
    find——查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1
  • 判断:startswith,endswith,isalpha,isdigit,isalnum,isspace
 
  • 计算出现次数:count
  • 替换内容:replace
  • 切割字符串:split,rsplit,splitlines,partition,rpartition
 
 
  • 修改大小写:capitalize,title,upper,lower
 
  • 空格处理:ljust,rjust,center,lstrip,rstrip,strip
 
 
  • 字符串拼接:join
 
 

注意:在Python中,字符串是不可变的所有的字符串相关方法,都不会改变原有的字符串,都是返回一个结果,在这个新的返回值里,保留了执行后的结果

 
 


列表元素的常用删除方法有

  • del:根据下标进行删除
  • pop:删除最后一个元素
  • remove:根据元素的值进行删除
 
 

 
 

  • in 和 not in (存不存在
  • index(查找位置,无则报错) 和 count(对元素出现的次数计数
 

遍历循环

使用while

 
 

使用for:

 
 

嵌套操作

 

列表生成式

 

两种列表元素去重的方法

 
 
 

元组是不可变类型,跟字符串一样,原来结果永不变。所以该数据类型非常适用于固定数据或想避免改变原数据的情况。

python可变类型:列表 字典 集合
不可变类型:整型 字符串 元组 bool

 
 

元组的不可变性

 
 
 
  • 字典的键必须是不可变类型(一般为字符串,而value可以是任意类型
  • 字典的键不要重复,否则后边的会把前面的覆盖掉
 

结果

 

字典的遍历

遍历键(遍历值的操作与之类似

 
 

遍历字典的键值对(.items)

 
 

enumerate()
该函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

 
 
 

集合(set)是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合。

并、添、移、删

 
 

集合运算:

 
 
 
 

函数是对语句的封装(类似于ppt中的模板,当我们想达成某一效果时,只需选用相应的模板填入内容即可。

定义

 

函数写好后,需要调用才能实现功能

 
 
 

函数返回值

 
 

函数调用函数

求n的阶乘

 
 

求m阶乘的和

 
 
 

返回多个值的情况

 

可变参数

可变位置参数

 
 

关键字参数以字典形式保存,且永远放在参数列表的末尾

 
 
 

为更好理解,我们先来看如下例子

 
 

lambda关键词能创建小型匿名函数。(这种函数得名于省略了用def声明函数的标准步骤) 从而可以实现与上面相同的功能。

lambda 参数列表: 运算表达式

 
 

匿名函数的应用

1 按年龄排序

 
 

2 寻找大于18的年龄

 
 

3 统一涨薪

 
 
 
 
  • 面向过程:根据业务逻辑从上到下写代码。
  • 面向对象:将变量与函数绑定到一起,分类进行封装,每个程序只要负责分配给自己的分类,这样能够更快速的开发程序,减少了重复代码。

面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑,面向过程基本是由函数组成的。

01.面向过程编程

面向过程编程的关注点在于怎么做

  • 把完成某一个需求的 所有步骤 从头到尾 逐步实现
  • 根据开发需求,将某些 功能独立 的代码 封装 成一个又一个 函数
  • 最后完成的代码,就是顺序地调用 不同的函数

面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)和面相对象,是两种不同的编程方式。

面向对象编程的关注点在于谁来做

相比较函数,面向对象是更大的封装,根据职责在 一个对象中封装多个方法

  • 在完成某一个需求前,首先确定职责 —— 要做的事情(方法
  • 根据 职责 确定不同的 对象,在对象内部封装不同的方法(多个
  • 最后完成的代码,就是顺序地调用不同对象的相应方法。

特点:

  • 注重 对象和职责,不同的对象承担不同的职责。
  • 更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路。
  • 需要在面向过程基础上,再学习一些面向对象的语法。

对一群具有相同特征或者行为的事物的一个统称,是抽象的不能直接使用

  • 特征其实就是一个变量,在类里我们称之为属性。
  • 行为其实就是一个函数,在类里我们称之为方法。
  • 类其实就是由 属性 和 方法 组成的一个抽象概念。

对象:

对象是由类创建出来的一个具体存在,可以直接使用。由哪一个类创建出来的 对象,就拥有在哪一个类中定义的属性和方法。

对象就相当于用图纸制造的飞机。在开发中,应该先有类,在类里定义好属性和行为,再根据类来创建对象。

类和对象的关系

  1. 类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。
  2. 使用同一个类,能够创建出很多对象。
  3. 类中定义了什么属性和方法,对象中就有什么属性和方法。
  4. 不同对象对应的属性值也会不同。
 
 
 

Python 里有一种方法,叫做魔法方法。Python 的类里提供的两个下划线开始,两个下划线结束的方法,就是魔法方法,魔法方法在恰当的时候就会被激活,自动执行。 魔法方法的两个特点

  • 两侧各有两个下划线
  • "咒语"名字已经由 Python 官方定义好,我们不能乱写。
 
 
 
 
 
 
 
 
 

方法二pip

先打开Terminal(pycharm左下,通过以下命令可完成相应需求

1 使用pip list查看已下载包

 

2 pip install '包名’
这种方法很直接,但直接在官网下载经常会因各种原因卡顿、甚至下载失败。此时,我们可以去国内镜像网站下载相应包。

国内常用的pip下载源列表:

  • 阿里云 http://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣(douban) http://pypi.douban.com/simple/
  • 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  • 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

3 pip install 包名 -i 国内源地址

 

实用操作

 
 
 

为了方便程序员开发代码,Python提供了很多内置的模块给程序员用来提高编码效率。常见的内置模块有:

  • os模块: OS全称OperationSystem,即操作系统模块,这个模块可以用来操作系统的功能,并且实现跨平台操作。
 
  • sys模块
 
  • math模块
 
  • random模块
 
  • datetime模块
 
  • time模块: datetime模块主要用来显示日期时间,这里主要涉及 date类,用来显示日期;time类,用来显示时间;dateteime类,用来显示日期时间;timedelta类用来计算时间。
 
  • calendar模块
 
  • hashlib模块: 一个提供字符加密功能的模块,包含MD5和SHA的加密算法,具体支持md5,sha1, sha224, sha256, sha384, sha512等算法。 该模块在用户登录认证方面应用广泛,对文本加密也很常见。
 
  • hmac模块: HMAC算法也是一种一种单项加密算法,并且它是基于上面各种哈希算法/散列算法的,只是它可以在运算过程中使用一个密钥来增增强安全性。hmac模块实现了HAMC算法,提供了相应的函数和方法,且与hashlib提供的api基本一致。
 
  • copy模块
 
  • uuid模块: UUID是128位的全局唯一标识符,通常由32字节的字母串表示,它可以保证时间和空间的唯一性,也称为GUID。通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生产的ID的唯一性。随机生成字符串,可以当成token使用,当成用户账号使用,当成订单号使用。
 
 
 

文件的路径分为相对路径和绝对路径两种。

绝对路径:指的是绝对位置,完整地描述了目标的所在地,所有目录层级关系是一目了然的。

 

相对路径:是从当前文件所在的文件夹开始的路径。

  • test.txt,是在当前文件夹查找 test.txt 文件
  • https://blog.csdn.net/qq_45060674/article/details/test.txt,也是在当前文件夹里查找test.txt文件, https://blog.csdn.net/qq_45060674/article/details/ 表示的是当前文件夹。
  • …/test.txt,从当前文件夹的上一级文件夹里查找 test.txt 文件。 …/ 表示的是上一级文件夹
  • demo/test.txt,在当前文件夹里查找 demo这个文件夹,并在这个文件夹里查找 test.txt文件。

1 文件的输入

 

使用write命令一定要记得close掉。使用’with open’更便捷,无需在末尾手动close。

 

2 文件的读取

 
 

 
 

使用csv.DictWriter返回字典

 
 

 
 
 

通过文件操作,我们可以将字符串写入到一个本地文件。但是如果是一个对象(例如列表、字典、元组等),就无法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里。

设计一套协议,按照某种规则把内存中的数据转换为字节序列,保存到文件,这就是序列化,反之,从文件的字节序列恢复到内存中,就是反序列化。

Python中提供了JSON和pickle两个模块用来实现数据的序列化和反序列化。

Json模块JSON的本质是字符串

 
 

补充:利用json选出所需网页数据

 
 
 

正则表达式是一个特殊的字符序列,计算机科学的一个概念。通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用re模块。re 模块使 Python 语言拥有全部的正则表达式功能。

本文地址:http://zleialh.xhstdz.com/quote/85789.html    物流园资讯网 http://zleialh.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号