IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python(二) -> 正文阅读

[Python知识库]python(二)

切片

取一个list或tuple的部分元素是非常常见的操作。

我们可以需要用到循环甚至一个一个取得到列表中的数据,但是用到切片,这一切将变得简单

下面取了列表中的第2,3项

L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
L[1:3]

结果

['Sarah', 'Tracy']

这里是对1-100的数字每隔10倒序输出

to_one_hundred = range(1, 101)

# Add your code below!
backwards_by_tens = to_one_hundred[::-10]

print backwards_by_tens

结果

[100, 90, 80, 70, 60, 50, 40, 30, 20, 10]

lambda的使用

当您需要一个快速函数来为您完成一些工作时,Lambda 非常有用。

找到对应的字符串

languages = ["HTML", "JavaScript", "Python", "Ruby"]

# Add arguments to the filter()
print filter(lambda x: x == "Python", languages)

处理字段

garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX"

message = filter(lambda x: x != 'X',garbled)
print message

按位运算符简介

print 5 >> 4  # Right Shift
print 5 << 1  # Left Shift
print 8 & 5   # Bitwise AND
print 9 | 4   # Bitwise OR
print 12 ^ 42 # Bitwise XOR
print ~88     # Bitwise NOT

结果

0
10
0
13
38
-89

左移,右移

# Left Bit Shift (<<)  
0b000001 << 2 == 0b000100 (1 << 2 = 4)
0b000101 << 3 == 0b101000 (5 << 3 = 40)       
 
# Right Bit Shift (>>)
0b0010100 >> 3 == 0b000010 (20 >> 3 = 2)
0b0000010 >> 2 == 0b000000 (2 >> 2 = 0) 

按位和

	a: 00101010 42
	b: 00001111 15 
===================
a & b: 00001010 10

按位或

    a:  00101010  42
    b:  00001111  15       
================
a | b:  00101111  47

异或

    a:  00101010   42
    b:  00001111   15       
================
a ^ b:  00100101   37

按位 NOT

按位 NOT 运算符 () 只是将所有位翻转为一个数字。这对计算机的实际意义实际上非常复杂,所以我们不打算深入探讨。只要知道,从数学上讲,这相当于在数字上加一,然后把它变成负数。

将第N位的数翻转

def flip_bit(number, n):
  bit_to_flip = 0b1 << (n -1)
  result = number ^ bit_to_flip
  return bin(result)

print flip_bit(0b110110,5)

Python面向对象

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

基本格式

class Triangle(object):# 定义了一个类,里面有名字和分数的定义
  number_of_sides = 3
 
  def __init__(self, angle1, angle2, angle3):# 特殊方法“__init__”前后分别有两个下划线!!
    self.angle1 = angle1
    self.angle2 = angle2
    self.angle3 = angle3


my_triangle  = Triangle(90,30,60)

访问限制

如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问,所以,我们把Student类改一改:

class Triangle(object):# 定义了一个类,里面有名字和分数的定义
  number_of_sides = 3
 
  def __init__(self, angle1, angle2, angle3):# 特殊方法“__init__”前后分别有两个下划线!!
    self.__angle1 = angle1
    self.__angle2 = angle2
    self.__angle3 = angle3

继承

最大的好处是子类获得了父类的全部功能。由于Animial实现了run()方法,因此,Dog和Cat作为它的子类,什么事也没干,就自动拥有了run()方法:
继承的第二个好处需要我们对代码做一点改进。就可以改变内容

class Triangle(object):
  number_of_sides = 3
  def __init__(self, angle1, angle2, angle3):
    self.angle1 = angle1
    self.angle2 = angle2
    self.angle3 = angle3
    
class Equilateral(Triangle):
  angle = 60
  def __init__(self):
    self.angle1 = self.angle
    self.angle2 = self.angle
    self.angle3 = self.angle

关于汽车的例子

class Car(object):
  condition = "new"
  def __init__(self, model, color, mpg):
    self.model = model
    self.color = color
    self.mpg   = mpg
   
  def display_car(self):
    print "This is a %s %s with %s MPG." % (self.color, self.model, str(self.mpg))
    
  def drive_car(self):
    self.condition = "used"

my_car = Car("DeLorean", "silver", 88)

print my_car.condition
my_car.drive_car()
print my_car.condition

class ElectricCar(Car):
  def __init__(self,model,color,mpg,battery_type):
    self.model        = model
    self.color        = color
    self.mpg          = mpg
    self.battery_type = battery_type

  def drive_car(self):
    self.condition = "like new" 
  
my_car = ElectricCar("DeLorean", "silver", 88, "molten salt")
print my_car.condition
my_car.drive_car()
print my_car.condition



  
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:24:12  更:2022-04-24 09:25:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:34:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码