python学习笔记——DAY2 Python变量与数据结构

DAY2 Python变量与数据结构

2.1 了解python基本语法

  • 注释(#)-为代码添加注释,多行注释时用""", “”"
  • 继续(\)-多用于换行
  • 多个语句构成的代码组(:)
  • 缩进-建议使用四个空格缩进,尽量不用tab
  • 模块-提前导入需要的模块
  • Help()-用于查看函数或模块用途的详细说明
  • 备注:python中的代码实体必须全部采用英文字符!(包括冒号、括号等)

2.2 Python 的数据类型

  • Python3中有六个标准的数据类型
    Number(数字)
    String(字符串)有序
    List(列表)有序
    Tuple(元组)有序
    Set(集合)无序
    Dictionary(字典)无序
  • 有序和无序的判断:是否可以索引
  • 不可变数据类型(3个):
    Number(数字)
    String(字符串)
    Tuple(元组)有序
  • 可变数据类型(3个):
    List(列表)有序
    Set(集合)无序
    Dictionary(字典)无序

2.2.1 python的数据类型——number(数字)

  • Python3支持int、float、bool、complex(复数)。
  • 在python3中,只有一种整数类型int,表示为长整型,没有python2中的long。
  • 像大多数语言一样,数值类型的赋值和计算都是很直观的。
  • 内置的type()函数可以用来查询变量所指的对象类型。
# 数字
a,b,c,=20,5.5,4+3j
print(type(a),type(b),type(c))

输出:
<class 'int'> <class 'float'> <class 'complex'>

A1=5+4#加法
A2=4.3-2#减法
A3=3*7#乘法
A4=2/4#除法,得到一个浮点数
A5=5//4#除法,得到整数
A6=17%3#取余
A7=2**5#乘方

输出:
9
2.3
21
0.5
1
2
32

2.2.2 python的数据类型——string(字符串)

  • Python中的字符串用单引号’'或双引号""括起来,同时转义特殊字符时,需使用反斜杠\
#字符串
str='Runoob'
print(str)#输出字符串
print(str[0:-1])#输出第一个到倒数第二个的所有字符
print(str[0])#输出字符串第一个字符
print(str[2:5])#输出从第三个开始到第六个字符
print(str[2:])#输出从第三个开始到后面所有字符
print(str*2)#输出字符串两次,也可以写成print(2*str)
print(str+"TEST")#连接字符串

输出:
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
  • Python使用\转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串。
print('Ru\noob')#\n换行
print(r'Ru\noob')

输出:
Ru
oob
Ru\noob

2.2.3 python的数据类型——list(列表)

  • List是python中使用最频繁的数据类型。
  • 列表可以完成大多数类型的数据结构实现。列表中元素类型可以不相同,它支持数字、字符串甚至可以包含列表(即嵌套)。
  • 列表是写在方括号[]之间、用逗号分隔开的元素列表,和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
  • 备注:list内置了很多方法,例如append(),pop()
#列表
list=['abcd',786,2.23,'runoob',70.2]
tinylist=[123,'runoob']
print(list)#输出完整列表
print(list[0])#输出列表第一个元素
print(list[1:3])#输出列表从第二个元素开始到第四个元素
print(list[2:])#输出列表从第二个元素开始的所有元素
print(tinylist*2)#输出2次列表
print(list+tinylist)#连接列表

输出:
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']

2.2.4 python的数据类型——tuple(元组)

  • 元组(tuple)与列表类似,不同之处在于元组的元素不能修改元组写在小括号里(),元素之间用逗号隔开,其中元组中的元素类型也可以不同。
  • 注意:
    1、 定义后元组内的元素不能被修改
    2、 元组也可以被索引和切片,方法一样
    3、 元组也可以使用+操作符进行拼接
    4、 注意构造包含0或1个元素的元组的特殊语法规则
    Tup1=()#空元组
    Tup2=(20,) #一个元素,需要在元素后添加逗号
#元组
tuple=['abcd',786,2.23,'runoob',70.2]
tinytuple=[123,'runoob']
print(tuple)#输出完整元组
print(tuple[0])#输出元组第一个元素
print(tuple[1:3])#输出元组从第二个元素开始到第四个元素
print(tuple[2:])#输出元组从第二个元素开始的所有元素
print(tinytuple*2)#输出2次元组
print(tuple+tinytuple)#连接元组

输出:
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']

2.2.5 python 的数据类型——set(集合)

  • 集合(set)是由一个或数个形态各异的大小整体组成的,构建集合的事物或对象称作元素或是成员
  • 集合的基本功能是进行成员关系测试和删除重复元素,可以使用大括号{ }或者set()函数实现集合的创建。
  • 注意:**创建一个空集合必须用set()**而不是{ },因为{ }使用来创建一个空字典。
#集合
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu']
print(sites)#输出集合,重复的元素被自动去掉
#成员测试
if 'Runoob' in sites:
print('Runoob在集合中')
else:
print('Runoob不在集合中')
#set可以进行集合运算
a=set('abracadabra')
b=set('alacazam')
print(a)
print(a-b)#a和b的差集
print(a|b)#a和b的并集
print(a&b)#a和b的交集
print(a^b)#a和b中不同时存在的元素

2.2.6 Python的数据类型——dict(字典)

  • 字典(dictionary)是python中另一个非常实用的数据类型。
  • 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
  • 字典是一种映射类型,字典用**{ }标识,它是一个无序的键(key):值(value)**的集合。
  • 注意:字典中的键(key)必须使用不可变类型,且在同一个字典中,键(key)必须是唯一的。
#字典
dict={}
dict['one']="1-菜鸟教程"
dict[2]="2-菜鸟工具"
tinydict={'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
print(dict['one'])#输出键为'one'的值
print(dict[2])#输出键为2的值
print(tinydict)#输出完整的字典
print(tinydict.keys())#输出所有键
print(tinydict.value())#输出所有制

2.3 Python 面向对象——class(类)

class TestClass(object):
val1=100
def init(self):
self.val2=200
def fcn(self,val=400):
val3=300
self.val4=val
self.val5=500

  • Python:是一门面向对象的语言,在Python中创建一个类和对象是很容易的,面向对象的一些基本特征:
  • (Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法,对象是类的实例。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。(val1)
  • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。 (val2)
  • 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 局部变量:定义在方法中的变量,只作用于当前实例的类。 (val3)
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • 实例化:创建一个类的实例(self),类的具体对象。
  • 方法:类中定义的函数。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
#类
class Dog():
    def __init__(self,name,age):#定义类的属性,通过'.'调用属性值
        self.name='big'+name#返回值
        self.age=age
    def sit(self):#定义方法(类的动作、要执行的工作等),同函数定义相同
            print(self.name.title()+'is sitting!')
    def roll_over(self):
            print(self.age.title()+'rolled over!')
    def test(self,a):
        z=a+1
        return z
        
my_dog=Dog('willie',str(6))
print("my dog's name is"+my_dog.name.title()+".")
print("my dog's age is"+my_dog.age.title()+".")
my_dog.sit()
my_dog.roll_over()

输出:
my dog's name isBigwillie.
my dog's age is6.
Bigwillieis sitting!
6rolled over!

设置语言:工具——偏好——通用
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值