Python编程

编程规范

1、对象单一性
        只有一种原因可以改变对象的状态,如果有两种原因可以改变对象的状态,那这个对象就违背了单一性原则。目的时问了满足“高内聚低耦合”中的“高内聚”。
2、里氏替换原则
        父类出现中的地方一定可以用子类代替,为了提高代码的可复用性以及可扩展性。

Python2&Python3

1、字符串
        python2中 “123” 和 b"123" 均为str类型,u"123"为unicode类型。
        python3中"123" 和 u"123" 均为str类型,b"123"为byte类型。

学习总结(每天学习一个小知识)

1、map()使用
        map(function, iterable),第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表;第二个参数iterable是迭代器,可以有一个或多个。
        Python 2.x 返回列表,Python 3.x 返回迭代器(使用from six.moves import map python2/python3都返回迭代器)。
2、lambda()表达式使用
        a = lambda x: x*x
        print(a(3))
3、range()使用
        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)
4、sorted()使用
(1)list.sort(cmp=None, key=None, reverse=False)
        列表.sort(),作用是将原来的列表正序排序,所以它是对原来的列表进行的操作,不会产生一个新列表。其中参数的含义是:cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
(2)sorted(iterable, cmp=None, key=None, reverse=False)
        sorted(列表),是Python内置函数,该函数对原列表不会产生影响,只是在原来列表的基础上,产生一个有序的新列表,可以复制一个列表名。iterable – 可迭代对象。cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
(3)dict类型采用sorted排序,默认按key的大小进行排序,返回key列表,即:sorted (dict);按value排序:sorted(dict.items(), key = lambda kv:kv[1])。字典列表排序,按字典的某个key排序:sorted(lis, key = lambda i: i[‘age’]);python2支持sorted(lis),默认采用key字节码最小的key对应value,如果相同采用key字节码第二小的key对应value进行排序,以此类推,这种方式在python3中不支持。
注:python3中cmp参数被去掉,取而代之的是key,如果想用自定义的函数进行排序可引入functools.cmp_to_key:sorted(iterable,key=cmp_to_key(cmp))
5、字符串操作
(1)"".join(s1, s2),将是s1和s2连接在一起

6、文件读写

编程技巧

1、变量交换

a = 1
b = 2
a, b = b, a

2、字符串拼接

name = "Ross"
country = "China"
age = 28
print("Hi, I'm %s. I'm from %s. And I'm %d" % (name, country, age))
print ("Hi, I'm {}. I'm from {}. And I'm {}".format(name, country, age))
print ("Hi, I'm {0}. I'm from {0}. And I'm {0}.".format(name, country, age))
# 仅支持python3.6以上版本
print (f"Hi, I'm {name}. I'm from {country}. And I'm {age}.")

3、yield使用

def fibonacci(n):
    a = 0
    b = 1
    nums = []
    for _ in range(n):
        nums.append(a)
        a, b = b, a + b
    return nums
for i in fibonacci(10):
    print(i)
# 使用yield实现同样效果,产生就输出
def fibonacci(n):
    a = 0
    b = 1
    nums = []
    for _ in range(n):
        yield a
        a, b = b, a + b
for i in fibonacci(10):
    print(i)

4、列表解析式

fruit = ["apple", "pear", "pineapple", "orange", "banana"]
# for i in range(len(fruit)):
#     fruit[i] = fruit[i].upper()
fruit = [x.upper() for x in fruit]
filtered_fruit = [x for x in fruit if x.startswith("a")]

5、Enumerate函数

fruit = ["apple", "pear", "pineapple", "orange", "banana"]
# for x in fruit:
#     print(x)
for i, x in enumerate(fruit):
    print(i, x)

6.1、反向遍历

fruit = ["apple", "pear", "pineapple", "orange", "banana"]
for i, x in enumerate(reversed(fruit)):
    print(i, x)

6.2、按顺序遍历

fruit = ["apple", "pear", "pineapple", "orange", "banana"]
for i, x in enumerate(sorted(fruit)):
    print(i, x)

7、字典的合并

a = {"ross": "123456", "xiaoming": "abc123"}
b = {"lilei": "111111", "zhangsan": "12345678"}
c = {}
# for k in a:
#     c[k] = a[k]
# for k in b:
#     c[k] = b[k]
c = {**a, **b}

8、三元运算符

score = 1
if score > 60:
    s = "pass"
else:
    s = "fail"
s = "pass" if score > 60 else "fail"

9、序列解包

name = "San zhang"
str_list = name.split()
# first_name = str_list[0]
# last_name = str_list[1]
first_name, last_name = name.split()

10、with语句

# f = open("jimmy.py", "r")
# s = f.read()
# f.close()
with open("legend.py", "r") as f:
    s = f.read()
print s

刷题技巧

常用算法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python编程PDF是一本关于Python编程语言的电子书,它可以通过PDF文件的形式在线阅读或下载。这本书旨在向初学者介绍Python编程语言,并提供了从基础概念到高级技巧的详尽说明和示例代码。 Python作为一种简单易学、功能强大的编程语言,已经成为人们最喜爱的入门语言之一。对于初学者来说,掌握基本的语法和概念是非常重要的。这本Python编程PDF可以帮助读者逐步学习Python的语法、数据类型、循环和条件语句等基础知识。它还提供了许多练习题和实例代码,帮助读者理解和应用所学的知识。 此外,Python编程PDF还介绍了Python的高级特性和库。Python拥有丰富的库和模块,可以用于各种任务,比如数据分析、网络编程和Web开发等。这本书详细介绍了一些流行的Python库,如NumPy、Pandas和Django,以及它们在实际项目中的应用示例。 对于已经有一定Python编程经验的读者来说,这本Python编程PDF也是一本很好的参考书。它深入讲解了一些高级主题,如函数式编程和面向对象编程,并提供了一些实用的技巧和建议,帮助读者更好地利用Python编写高效、可维护的代码。 总之,Python编程PDF是一本综合而详尽的Python编程指南,适合初学者和有经验的程序员。它通过清晰的语言和丰富的示例帮助读者掌握Python的基础知识和高级技巧,并引导读者在实际项目中应用所学的知识。无论是想学习Python编程的新手还是希望提升自己编程技能的读者,这本书都是一个很好的选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值