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

Python学习笔记

时间:2023-02-28 20:45:41浏览次数:47  
标签:函数 tuple Python list 笔记 学习 参数 元祖

  1. python ()表示元祖,元祖是一种不可变序列
  • 创建如:tuple = (1,2,3) 取数据 tuple[0]...... tuple[0,2].....tuple[1,2]......

  • 修改元祖:元祖是不可修改的

  • 删除元祖 del tuple

  • 内置函数:

    1. cmp(tuple1,tuple2):比较两个元祖
    2. len(tuple):计算元祖的长度
    3. max(tuple):最大值
    4. min(tuple):最小值
    5. tuple(seq):将列表转为元祖
  1. python []表示列表,列表是可变的序列
  • 创建列表l = [1,2,3,4]取数据l[0]........
  • 列表可修改
  • 内置函数
    1. cmp(list1,list2):比较两个元祖
    2. len(list):计算元祖的长度
    3. max(list):最大值
    4. min(list):最小值
    5. list(seq):将元祖转为列表
    6. list.append(obj):在列表末尾新增对象
    7. list.pop():移除某个数据
    8. list.remove:移除某个列表中匹配的第一个值
    9. list.sort():排序
    10. list.reverse():反转列表
    11. list.count(bj):计算对象在列表中出现的次数
    12. list.insert(index,obj) :在某个位置插入对象
  1. python {} 字典;字典是可变的容器,使用比较灵活

    1. 创建字典:dict = {"a":1,"b":2}. 字典是一对:key, value的键值对 取数据dict['a'],
    2. 可修改
    3. 删除:del dict["a"] 删除某对数据 del dict 删除字典 dict.clear()清除字典所有条目
    4. 内置函数
      1. cmp(dict1,dict2):比较两个元祖
      2. len(dict):计算元祖的长度
      3. dict.clear():删除字典数据
      4. dict.get(key, default=None):返回指定值,如果没有返回指定默认值
      5. dict.has_key(key):判断值是否存在,返回true,false
      6. dict.items()以列表值返回返回可遍历的(键,值)的元祖
      7. dict.keys()返回字典所有的键值
      8. dic.valyes()返回字典所有的值
  2. 名称错误包括两种情况:使用变量前忘记给他赋值,输入变量名时拼写不正确。

  3. title()

    .upper()

    .lower()

    .rstrip()末尾没有空白

    .lstrip()开头没有空白

    .strip()两端没有空白

  4. python用两个**表示乘方运算

  5. python的变量使用前不需要声明,但是变量在使用前都要赋值

  6. import os
    os.rename("毕业论文.txt","毕业论文-最终版.txt")

  7. Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。

    定义默认参数要牢记一点:默认参数必须指向不变对象!

  8. Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:

    >>> nums = [1, 2, 3]
    >>> calc(*nums)
    14
    
  9. 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例:

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)
  1. 如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种方式定义的函数如下:
def person(name, age, *, city, job):
    print(name, age, city, job)

和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符后面的参数被视为命名关键字参数。
命名关键字参数必须传入参数名,这和位置参数不同。
13. 要创建一个class对象,type()函数依次传入3个参数:

class的名称;
继承的父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple的单元素写法;
class的方法名称与函数绑定,这里我们把函数fn绑定到方法名hello上。
通过type()函数创建的类和直接写class是完全一样的,因为Python解释器遇到class定义时,仅仅是扫描一下class定义的语法,然后调用type()函数创建出class。

  1. python计算数组元素个数可以用len()
  2. random.randint取到值为闭区间
  3. Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。
  4. 十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2
  5. 可以直接用True、False表示布尔值(请注意大小写)
  6. /除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:还有一种除法是//,称为地板除,两个整数的除法仍然是整数:整数的地板除//永远是整数,即使除不尽。
  7. 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
  8. len()函数计算的是str的字符数
  9. 用len()函数可以获得list元素的个数
  10. list是一个可变的有序表,所以,可以往list中追加元素到末尾:

classmates.append('Adam')
classmates
['Michael', 'Bob', 'Tracy', 'Adam']

也可以把元素插入到指定的位置,比如索引号为1的位置:

classmates.insert(1, 'Jack')
classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

要删除list末尾的元素,用pop()方法:

classmates.pop()
'Adam'
classmates
['Michael', 'Jack', 'Bob', 'Tracy']

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

classmates.pop(1)
'Jack'
classmates
['Michael', 'Bob', 'Tracy']

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

classmates[1] = 'Sarah'
classmates
['Michael', 'Sarah', 'Tracy']
24.因为tuple不可变,所以代码更安全。
25.只有1个元素的tuple定义时必须加一个逗号,,来消除歧义
26.用input()读取用户的输入,这样可以自己输入,程序运行得更有意思:

birth = input('birth: ')
if birth < 2000:
print('00前')
else:
print('00后')
s = input('birth: ')
因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
27. range(5)生成的序列是从0开始小于5的整数
28. 要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

d.pop('Bob')
75
d

  1. 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
  2. 当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
  3. 定义默认参数要牢记一点:默认参数必须指向不变对象!
    32.默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()
    33.Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

for i, value in enumerate(['A', 'B', 'C']):
... print(i, value)
...
0 A
1 B
2 C

  1. 上面的for循环里,同时引用了两个变量,在Python里是很常见的,比如下面的代码:

for x, y in [(1, 1), (2, 4), (3, 9)]:
... print(x, y)
...
1 1
2 4
3 9

  1. 写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来

[x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:
[x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]

  1. 在Python中,这种一边循环一边计算的机制,称为生成器:generator。
    要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:
  2. 斐波那契数列
    def fib(max):
    n,a,b = 0,0,1
    while n < max:
    a,b = b,a + b
    n = n + 1
    return b
  3. map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
  4. 把这个list所有数字转为字符串:

list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']

  1. lambda x,y:x * 10 + y匿名函数
  2. from functools import reduce
    r = reduce(lambda x,y:x * 10 + y,[1,2,3,4,5])
    print(r)
  3. 在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问,改完后,对于外部代码来说,没什么变动,但是已经无法从外部访问实例变量.__name和实例变量.__score了
  4. 在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name__、__score__这样的变量名。
  5. 不能直接访问__name是因为Python解释器对外把__name变量改成了_Student__name,所以,仍然可以通过_Student__name来访问__name变量
  6. 可以直接在class中定义属性,这种属性是类属性,归Student类所有:
    class Student(object):
    name = 'Student'

标签:函数,tuple,Python,list,笔记,学习,参数,元祖
From: https://www.cnblogs.com/linhongyu0090/p/17165904.html

相关文章

  • Flask学习笔记
    所有路由搜索都是自上而下搜索的注意:返回值为元组数据时,不能以以下形式返回:return('a','b','c')必须要以下面的形式返回: return'内容',*响应码return'11111',200......
  • Python第二天
    反斜线\\、单引号\'、双引号\"单引号、双引号定义一个字符串没有区别,三引号可以换行可以用作多行注释8bit(位)=1byte(字节)1024byte=1kbstr表示字符串(只要是双单引号里的都叫......
  • JAVAWEB学习-session-用session实现禁止用户非法访问页面
    今天学习了JAVAWEB中session的有关知识,能够实现禁止用户非法访问页面.session可以理解为一个表,每条数据有两个属性,String和Object,即名称和内容session的作用是可以实......
  • 原根 学习笔记
    阶假设\(\gcd(a,p)=1\),如果\(a^x\equiv1\pmodp\),那么最小的\(x\)称之为\(a\)在模\(p\)意义下的阶,记作\(\delta_p(a)\)。在抽象代数中,这里的“阶”就是模\(p......
  • python爬虫-bs4基础
    #下面的一段HTML代码将作为例子被多次用到.这是爱丽丝梦游仙境的的一段内容(以后内容中简称为爱丽丝的文档):html_doc="""<html><head><title>TheDormouse'ss......
  • Swift学习笔记
    1.类型判断type(of:)2.拼接字符串\()要放在字符串里面,里面也可加各种数据类型3.类型别名typealiasS=String后面即可用S来代替String只有字符串类型才可以通过+拼接,......
  • Uikit学习笔记
    Dismiss让当前模态跳转的页面消失,返回到旧页面一个对象可以同时拥有数据和功能一般把变量放在方法的上面lround()把slider.value四舍五入Int(acr4_random(1......
  • Git学习笔记
    新建文件夹mkdir进入文件夹cd显示当前目录pwd修改文件viEsc退出输入状态shift+;+q!不保存文件的写入修改shift+;+wq!是保存文件的写入修改查看上......
  • linux升级python3.6升级3.7
    1.下载到本地并解压wgethttps://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgztar-zvxfPython-3.7.12.tgzcdPython-3.7.122.编译安装./configure--......
  • 毕业设计相关论文学习
    毕业设计相关论文及学习1.基于多元线性回归方法的疫情监测系统研究[1]夏婉玉.基于多元线性回归方法的疫情监测系统研究[D].武汉工程大学,2022.DOI:10.27727/d.cnki.gwh......