① 让你的python代码更加Pythonic
下面选取了一些常见的Python规范和代码风格,大家可以进行参考和学习。
命名 首先看一下变量的命名规范(pep8)规范:
文件夹:包名,建议仅使用小写字母命名,不建议使用下划线。
模块: 小写或者小写加下划线连接,比如 mole.py、db_convert.py等。
类: 驼峰式,首字母大写,单词直接连接。
class ThisIsAClass(object):pass函数:小写,用下划线隔开
def this_is_a_func():pass变量: 小写,用下划线隔开
this_is_a_variable = 1**常量:**常量名所有字母大写,由下划线连接各个单词,如THIS_IS_A_CONSTANT = 1语法风格 1.交换a 和 b的数值 其他语言的方法:
a = 5b = 6temp = aa = bb = temppython中,更加简洁的方法:
a = 5b = 6a, b = b, aprint(a, b)输出:6 52.多个变量赋值 python中可以一行代码,同时给多个变量赋值
a,b,c = 2,5,12
3.合并字符串 传统的字符串合并方法,由于字符串对象不可改变,每次修改会产生一个新的对象,这种方法会消耗很多内存。
list_str = ["hello ", "python", "!"]result = ""for i in list_str:result+=iprint(result)python中,使用join()方法更加高效,注意join()方法只适用于元素是字符串的列表、元组、集合等类型。
list_str = ["hello ", "python", "!"]result = "".join(list_str)print(result)输出:hello python!4.列表去重 使用集合的唯一性,对列表进行去重
a = [1, 2, 3, 1, 2,3 , 1, 3, 2, 4, 1, 3, 4, 5, 6, 5, 4, 4, 3, 6]lst = list(set(a))print(lst)输出:5.if/else 三目运算 python支持的三目运算格式:
为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号)a=4st = "a大于4" if a>4 else "a小于等于4"print(st)输出:a小于等于46.enumerate enumerate()是 Python 的内置函数。可以将一个可迭代的(Iterable)对象(列表、字符串等)组成一个索引序列,可以同时获得索引和值。
获取列表元素及索引
# 一般写法names = ['Bob', 'Alice', 'Guido']n = len(names)for i in range(n):print(f'{i} {names[i]}')# 使用enumerate()函数names = ['Bob', 'Alice', 'Guido']for index, value in enumerate(names):print(f'{index}: {value}')输出:0: Bob1: Alice2: Guido7.解包 解包在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来。
解压列表/元组的元素,赋值给不同的变量
def this_is_a_func():pass0函数中的解包操作
在函数调用中,* 能够将元组或列表解包成不同的参数。
def this_is_a_func():pass1在函数调用中,** 会以键/值的形式解包一个字典,使其成为一个独立的关键字参数。
def this_is_a_func():pass28.列表推导式 列表推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的列表。
[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ]
[if 条件表达式] 可以省略。
生成一个列表,列表元素分别为 [1x1,2x2,3x3……nxn],假设n = 10
def this_is_a_func():pass3要求返回的序列中不存在偶数项
def this_is_a_func():pass49.使用关键字in
in:如果在指定的序列中找到值返回 True,否则返回 False。
not in:如果在指定的序列中没有找到值返回 True,否则返回 False。 判断元素是否在列表中
number=[1,2,3,4,5] if 1 in number: print("1 in number") if 0 not in number: print("0 not in number")
在 for 循环中,获取列表、元组、字典的每一项:
def this_is_a_func():pass510.使用zip同步处理多个列表 zip() 函数是 Python 内置函数,它可以将多个序列(列表、元组、字典、集合、字符串等)中对应位置的元素重新组合,生成一个个新的元组。
def this_is_a_func():pass611.真值判断 当判断一个变量是否为 True 的时候,Python 具有自身独特的方式,不需要写出判断条件,只需要在 if 或 while 关键字后面直接写上该对象即可。
常见的真值为False的情况:
常量:None and False.
数值0值: 0, 0.0, 0j
序列或者集合为空:'', (), [], {}, set(), range(0)
对于布尔对象,建议这样写x = True if x: pass
不建议这样写if x == True: pass
lst = []
对于列表对象,建议这样写if lst: pass
不建议这样写if len(lst) != 0: pass
以上就是本次分享的所有内容,想要了解更多欢迎前往公众号:Python 编程学习圈,每日干货分享
原文:https://juejin.cn/post/7100031217352835080② 如何用python实现3的倍数
以下是使用NumPy库创建一个位于20到100之间、是3的倍数的一组的Python代码:
import numpy as np# 使用arange()函数创建一个从20到100(不包括100)的整数序列# 然后使用筛选条件选择其中能被3整除的数arr = np.arange(20, 100)[np.arange(20, 100) % 3 == 0]print(arr)
解释一下代码:
第一行导入了NumPy库并给它取了一个别名np,这是一个习惯用法。
第三行使用arange()函数创建一个从20到100(不包括100)的整数序列,并将其保存在变量arr中。这个函数的第一个参数指定序列的起始值,第二个参数指定序列的终止值,但不包括该值本身。例如,np.arange(1, 5)将返回从1到4(不包括4)的整数序列数组。
在方括号中的筛选条件[np.arange(20, 100) % 3 == 0]会对这个整数序列进行筛选,只选择其中能被3整除的数。具体来说,np.arange(20, 100)将返回从20到99的整数序列,然后% 3 == 0将检查该序列中每个元素是否可以被3整除,并返回一个布尔数组,True表示该元素能被3整除,False表示不能。最后,该布尔数组将作为索引数组传递给arr,以选择符合条件的元素。
最后一行使用print()函数输出结果。
运行上述代码,将会得到输出类似于以下内容的一组数据:
这是一个位于20到100之间、是3的倍数的一组。
③ python求一元二次方程的根的代码
以下是Python代码,用于计算一元二次方程的根:
import math
a = float(input("请输入二次项系数a:"))
b = float(input("请输入一次项系数b:"))
c = float(input("请输入常数项c:"))
delta = b**2 - 4*a*c
if delta < 0:
print("该方程无实数根")
elif delta == 0:
x = -b / (2*a)
print("该方程有一个实数根:x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("该方程有两个实数根:x1 =", x1, ", x2 =", x2)
在这个程序中,用户需要输入方程的二次项系数、一次项系数和常数项。程序使用math模块中的sqrt函数来计算方程的判别式delta,然后根据delta的值判断方程的根的情况。如果delta小于0,则方程没有实数根;如果delta等于0,则方程有一个实数根;如果delta大于0,则方程有两个实数根。
程序输出方程的根,如果方程没有实数根,则输出相应的提示。
请注意,在输入系数时,要确保输入的是浮点数,否则可能会导致程序出错。
④ python必背入门代码
python必背入门代码如下:
1、大写第一个字母。以下代码块会使用 title() 方法,从而大写字符串中每一个单词的首字母。
s = "programming is awesome"
s ="Programming"
print(s * n)
# ProgrammingProgramming
想了解更多有关python的详情,推荐咨询达内教育。达内教育致力于面向IT互联网行业,培养软件开发工程师、测试工程师、UI设计师、网络营销工程师、会计等职场人才,目前已在北上海广深等70个大中城市成立了342家学习中心;更是与多家企业签订人才培养协议,全面助力学员更好就业。
⑤ python必背入门代码是什么
具体如下:
1、反转字符串:
#Reversing a string using slicing
my_string ="ABCDE”
reversed string = my_string[:: -1]
print( reversed _string)
#output
#EDCBA
2、使用标题类:
my_string = "my name is chaitanya baweja"
newstring =my string.title(
print(new_string)
# My Name Is chaitanya Baweja
3、查找字符串的唯一要素:
my_string = "aavvccccddddeee"
temp_set = set(my_string)
new string = -join(temp_set)
print(new_string)
4、输出 n次字符串或列表:
n = 3
my_string = "abcd"my _list = [1,2,3]
print(my_string*n)
print(my_list*n)
import streamlit as st
5、列表解析:
n = 4
my_list = [o]*n#[o, o,o,o]
6、两个变量之间的交换值:
original_list =[1,2,3,4]
new list =[2*x for x in original_list]
print(new_list)
#[2,4,6,8]
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
在很多操作系统里,Python是标准的系统组件。大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。
应用范围:
有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。
Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。
通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它Windows API。
使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。