python2.7输入函数_python2.7 输入&函数参数&路径表示&各种下标_含义

本文详细介绍了Python2.7中的input()和raw_input()的区别,以及Python3中input()的使用。此外,还讲解了函数参数的多种写法,包括可变参数和关键字参数。关于路径表示,文章提到了不同的路径分隔方式,并讨论了Python中单下划线、双下划线以及双下划线开头的属性和方法的特殊含义。
摘要由CSDN通过智能技术生成

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):#blocktotal(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

defsingleton(cls):

_instance= {} #不建议外部调用

def _singleton(*args, **kargs):if cls not in_instance:

_instance[cls]= cls(*args, **kargs)return_instance[cls]return_singleton

@singletonclassA(object):

a= 1

def __init__(self, x =0):

self.x=x

a1= A(2)

a2= A(3)printid(a1)printid(a2)printa1.xprint a2.x

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

#! /usr/bin/python#-*- coding: utf-8 -*-

classA(object):def __init__(self, x):

self.__a = 2self.x=xdef __b(self):

self.x= 3a= A(2)#会报错,"AttributeError: 'A' object has no attribute '__a'"#print a.x, a.__a

printa.x, a._A__a

a._A__b()print a.x

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值