python学习笔记--python知识汇总

参考:

40_Python面试100题-腾讯面试题-90-91题_哔哩哔哩_bilibili

一、python基础知识

(一)基础语法

1.标识符、关键字

2.同一行显示多条语句

  用;号隔开

3.print输出

  python3中print默认输出是换行的,如果要实现不换行需要在变量末尾加上 「, end= ' ’」 

print(x, end='')

(二)基础数据类型

  Python基本数据类型一般分为6种:数值(Numbers)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)、集合(Set)。

1.数值

Python支持四种不同的数值类型:

  • int(有符号整型)
  • float(浮点型)
  • complex(复数)

2.字符串

字符串的两种取值顺序

[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。

[头下标:尾下标:截取步长] 

可以使用加号(+)对字符串进行连接,使用星号(*)对字符串进行重复操作。

find,rfind,strip

3.列表[ ]

索引从0开始

Python列表脚本操作符

Python列表函数方法

4.元组( )

与列表的区别:元组的元素不能修改,删除,但是可以拼接新的元组和删除整个元组。

元组运算符和列表相同

元组内置函数

5.字典{ key1 : value1, key2 : value2}

键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。

修改键值时可以直接赋值修改,添加时可以直接输入新的键名添加。

字典内置函数与方法

6.集合

可以使用大括号 { } 或者 set() 函数创建集合

两个集合间的运算

集合内置方法完整列表

添加元素:s.add( x ),将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作;s.update( x )可以添加列表,元组,字典等。

移除元素:s.remove( x ),s.discard( x )

数据类型转换

list和tuple属于序列,可以使用下标访问,可以进行切片操作,可以排序。其区别:
1、list用[]定义,tuple用()定义
2、list是可变容器,可以修改其中的元素,tuple属于不可变容器,不能修改元素。

3、tuple属于不可变容器,没有深复制和浅复制,list有深复制和浅复制

4、list一般不做函数参数的默认值,tuple可以做函数参数的默认值
set和dict不属于序列,无序,不能通过下标访问,但set和dict也有区别:

1、dict可以通过key访问,set不行
2、dict键不可以重复,值可以重复,set不允许有重复元素

3、dict可以根据键修改值,set不能修改元素

3.运算符

(三)一些语句

if语句

if 条件:
   语句
else:
    语句
if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

循环语句 

while循环
while 判断条件(condition):
    执行语句(statements)……
for循环

空心等边三角形

rows = int(input('输入列数(即三角形的高度):'))  
  
for i in range(1, rows + 1):  # 从1开始,因为第一行没有前导空格  
    # 打印前导空格  
    print(' ' * (rows - i), end='')  
    # 打印星号  
    if i == 1 or i == rows:  # 顶部和底部行  
        print('*' * (2 * i - 1))  
    else:  
        # 两侧星号  
        print('*', end='')  
        print(' ' * (2 * (i - 1) - 1), end='')  # 中间空格  
        print('*')
break语句

break语句用来终止循环语句

continue语句

 continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环(而break是跳出整个循环)

pass语句
  1. 占位作用:当你编写一个函数或类,但还没有实现具体功能时,可以使用pass语句作为占位符,以避免语法错误。

  2. 控制流程:在循环或条件语句中,pass语句可以用作空的执行体,使得控制流程继续。

(四)函数

Python3 函数 | 菜鸟教程 (runoob.com)

1.函数的调用 函数名(参数)

2.参数传递

在 python 中,类型属于对象,对象有不同类型的区分,变量是没有类型的:

比如:

a=[1,2,3]

a="Runoob"

[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a 是没有类型,它仅仅是一个对象的引用(一个指针),可以是指向 List 类型对象,也可以是指向 String 类型对象。

可变更对象和不可变更对象:

strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

  • 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变 a 的值,相当于新生成了 a

  • 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了

python 函数的参数传递:

  • 不可变类型:类似 C++ 的值传递,如整数、字符串、元组。如 fun(a),传递的只是 a 的值,没有影响 a 对象本身。如果在 fun(a) 内部修改 a 的值,则是新生成一个 a 的对象。

  • 可变类型:类似 C++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后 fun 外部的 la 也会受影响。

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

python 传不可变对象

def change(a):
    print(id(a))   #查看内存地址 指向的是同一个对象
    a=10
    print(id(a))   # 一个新对象
 
a=1
print(id(a))
change(a)

输出:

4379369136
4379369136
4379369424

 可以看见在调用函数前后,形参和实参指向的是同一个对象(对象 id 相同),在函数内部修改形参后,形参指向的是不同的 id。

python 传可变对象

可变对象在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。

# 可写函数说明
def changeme( mylist ):
   "修改传入的列表"
   mylist.append([1,2,3,4])
   print ("函数内取值: ", mylist)
   return
 
# 调用changeme函数
mylist = [10,20,30]
changeme( mylist )
print ("函数外取值: ", mylist)

传入函数的和在末尾添加新内容的对象用的是同一个引用:输出:

函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

 3.参数

调用函数时可使用的正式参数类型:

  • 必需参数、
  • 关键字参数
  • 默认参数
  • 不定长参数

4.匿名函数

Python 使用 lambda 来创建匿名函数。所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。

5.return语句

6.强制位置参数

 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。

def f(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)

#形参 a 和 b 必须使用指定位置参数,c 或 d 可以是位置形参或关键字形参,而 e 和 f 要求为关键字形参

(五)面向对象

Python3 面向对象 | 菜鸟教程 (runoob.com)

基础概念

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 方法:类中定义的函数。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 局部变量:定义在方法中的变量,只作用于当前实例的类。
  • 实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值