python_基本语法学习_1

本文详细介绍了Python编程语言的基础知识,包括数据类型转换、字典操作、切片、元组、四舍五入、内存大小获取、排序、逻辑运算、输入输出、格式化字符串、类和对象的动态属性操作、hash值获取等核心内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


# 十进制 --》 二进制
bin(10)
# 8进制
oct(10)
#十六进制
hex(10)

dic = {}
dic = {'a': 1, 'b': 2}

dic = dict(zip(['a', 'b'], [1,2]))
dic = dict([('a',1),('b',2)])
# Out:  {'a': 1, 'b': 1}

# 切片    range(start, stop, step)
a = [1,4,2,3,1]
my_slice = slice(0,5,2) # 1,2,1
# tuple 将对象转为一个不可变的序列类型
a = [1,3,5]
t = tuple(a)

# 四舍五入
a = round(10.045, 2)

# 返回对象内存大小
import sys
a = {'a':1, 'b':2.0}
big = sys.getsizeof(a)

# 排序
a = [ {'name':'xiaoming', 'age':38, 'gender':'male'},
      {'name':'xiaohong','age':20, 'gender':'female'} ]

sorted(a, key=lambda x: x['age'], reverse=False)
# 如果可迭代对象的所有元素都为真,那么返回 True,否则返回False
all([1,0,3,6])      # False
all([1,2,3])        # True

#接受一个可迭代对象,如果可迭代对象里至少有一个元素为真,那么返回True,否则返回False
any([0,0,0,[]])     # False
any([0,0,1])        # True
# 获取用户输入内容
input()
print()

print("i am {0},age {1}".format("tom",18))
print("{:+.2f}".format(-1)) # 带符号保留小数点后两位
print("{:.2%}".format(0.718)) # 百分比格式
print("{:.2e}".format(10241024)) # 指数记法

class C:
    def __init__(self):
        self._x = None

    def getx(self):
        return self._x

    def setx(self, value):
        self._x = value

    def delx(self):
        del self._x

# 使用@property装饰器,实现与上完全一样的效果:
class C:
    def __init__(self):
        self._x = None
    @property
    def x(self):
        return self._x
    @x.setter
    def x(self, value):
        self._x = value
    @x.deleter
    def x(self):
        del self._x

c = C()
c._x = 1
c.setx(2)

class Student():
    def __init__(self, id,name):
        self.id = id
        self.name = name
    def __call__ (self):
        print('I am {} , id = {}'.format(self.name, self.id) )


xm = Student(1, 'xiaoming')
xh = Student(id=2, name='xiaohong')

# 是否可以调用
# 判断对象是否可被调用,能被调用的对象是一个callable 对象
callable(xm)
# 如果 xm能被调用 , 需要重写Student类的__call__方法:
xm()        # I am xiaoming

# 动态删除属性,   删除对象属性, hash 获取对象hash
delattr(xm,'id')
hasattr(xm, 'name')    # True
hash(xm.id) # 'Student' object has no attribute 'id'

# 动态获取对象属性
getattr(xm, 'name')
# 判断对象是否有这个属性
hasattr(xm, 'id')

# 判断object是否为classinfo的实例,是返回true
isinstance(xm, Student)

class Undergraduate(Student):
    pass

# 判断 Undergraduate 类是否为 Student 的子类
issubclass(Undergraduate, Student)

"""
一键查看对象所有方法
不带参数时返回当前范围内的变量、方法和定义的类型列表;
带参数时返回参数的属性,方法列表。
"""
dir(xm)
"""
['__call__',
 '__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'name']
"""

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值