1、Python2.x与3.x的input区别

  input与python3不同,在python2.7中分为input()与raw_input()

  其中input()返回的是int/float类型数据,输入时可以是1+2,返回3;但如果在input()下输入"one",则同样会返回string类型

  而raw_input()返回是改行的string类型,输入是one,返回"one"

  而python3中统一是input(),返回都是string类型的数据,如果要获取int,则需要进行类型转换,如:

int(input("Input a number:"))

2、形参的各种写法

  【VarArgs参数】定义函数是,当我们命名一个带(*)的参数,则会收集一个叫’param’ 的列表;当我们命名一个带(**)的参数,则会收集一个叫’param’ 的字典,如下:

def total(initial=5, *numbers, **keywords):
#block
total(10, 1, 2, 3, vegetables=50, fruits=100)
#结果:initial=10;列表numbers(1,2,3);字典kewords='vegetables':50, kewords='fruits':100

3、Python中的路径表示方法

  '\'是转译符,'\\'与'/‘都可以分隔路径

#当前目录下打开txt
f = open('data.txt', 'w')
#父目录下打开txt
f = open('../data.txt', 'w')
#子目录下打开txt
f = open('mytext/data.txt', 'w')
#绝对路径写法

4、Python 中_X,__XX,__XX__的含义

  Python中没有真正的私有属性或方法,可以在你想声明为私有的方法和属性前加上单下划线,以提示该属性和方法不应在外部调用.如果真的调用了也不会出错,但不符合规范.

#! /usr/bin/python

def singleton(cls):
_instance = {} # 不建议外部调用
def _singleton(*args, **kargs):
if cls not in _instance:
_instance[cls] = cls(*args, **kargs)
return _instance[cls]
return _singleton @singleton
class A(object):
a = 1
def __init__(self, x = 0):
self.x = x a1 = A(2)
a2 = A(3) print id(a1)
print id(a2)
print a1.x
print a2.x

  双下划线开头,是为了不让子类重写该属性方法.通过类的实例化时自动转换,在类中的双下划线开头的属性方法前加上”_类名”实现.

#! /usr/bin/python
# -*- coding: utf-8 -*- class A(object): def __init__(self, x):
self.__a = 2
self.x = x def __b(self):
self.x = 3 a = A(2)
# 会报错,"AttributeError: 'A' object has no attribute '__a'"
# print a.x, a.__a
print a.x, a._A__a
a._A__b()
print a.x

__xx__为Python内建属性方法,最好不要在外部调用

python2.7 输入&函数参数&路径表示&各种下标_含义的更多相关文章

  1. opencv的imread函数相对路径问题和 main 参数问题

    参考: https://blog.csdn.net/u013404374/article/details/80178822 https://blog.csdn.net/fujilove/article ...

  2. Notepad++ 【自动完成】与【输入时提示函数参数】互相冲突,无奈

    Notepad++ 既然可以在输入时提示函数参数,可是当提示函数参数的时候,输入具体参数时[自动完成]失效了. 一位用户遇到和我一样的问题:https://community.notepad-plus ...

  3. main函数参数解析

    int argc,char *argv agrc表示参数的个数 argv储存参数 这个函数的意思是逐一输出参数 实际上,main函数也可以带参数.带参数main函数的定义格式如下:void main( ...

  4. 深度学习原理与框架-Alexnet(迁移学习代码) 1.sys.argv[1:](控制台输入的参数获取第二个参数开始) 2.tf.split(对数据进行切分操作) 3.tf.concat(对数据进行合并操作) 4.tf.variable_scope(指定w的使用范围) 5.tf.get_variable(构造和获得参数) 6.np.load(加载.npy文件)

    1. sys.argv[1:]  # 在控制台进行参数的输入时,只使用第二个参数以后的数据 参数说明:控制台的输入:python test.py what, 使用sys.argv[1:],那么将获得w ...

  5. python的scrapy框架的使用 和xpath的使用 && scrapy中request和response的函数参数 && parse()函数运行机制

    这篇博客主要是讲一下scrapy框架的使用,对于糗事百科爬取数据并未去专门处理 最后爬取的数据保存为json格式 一.先说一下pyharm怎么去看一些函数在源码中的代码实现 按着ctrl然后点击函数就 ...

  6. 2、Golang基础--包的使用、if-else语句、循环、switch语句、数组、切片、可变函数参数、map类型

    1 包的使用 // 为了便于组织代码,同一种类型的代码,写在同一个包下,便于管理 // 定义包 -新建一个文件夹 -内部有很多go文件 -在每个go文件的第一行,都要声明包名,并且包名必须一致 -在一 ...

  7. Main函数参数argc,argv说明

    C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) ...

  8. python函数参数前面单星号(*)和双星号(**)的区别

    在python的函数中经常能看到输入的参数前面有一个或者两个星号:例如 def foo(param1, *param2): def bar(param1, **param2): 这两种用法其实都是用来 ...

  9. C++ 二维数组(双重指针作为函数参数)

    本文的学习内容参考:http://blog.csdn.net/yunyun1886358/article/details/5659851 http://blog.csdn.net/xudongdong ...

随机推荐

  1. SQL2008中sa账户无法登陆问题

    实验需要用Java与SQL Server连接,因为使用的 SQL 2008 Express Edition 是基于 Visual Studio2010 安装包安装时一起安装的,所以为了方便数据库的操作 ...

  2. 微软编程一小时 题目2: Longest Repeated Sequence

    题目2 : Longest Repeated Sequence 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a sequence of i ...

  3. Replication--分区+复制

    1>配置订阅表使用分区,在发布的项目属性中设置"复制分区方案"和"复制索引分区方案"为true,然后初始化订阅 2>在发布数据库上修改发布属性 -- ...

  4. Data Base oracle常见错误及解决方案

    Data Base oracle常见错误及解决方案 一.TNS协议适配器错误: 原因: 此问题的原因都是由于监听没有配置好. 解决: 1.打开oracle工具Net Manager,删除服务及监听,重 ...

  5. hdu5693 D game&&hdu 5712 D++ game

    题目链接:5693 题目链接:5712 对于这个D game.注意消除之后两遍的序列是可以拼合到一起的!我们可以想到有区间DP的做法.我们设\(f[i][j]\)表示区间i,j可以被消除. 显然如果这 ...

  6. leetcode 18 4Sum JAVA

    题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出 ...

  7. yaml 配置

    yaml文件的作用 yaml是一种直观的能够被电脑识别的的数据序列化格式,容易被人类阅读,并且容易和脚本语言交互. yaml的语法规则 字母大小写敏感: 通过缩进来表示层级关系,同层级元素需左对齐,且 ...

  8. HTTP请求的两种方式get和post的区别

    1,get从服务器获取数据:post向服务器发送数据: 2,安全性,get请求的数据会显示在地址栏中,post请求的数据放在http协议的消息体: 3,从提交数据的大小看,http协议本身没有限制数据 ...

  9. 虚拟机CentOS防火墙设置

    CentOS6关闭防火墙使用以下命令, 开启防火墙 systemctl start firewalld //临时关闭 # service iptables stop //禁止开机启动 # chkcon ...

  10. maven初步了解

    目标:创建一个父maven项目,有两个子项目分别为serverCenter,dbConnector. 建议:全程不要导入Jar包,全部使用maven依赖的方式导入包. 1.创建maven项目 这个创建 ...