Python小甲鱼学习笔记

Python
开发语言工具
文本工具
IDLE 适合入门
sublime text 适合专业编程
以下是跟着小甲鱼学习的笔记

ps:
assert这个关键字称之为“断言”,当这个关键字后边的条件为假,程序自动崩溃,抛出AssertionError的异常。
用处:用Ta在程序中置入检查点,当需要确保程序中某个条件一定为真才能让程序正常工作
缩进
缩进是python独特的地方
用缩进表示代码块
Python 的代码一般是一行一条语句,语句之后的分号 ; 可加可不加。但如果要在一行中写多条语句,则需要用分号 ; 隔开每条语句。例如print(“hello”);print(“world”) 是可行的

for in循环

for in 循环

  • in表达从(字符串、序列等)中依次取值,又称为遍历(都拿出来)
  • for-in 遍历的对象必须是可迭代对象【迭代:重复反馈的过程,目的是达到目标】
    • 语法结构:
      for 自定义的变量 in 可迭代对象:
      循环体
for item in 'Python':
  print(item)
  #第一次取出来的是P,将P赋值item,将item的值输出
  #range()产生一个整数序列,其也是一个迭代对象

range()
range([star] ,stop,[step=1])
range(begin,end,stepsize)
例子:
range(5)是从0~4
range(2,9)是从2~8
如果stepsize缺审,则stepsize=1

#如果在循环体中不需要使用到自定义变量,可将自定义变量写为“_"
for _ in range(2):
   print("bala")
#结果:bala
     bala
 #range()可做for-in循环次数

break
continue

  • continue语句
    用于结束当前循环,进入下一次循环,通常与分支结构中的if使用
for i in range(10):
    if i%2!=0:
        print(i)
        continue
    i+=2
    print(i)

结果

2
1
4
3
6
5
8
7
10
9

input()函数是用户输入
从控制台获得用户输入,无论用户在控制台输入什么内容,input()函数都以字符串类型返回结果。

input()函数将用户输入的内容当做一个字符串类型,这是获得用户输入的常用方式。print()函数可以直接打印字符串,这是输出字符串的常用方式。

print()函数是计算机输出
输出函数print()如何按照期望的格式输出字符信息。
①输出纯文字字符,则直接打进print()
②当输出变量值时,需要采用格式化输出方式,通过format()方法将待输出变量整理成期望输出的格式

name=input("请输入一个人的名字:")
country=input("请输入一个国家的名字:")
print("{}来自于{}".format(name,country))

Python 的print也能实现格式化输出,方法是使用%操作符,它会将左边的字符串当做格式字符串,将右边的参数代入格式字符串:
如果要带入多个参数,则需要用()包裹代入的多个参数,参数与参数之间用逗号隔开,参数的顺序应该对应格式字符串中的顺序

print("%d + %d = %d" % (100,200,300))
print("%s %s" % ("world","hello"))

%s: 作为字符串
%d: 作为有符号十进制整数

关键字(又叫保留字)
Python 语言中内部使用的单词,代表一定语义。例如:and、class、if、else 等。保留字不能作为标识符,用在变量名、常量名、类名等地方
print(keyword.kwlist)可输出所有的关键字
#关键字与BIF(built in functions有什么区别)
标识符
标识符就是程序中,使用的各种名称,例如:变量名、常量名、类名等等
ps.1.第一个字符必须是字母表中的字母或下划线 _ ;
2.标识符的其他的部分,由字母、数字和下划线组成;
3.标识符对大小写敏感;
4.标识符不能与保留字相同

注释符号 #
多行注释(双引号或者单引号)
“”"
内容
“”"
————————————————

费曼一下:

————
为了打包数据并统一管理,我们需要容纳数据的容器
①可迭代的、元素有序的数据储存在“序列”的容器里
序列的操作:索引【内有正索引、负索引】;加"+"和乘*操作;切片操作【start,end,step】;in/not in;
序列:列表、字符串、元组、字节序列
——列表:可变
创建:list(iterable);[元素1,元素2,…]
ps.可迭代对象:字符串、列表、元组、集合和字典等
操作:追加.append();+;.extend()
插入:list.insert(i,x)其中i是索引位置,x是要插入的元素
替换:list[i]=x
删除:list.remove(x)X为元素;.del list1(i)
排序:sort()此时从小到大;
sort(reverse=True)此时从大到小;
sorted(list1);
list1.reverse();
嵌套列表

>>> list1=[['LXY','LH'],['HH'],['ZXY','YU']]
>>> print(list1[0][1])
LH

访问时类似二维数组
——元组:不可变
创建:tuple(iterable);(元素1,元素2,元素3,…)
ps.元组的元素不可变,除非在元组中包含可变类型的数据。

——-——————————————

列表:**[]**一个打了激素的数组----工厂

  1. 如何创建列表
    普通/混合/空的列表:
    名字=[1,1.3,‘haha’,[1,2,3]]

  2. 向列表添加元素
    用法:
    ①要添加的列表名.append()【append只添加一个元素】
    【这里为什么要用.呢?】
    ②要添加的列表名.extend()【extend也只添加一个列表,但 要添加的列表名.extend([])就可以加入多个元素】
    注:
    append和extend共同点是:都添加一个参数
    不同点:append添加的是一个元素;extend添加的是一个列表

 member.append([1,2,4])
>>> member
['hello', 'world', 'haha', 'wa', 'wuhu', [1, 2, 4]]
>>> member.extend([5,6,7])
>>> member
['hello', 'world', 'haha', 'wa', 'wuhu', [1, 2, 4], 5, 6, 7]

③insert有两个参数
要插入的列表名.insert(要插入的位置序列,要插入的元素)
序列是从0开始的【因为计算机是二进制的】

  1. 从列表中获取元素
    列表名.[序列]
    【-如果要一次性获取多个元素?】
    【-列表分片(slide)
    列表名[star:end]其中不包含end】
    4. 从列表删除元素
    ①要进行删除的列表.remove(元素名字)
    ②del语句:
    del 要进行删除的列表名字[序列]
    ③pop()
    1)列表名.pop()
    给出列表中最后一个元素并删除
    2)列表名.pop(序列)
    给出所要序列的元素并删除

    1. 列表中一些常见的操作符
      比较操作符< > =
      逻辑操作符 and or not
      连接操作符 +
      重复操作符 *
      成员关系操作符 in ;not in
      【in只能判断一层的关系,与continue相似】
      【那么如果我想判断列表里的列表的元素,怎么办?】
>>> list5=[123,['liuxinyu',456]]
>>> 'liuxinyu' in list5
False
>>> 'liuxinyu' in list5[1]
True
>>> list5[1][1]
456
  6.列表类型的内置函数
>>> dir(list)
  1. count()
    用处:数()内的元素出现多少次
    用法:列表.count()
  2. index()
    用处:参数在列表中的位置
    用法:
>>> list3
[123, 456, 234, 124, 123, 456, 234, 124, 123, 456, 234, 124]
>>> list3.index(123)
0
>>> list3.index(123,4,8)
4
  1. reverse()
    翻转
    无参数

  2. sort()
    用法:用指定方式对列表进行排序
    无参数时

>>> list3
[124, 234, 456, 123, 124, 234, 456, 123, 124, 234, 456, 123]
>>> list3.sort()
>>> list3
[123, 123, 123, 124, 124, 124, 234, 234, 234, 456, 456, 456]

有参数时

sort(reserse=True)#从大到小

5.?分片不会随着列表改变

元组:**()**带上枷锁的列表

列表可以任意修改其中的元素,可以插入和删除
逗号是关键【如果元组只有一个元素,在元素后面加上一个***,***,确保它是元组】

  • 创建和访问一个元组
    元组名()
    【与列表的[]作比较】
    访问方式—[N:M]表示从N到M(其中不包括M)

  • 更新和删除一个元组
    切片

temp=temp[ :2]+('yijing',)+temp[2: ]
  • 元组操作符
    同列表

字符串:’ ’

  • 字符串索引提取
    Python字符串
    文本在程序中用字符串类型来表示。Python 语言中,字符串是用两个双引号””或者单引号’’括起来的零个或多个字符。
    正向递增序号:
    序号是从0开始,其中空格也算字符
    访问方式(切片)—[N:M]表示从N到M(其中不包括M)
    反向递减序号:
    在这里插入图片描述
    可以混合使用正向和反向序号
>>>name="Python语言程序设计"
>>>name[0]
'P'
>>>print(name[0],name[7],name[-1])
P 言 计
>>>print(name[2:-4])
thon语言
>>>print(name[:6])
Python
>>>print(name[6:])
语言程序设计
>>>print(name[:])
Python语言程序设计
  • 其他奇奇怪怪的内置方法p15这块先过
    利用python–help–python docs F1—索引,然后学习
    学习过程不要去怕,享受这个过程

  • 字符串:格式化----format
    是什么:统一规格输出
    为什么:解决不统一的问题
    format接受两种参数
    位置数参数和关键字参数,都传递到replacement字段

>>> "{{0}}".format("不打印")
'{0}'
>>> '{0:.1f}{1}'.format(27.658,'GB')
'27.7GB'

序列:列表+元组+字符串

  • 列表、元组、字符串的共同点:
    -都可以通过索引得到每个元素
    -默认索引值总是从0开始
    -可以通过分片的方式得到一个范围内的元素的集合
    -有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)

  • **list()**可迭代对象变为列表

b='I love you'
>>> b=list(b)
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'y', 'o', 'u']

新建–循环—列表

  • **tuple([iterable])**可迭代对象变为元组
  • **str(obj)**吧obj对象转换为字符串
  • len(sub)返回长度
  • max()返回参数或者序列集合最大值
  • min()返回参数或者序列集合最小值
  • sum(iterable[,start=0])返回序列interable和可选参数start的总和,ps:用于字符类型(整数、浮点类型)
  • sorted()
    使用上面内置函数,序列都要是同类型
  • reversed()
  • enumerate()
  • zip()
>>> a=[1,2,3,4,5,6,7,8]
>>> b=[4,5,6,7,8]
>>> zip(a,b)
<zip object at 0x0000016C5DF139C0>
>>> list(zip(a,b))
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]
字典:{}

dict{}

  • 基本概率

单词:key键
含义:value值
映射

  • 创建和访问字典
dict1={'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible is nothing','鱼C':'haha'}

内置方法

  • 工厂函数(类型)
    example:
    str();int();list();tuple();
    fromkeys()
>>> dict1={}
>>> dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict1.fromkeys((1,2,3),'Number')
{1: 'Number', 2: 'Number', 3: 'Number'}

–索引
[]
dict1.get()
成员 in/not in

-清空
字典名.clear()

  • .copy
  • .pop
  • .popitem随机弹出
  • .setdefault()
  • .update

Set 集合**:{}**在我的世界里,你就是唯一
集合是一个无序的,不重复的,没有映射关系

num={1,2,3,4}
  • 创建集合
set1=set({1,2,3,4,5})
  • 如何访问集合的值
    in /not in
    内置方法
  • .add
    一次能增加一个元素
  • .remove
    不可变集合frozen:冰冻的,冻结的
    -.update
    -.remove
    -.pop
num1=frozenset()

-深拷贝/浅拷贝
深拷贝:一个集合改变,另一个集合不会改变

import copy
copy.deepcopy()

函数
将完成一个任务的代码,打包
格式:

def 名字():
     执行的操作

名字()

def 名字(参数):
执行的操作

模块
:是一个包含所有你定义的函数和变量的文件,后缀是.py。其可以被别的程序引用,以使用该模板中的函数等功能。
OS:Operating System操作系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值