首页 > 编程语言 >python学习笔记

python学习笔记

时间:2024-06-09 21:55:27浏览次数:29  
标签:返回 ps python 笔记 列表 学习 print 字符串 数据

(1)help('keywords') 控制台内输入关键字
pycharm常用操作:
[1]ctrl + y 恢复上一次操作
[2]ctrl + z 撤回上一次操作

(2)%常见格式:
[1]%s 字符串
[2]%d 整数
[3]%f 小数(浮点数)

(3)注释:
单行注释: # ________
多行注释: """ ______ """
(4)运算符号: / 除
// 整除
** 指数
(5)转义字符:
\t : 制表符,一个tab键(4个空格)的距离
\n : 换行符
ps: 默认情况下,每个print()方法执行完毕后,都会输出一个\n换行符。
如果不想让print()方法换行,可以添加一个end参数
print('*', end='')
(6)常见知识点:
[1]占位符使用:
class_num = 57
avg_salary = 16781
message = "Python大数据学科,北京%s期,毕业平均工资 : %s" %(class_num,avg_salary)
print(message)
[2]数据精度控制:
m:控制宽度,要求是数字(少用),设置的宽度小于数字自身,不生效
.n:控制小数点精度,要求是数字,会进行小数的四舍五入.
ps:print("每日增长系数:%f,经过%d天的增长后,股价达到了:%.2f"%(a,b,c))
ps: [1]%.2f 将数字四舍五入到小数点后两位(1.534-->1.53)
[2]%d 整数输出(1.75-->1)
[3]%5d 将数字按宽度为5,采用右对齐方式输出,若数据位数不到5位,则左边补空格
[4]%06d 将数字按宽度6,不足6则前面补零(15-->000015,常用于学号)
[3]快速格式化(不进行精度控制):
f"{变量}{变量}"
ps:print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
[4]数据类型:
1.数值类型:
[1]int(整型)
[2]float(浮点型)
2.布尔型:
[1]true
[2]false
3.字符串(str)
4.列表(list)
5.元组(tuple)
6.集合(set)
7.字典(dict)
(6)常用语句(关键词):
[1]type():查看数(据的类型
ps: a = 10
print("a的类型为:",type(a))
[2]input():获取键盘的输入信息
ps: print("你多大了?")
age = int(input()) /或 age = int(input("你多大了?"))
print("我今年%d岁了" % age)
tp:无论输入什么类型的数据,获取到的永远为字符串类型,后续若有需要需自行转换!
[3](判断语句)if:(条件用and连接)
if 判断条件:
成立后执行代码
[4](判断语句)if -else:
if 判断条件:
成立后执行代码
else:
不成立后执行代码
[5](判断语句)(并列)if -elif -else:(互斥且有序)
if 条件1:
条件1成立后执行代码
elif 条件2:
条件2成立后执行代码
elif 条件3:
条件3成立后执行代码
.
.
.
elif 条件n:
条件n成立后执行代码
else:
以上条件均不成立后执行代码
[6]if嵌套(包含):
if 条件1:
条件1成立后执行代码
if 条件2:
条件1成立且条件2成立后执行代码
else:
条件1不成立后执行代码
[7]while循环语句:(后可以加上else语句(即循环结束后执行的语句(break会影响到else语句的执行)))
i = 0
while 条件: while i<100:
条件成立执行代码 print("乐,还剩下"+{100-i}+"次")
条件变化 i++/i += 1
(else:
xxxxxxxxx)
[8]random随机数:
import random
num = random.randint(1,100)
#生成1~100之间的随机数
[9]format方法格式化输出:
print('字符串{}'.format(变量名称1))
ps: name = '孙悟空'
mobile = '18878569090'
print("姓名:{},联系方式:{}".format(name,mobile))
[10]range函数(顾头不顾尾):
range(stop)
range(start,stop[,step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有 5
step:步长,默认为1。例如:range(0,5) 等价于 range(0, 5, 1)
ps: for i in range(5): #循环5次(0~4)
print(i)
[11]for循环语句:
for 临时变量 in 序列:
循环体
else:
当for循环正常结束后,返回的代码
[12]字符串的操作方法:
{1}字符串中的查找方法(所谓字符串查找方法即是查找子串在字符串中的位置或出现的次数。)
基本语法:
字符串.find(要查找的字符或者子串)
编号 函数 作用
1 find() 检测某个子串是否包含在这个字符串中,
如果在返回这个子串开始的位置下标,否则则返回-1。
2 index() 检测某个子串是否包含在这个字符串中,
如果在返回这个子串开始的位置下标,否则则报异常。
3 rfind() 和find()功能相同,但查找方向为右侧开始
4 rindex() 和index()功能相同,但查找方向为右侧开始
5 count() 返回某个子串在字符串中出现的次数
(ps: str1 = 'hello world and hello linux and hello python')
ands = str1.count('and')
#限定开始查找的位置和结束位置
#ands = str1.count('and',10,30)
{2}字符串的修改方法:(所谓修改字符串,指的就是通过函数(方法)的形式修改字符串中的数据。)
编号 函数 作用
1 replace() 返回替换后的字符串
(ps:字符串.replace(要替换的内容,替换后的内容,替换的次数-可以省略))
2 split() 返回切割后的列表序列
3 capitalize() 首字母大写
4 title() 所有单词首字母大写
5 upper()与lower() 返回全部大写或小写的字符串
6 lstrip()、rstrip()与strip() 去除左边、右边以及两边的空白字符
7 ljust()、rjust()与center() 返回原字符串左对齐、右对齐以及居中对齐
(ps:字符串序列.ljust(长度,填充字符))
{3}字符串的判断方法(所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。)
编号 函数 作用
1 startswith() 检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。
如果设置开始和结束位置下标,则在指定范围内检查。
2 endswith() 检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。
如果设置开始和结束位置下标,则在指定范围内检查。
3 isalpha() 如果字符串所有字符(至少有一个字符)都是字母则返回 True, 否则返回False。
4 isdigit() 如果字符串只包含数字则返回 True 否则返回 False。
5 isalnum() Python isalnum() 方法检测字符串是否由字母和数字组成。
如果字符串所有字符(至少有一个字符)都是字母或数字则返回 True,否则返回 False。
6 isspace() 如果字符串中只包含空白,则返回 True,否则返回 False
[13]len函数:(某个(字符串)的长度)
(7)列表(java里称为数组)(为可变类型数据)
[1]定义 : 列表序列名称=[列表中的元素1,列表中的元素2,列表中的元素3,...]
[2]打印: list = ['张三','李四','王五']
##list列表类型支持直接打印
print(list)
#打印列表的数据类型
print(type(list1))
ps:列表可以一次存储多个数据且可以为不同的数据类型
[3]列表的操作(增删改查):
{1}查:
编号 函数 作用
1 index() 指定数据所在位置的下标
2 count() 统计指定数据在当前列表中出现的次数
3 in 判断指定数据在某个列表序列,如果在返回True,否则返回False
4 not in 判断指定数据不在某个列表序列,如果不在返回True,否则返回False
{2}增:
编号 函数 作用
1 append() 增加指定数据到列表中
2 extend() 列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
(ps : extend方法比较适合于两个列表进行元素的合并操作)
3 insert() 指定位置新增数据(ps:name.insert(1,'张三'))
{3}删:
编号 函数 作用
1 del 列表[索引] 删除列表中的某个元素
(ps:del names[1])
2 pop() 删除指定下标的数据(默认为最后一个),并返回该数据
(ps:del_name = names.pop())
3 remove() 移除列表中某个数据的第一个匹配项。
(ps:fruit.remove('banana'))
4 clear() 清空列表,删除列表中的所有元素,返回空列表。
(ps:names.clear())
{4}改:
编号 函数 作用
1 列表[索引] = 修改后的值 修改列表中的某个元素
(ps:list[3] = '张三')
2 reverse() 将数据序列进行倒叙排列
(ps:list.reverse)
3 sort() 对列表序列进行排序
(ps:list.sort() #升序(从小到大))
(#或 list.sort(reverse=True) #降序(从大到小))
4 copy() 对列表序列进行拷贝
(ps:lists = list.copy())
(8)元组:(元组可以存储多个数据且元组内的数据不能修改)
[1]定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。
[2]基本语法:
#多个数据元组:
tuple1 = (10,20,30)
#单个数据元组:
tuple2 = (10,)
(ps:如果定义的元组只有一个数据,那么这个数据后面也要添加逗号,
否则数据类型为唯一的这个数据的数据类型。)
[3]相关操作方法(大部分为查询):
编号 函数 作用
1 元组[索引] 根据索引下标查找元素
2 index() 查找某个数据,如果数据存在返回对应的下标,
否则报错,语法和列表、字符串的index方法相同
3 count() 统计某个数据在当前元组出现的次数
4 len() 统计元组中数据的个数
(9)字典:(可变类型)
[1]特点:
{1}符号为大括号(花括号) => {}
{2}数据为键值对形式出现 => {key:value},key:键名,value:值,
在同一个字典中,key必须是唯一(类似于索引下标)
{3}各个键值对之间用逗号隔开
[2]定义:
#有数据字典:
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
#空字典:
dict2 = {}
dict3 = dict()
[3]字典的增操作:
{1}基本语法:
字典名称[key] = value
(ps:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。)
[4]字典的删操作:
{1} del 字典名称[key]:删除指定元素
{2}clear()方法:清空字典中的所有key
[5]字典的改操作:
{1}基本语法:
字典名称[key] = value
(ps:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。)
[6]字典的查操作:
{1}查询方法:
使用具体的某个key查询数据,如果未找到,则直接报错。
(字典序列[key])
{2}字典的相关查询方法
编号 函数 作用
1 get(key,默认值) 根据字典的key获取对应的value值,如果当前查找的key不存在则返回第二个
参数(默认值),如果省略第二个参数,则返回None
(ps: cat = {'name':'tom','age':5}
name = cat.get('name')
age = cat.get('age') )
2 keys() 以列表返回一个字典所有的键
(ps: print(person.keys()) )
3 values() 以列表返回字典中的所有值
(ps: print(person.values()) )
4 items() 以列表返回可遍历的(键, 值) 元组数组
(10)集合:(无序不重复序列)
[1]定义: 在Python中,我们可以使用一对花括号{}或者set()方法来定义集合,但是如果你定义的集合是一个空集
合,则只能使用set()方法。
(ps: #定义一个集合
s1 = {10,20,30,40,50}
#定义空集合
s2 = set() )
[2]集合的增操作:
{1}add()方法 : 向集合中增加一个元素(单一)
(ps: students = set()
students.add('李哲')
students.add('张三') )
{2}update()方法 : 向集合中增加序列类型的数据(字符串、列表、元组、字典)
(ps: students = set()
list1 = ['刘备','关羽','张飞']
students.update(list1)
students.update('张三') )
[3]集合的删操作:
{1}remove()方法 : 删除集合中的指定数据,如果数据不存在则报错。
{2} discard()方法: 删除集合中的指定数据,如果数据不存在也不会报错。
{3} pop()方法: 随机删除集合中的某个数据,并返回这个数据。
[4]集合的查操作:
{1} in :判断某个元素是否在集合中,如果在,则返回True,否则返回False
{2} not in :判断某个元素不在集合中,如果不在,则返回True,否则返回False
{3}集合的遍历操作:
for i in 集合:
print(i)
[5]集合中的交集,并集与差集特性:
{1}在Python中,我们可以使用 & 来求两个集合的交集
{2}在Python中,我们可以使用 | 来求两个集合的并集
{3}在Python中,我们可以使用 - 来求两个集合的差集
(11)数据序列中的公共方法:
[1]常见公共方法1:
运算符 描述 支持的容器类型
+ 合并 字符串、列表、元组
* 复制 字符串、列表、元组
in 元素是否存在 字符串、列表、元组、字典
not in 元素是否不存在 字符串、列表、元组、字典
[2]常见公共方法2:
编号 函数 描述
1 len() 计算容器中元素个数
2 del或del() 根据索引下标删除指定元素
3 max() 返回容器中元素最大值
4 min() 返回容器中元素最小值
5 range(start,end, step) 生成从start到end(不包含)的数字,
步长为 step,供for循环使用
6 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索
引序列,同时列出数据和数据下标,一般用在 for 循环当中。
(12)序列类型之间的相互转换:
[1]list()方法:把某个序列类型的数据转化为列表
[2]tuple()方法:把某个序列类型的数据转化为元组
[3]set()方法:将某个序列转换成集合(但是要注意两件事 => ① 集合可以快速完成列表去重 ② 集合不支持下标)
(13)推导式 : 把代码简化为一行代码
[1]列表推导式:
基本语法:
变量名 = [表达式 for 变量 in 列表 for 变量 in 列表]
变量名 = [表达式 for 变量 in 列表 if 条件]
[2]列表推导式 + if条件判断:
变量 = [表达式 for 临时变量 in 序列 if 条件判断]
(ps:生成0-9之间的偶数(i%2 == 0)序列:
list1 = [i for i in range(10) if i % 2 == 0]
print(list1) )
[3]for循环嵌套列表推导式:
基本语法 : 变量 = [表达式 for 临时变量 in 序列 for 临时变量 in 序列]
(等价于 : for 临时变量 in range(n):
for 临时变量 in range(n): )
(ps : 创建列表 => [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
list1 = [(i, j) for i in range(1, 3) for j in range(0, 3)]
print(list1) )
[4]字典推导式:
基本格式:
变量 = {key:value for key,value in 序列}
(ps1:创建一个字典:字典key是1-5数字,value是这个数字的2次方。
#dict1 = {1:1, 2:4, 3:9, 4:16, 5:25}
dict1 = {i:i**2 for i in range(1,6)} )
(ps2:把两个列表合并为一个字典
list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, 'male']
# 结果:person = {'name':'Tom', 'age':20, 'gender':'male'}
person = {list1[i]:list2[i] for i in range(len(list1))}
print(person) )
[5]集合推导式: #创建一个集合,数据为列表list1的2次方
list1 = [1, 1, 2]
set1 = {i**2 for i in list1}
print(set1)
(14)函数创建:(格式: def 函数名(参数1,参数2,...,参数n): )
def func(num):
num += 1
print(num)
(15)文件操作:
[1]open函数打开文件:(使用open()函数,可以打开一个已经存在的文件,或者创建一个新文件)
语法:f = open(name,mode)
#name : 是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
#mode : 设置打开文件的模式(访问模式):只读r、写入w、追加a等
[2]write函数写入文件:
语法:f.wiite('要写入的内容,要求是一个字符串类型的数据')
[3]close函数关闭文件:
语法:f.close()
[4]解决写入中文乱码问题:
#1.打开文件
f = open('python.txt', 'w', encoding='utf-8')
#2.写入内容
f.write('人生苦短,我学Python!')
#3.关闭文件
f.close()
[5]文件的读取操作:
{1}read(size)方法 :主要用于文本类型或者二进制文件(图片、音频、视频...)数据的读取
size表示要从文件中读取的数据的长度(单位是字节),如果没有传入size,那么就表示读取文件中所有的数据。
#ps: f.read() #读取文件的所有内容
f.read(1024) #读取1024个字节长度文件内容,字母或数字,一个占1个字节长度。
中文utf-8占3个字节长度。
{2}readlines()方法:主要用于文本类型数据的读取
#readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行
#的数据为一个元素。

标签:返回,ps,python,笔记,列表,学习,print,字符串,数据
From: https://www.cnblogs.com/yikexiaoqingxin/p/18240090

相关文章

  • Python模拟时钟演示及源代码
     turtle是Python中的一个模块,用于绘图和图形设计。它提供了一个简单的绘图窗口,可以绘制各种形状、线条和颜色等。通过使用turtle模块,我们可以在屏幕上实时地绘制图形,并且可以控制画笔的移动、旋转等操作。 2、使用示例下面是一个简单的使用turtle模块绘制一个正方形的......
  • NSCC集群使用笔记
    1.账号申请如果是NUS,NTU或者ASTAR的学生,可以直接用自己的学校ID登录。登录不上的话可以发邮件联系nscc工作人员即可,基本上第二天就会回复解决。2.VSCode连接账号申请下来后进官网设置你的sshkey之类的东西就可以登录了。第一次登录成功后,可以参考这篇文章设置ssh......
  • python gdal 安装使用(Windows, python 3.6.8)
    pythongdal安装使用pythonGDAL有两种安装方式:第一种是利用pipinstallgdal安装如果安装失败,可以采用下面的方法:第二种离线安装步骤:(1)查看python版本;(2)下载gdal的whl文件;(3)利用pipinstall下载的gdal.whl文件;(4)将gdal中的可执行文件所在路径添加到系统环境中;具体操作见......
  • Python-金融编程第二版-GPT-重译--一-
    Python金融编程第二版(GPT重译)(一)原文:annas-archive.org/md5/d2f94efd019a2e2cb5c4fa9f260d63c译者:飞龙协议:CCBY-NC-SA4.0第一部分:Python与金融本部分介绍了Python在金融领域的应用。它包括三章:第一章简要讨论了Python的一般情况,并论述了为什么Python确实非常......
  • Python-金融编程第二版-GPT-重译--四-
    Python金融编程第二版(GPT重译)(四)原文:annas-archive.org/md5/d2f94efd019a2e2cb5c4fa9f260d63c译者:飞龙协议:CCBY-NC-SA4.0第八章:金融时间序列时间的唯一目的是让一切不是同时发生。阿尔伯特·爱因斯坦金融时间序列数据是金融领域最重要的数据类型之一。这是按日期和/......
  • Python-金融编程第二版-GPT-重译--三-
    Python金融编程第二版(GPT重译)(三)原文:annas-archive.org/md5/d2f94efd019a2e2cb5c4fa9f260d63c译者:飞龙协议:CCBY-NC-SA4.0第六章:面向对象编程软件工程的目的是控制复杂性,而不是创建它。PamelaZave介绍面向对象编程(OOP)是当今最流行的编程范式之一。正确使用时,它与过......
  • Python-金融编程第二版-GPT-重译--二-
    Python金融编程第二版(GPT重译)(二)原文:annas-archive.org/md5/d2f94efd019a2e2cb5c4fa9f260d63c译者:飞龙协议:CCBY-NC-SA4.0第四章:使用NumPy进行数值计算计算机是无用的。它们只能给出答案。巴勃罗·毕加索介绍本章介绍了Python的基本数据类型和数据结构。尽管Py......
  • The Imitate Google Dinosaur for the python <--CSDN @PythonWIN-->
    - Thisisasmallsoftwarebasedonpygame:    -Wehaveusedthewell-knownPythonlanguage-Iamcurrentlydeveloping ImitateGoogleDinosaurversion1.1andusingPythonasmyeditor.Nowletmeexplainindetailitsfunctions:    -F......
  • The Table Pet for the python <--CSDN @PythonWIN-->
    - ThisisasmallsoftwarebasedonpyQT5:    -Wehaveusedthewell-knownPythonlanguage-IamcurrentlydevelopingdesktoppetSVIPversion1.1andusingPythonasmyeditor.Nowletmeexplainindetailitsfunctions:    -First,Anim......
  • python 字典是不是线程安全的
    Python字典(dict)对象本身不是线程安全的。在多线程环境下,对同一个字典对象的读写操作需要额外的同步机制来确保线程安全性。如果需要在多线程环境下使用线程安全的字典,可以使用collections.Counter对象,它是线程安全的,或者使用threading.local,它提供了线程局部存储的功能。另外......