文章目录

  • 问题描述
  • 转下划线命名
  • 转驼峰法命名
  • 参考文献

问题描述

命名方式 描述 例子 代表语言
帕斯卡(PascalCase 或 UpperCamelCase) 每个逻辑首字母大写 UserLoginCount 多数语言的类名或标识符
驼峰法(CamelCase) 小驼峰:首字母小写其余大写
大驼峰:首字母大写其余大写
userLoginCount
UserLoginCount
Java, MATLAB
匈牙利(Hungarian) 属性+类型+描述 g_UserLoginCount C/C++
下划线(UnderScoreCase 或 SnakeCase) 下划线连接 user_login_count Python

匈牙利命名详见:Hungarian notation

转下划线命名

import redef to_snake_case(x):"""转下划线命名"""return re.sub('(?<=[a-z])[A-Z]|(?<!^)[A-Z](?=[a-z])', '_\g<0>', x).lower()print(to_snake_case('UserLoginCount'))
print(to_snake_case('userLoginCount'))
print(to_snake_case('user_login_count'))
# user_login_count
# user_login_count
# user_login_count

转驼峰法命名

import redef to_camel_case(x):"""转驼峰法命名"""return re.sub('_([a-zA-Z])', lambda m: (m.group(1).upper()), x)def to_upper_camel_case(x):"""转大驼峰法命名"""s = re.sub('_([a-zA-Z])', lambda m: (m.group(1).upper()), x)return s[0].upper() + s[1:]def to_lower_camel_case(x):"""转小驼峰法命名"""s = re.sub('_([a-zA-Z])', lambda m: (m.group(1).upper()), x)return s[0].lower() + s[1:]print(to_camel_case('UserLoginCount'))  # UserLoginCount
print(to_camel_case('userLoginCount'))  # userLoginCount
print(to_camel_case('user_login_count'))  # userLoginCount
print()print(to_upper_camel_case('UserLoginCount'))  # UserLoginCount
print(to_upper_camel_case('userLoginCount'))  # UserLoginCount
print(to_upper_camel_case('user_login_count'))  # UserLoginCount
print()print(to_lower_camel_case('UserLoginCount'))  # userLoginCount
print(to_lower_camel_case('userLoginCount'))  # userLoginCount
print(to_lower_camel_case('user_login_count'))  # userLoginCount

参考文献

  1. 四种常用的命名规则:帕斯卡命名法、驼峰命名法、匈牙利命名法、下划线命名法
  2. Naming convention (programming) - Wikipedia
  3. Converting Between Different Naming Conventions
  4. pwiz.py

Python命名方式转换——帕斯卡、驼峰法、下划线相关推荐

  1. CamelCase plugin,使用快捷键转换驼峰、下划线等命名规则

    一.下载插件: 二.设置需要的模式: 一般驼峰 或者 下划线 : 三.切换 选中变量,按快捷键切换即可 //windows shift + alt + u//mac shift + option + ...

  2. 实现-驼峰和下划线的转换 工具类

    /*** 工具类-驼峰和下划线的转换*/ public class StringUtil {/*** 下划线命名转驼峰命名* @param underscore* @return*/public st ...

  3. python中init方法的两个下划线_为什么Python中有各种各样的“_”下划线?分别有什么用?...

    刚开始学Python的你一定很疑惑,为什么Python里会出现各种各样的下划线 "_",而且位置都不相同,有时候在名称后面,有时候在前面,有时候还会在数字中间......这些下划线 ...

  4. 【Java工具类】(1)—Java中驼峰与下划线相互转换

    Java工具类(1)-Java中驼峰与下划线相互转换 1.驼峰命名法 /** * 驼峰式命名法 */ public static String toCamelCase(String s) {if (s ...

  5. jackson 驼峰注解_jackson 常用注解,比如忽略某些属性,驼峰和下划线互转

    一般情况下使用JSON只使用了java对象与字符串的转换,但是,开发APP时候,我们经常使用实体类来做转换:这样,就需要用到注解: Jackson默认是针对get方法来生成JSON字符串的,可以使用注 ...

  6. java map 递归_Java实现递归将嵌套Map里的字段名由驼峰转为下划线

    摘要: 使用Java语言递归地将Map里的字段名由驼峰转下划线.通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构. 难度:初级 概述### 在进行多语言混合编程时,由于编程规范的不同, ...

  7. python变量名必须以字母或下划线开头不区分字母大小写_Python变量名必须以字符或下划线开头,并且区分字母大小写。...

    [判断题]在Python 3.x中可以使用中文作为变量名. [判断题]Python变量名必须以字符或下划线开头,并且区分字母大小写. [填空题]气体的粘度随温度升高而( ),水的粘度随温度升高而( ) ...

  8. python变量名必须以字母或下划线开头不区分字母大小写_Python 变量名必须以字符或下划线开头,并且区分字母大小写。_学小易找答案...

    [单选题]柏努利方程式中的u2/2 项表示流体所具有的( ). [简答题]职业的 adj. [单选题]两个并联管路中,在其他条件相同的条件下,管径越大,分配的流量越( ). [判断题]Python 变 ...

  9. Python中的方法名前加下划线

    在Python中,方法名前加下划线通常有以下几种用法和约定: 单个前导下划线(_methodName):这是一种约定,用于指示该方法是类的内部使用方法,应该被视为私有方法.虽然在语法上并没有强制限制, ...

最新文章

  1. 前嗅ForeSpider教程:网站登录配置
  2. Intellij IDEA 远程debug、远程tomcat部署项目
  3. JSR 303 – Bean Validation 介绍及最佳实践
  4. Python中numpy中tile和repeat用法和区别
  5. AI in RTC 创新挑战赛,决赛打响
  6. android拍照截图组件,Android_Android实现从相册截图的功能,在这篇文章中,我将向大家展 - phpStudy...
  7. C#将另一个应用程序的窗口移动到前端的问题
  8. python 3.5.2页面_笔者操作win10系统搭建Python 3.5.2开发环境的详细方案
  9. Jquery的基础学习
  10. 苹果cms大橙子和B站模板教程
  11. 依存句法分析与语义依存分析的区别
  12. 与台湾的第一次亲密接触
  13. CSS如何实现文字两端对齐
  14. 导入maven项目,报错Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:mav
  15. oppo怎么打开科学计算机,OPPOr11的计算器怎么打开
  16. Java 生鲜电商平台 - API 接口设计之 token、timestamp、sign 具体架构与实现
  17. oracle常用函数使用大全 (Oracle除法)
  18. 关于新增dnsmasq --help的option选项
  19. 小程序  在医院中管理与应用
  20. 移动大航海时代:海阔天空or惊涛骇浪?

热门文章

  1. 解析:百度算法之细雨算法2.0
  2. 【硬件之AD篇】两层PCB的各个板层分析
  3. shortcut详解
  4. Allegro创建板框的方法介绍
  5. 基于YOLOV3的安全帽检测
  6. Android整机性能监控:多核CPU相关数据的获取(使用率、主频)
  7. 搭建全球地图数据服务中心
  8. [ FI基本业务流程 ] - FI与MM间的业务集成
  9. python名字的来历_你知道Python的由来吗
  10. 断言信息与元素等待_Sinno_Song_新浪博客