第二周学习

javascript

typeof的用法

js是一门弱语言,在声明变量时无需确定变量类型,js在运行时会自动判断。typeof用来检测一个变量的类型

  • 语法
    1.typeof(表达式),对表达式做运算
    2.typeof 变量名,对变量做运算
  • 返回值
    typeof运算符总是返回类型为字符串,值包括如下几种:

1.undefined,未定义的变量或值
2.boolean,布尔类型的变量或值
3.string,字符串类型的变量或值
4.number,数字类型的变量或值
5.object,对象类型的变量或值,或者null
6.function,函数类型的变量或值
注意

  • null的类型是objectarray的类型也是object
  • 变量可通过设置值为undefined进行清空,类型也将会是undefined
  • undefinednull值相等,类型不相等

python

列表

一种有序可更改的集合。允许重复成员,用方括号编写。
创建列表:

list=["dog","cat","dophin"];
print(list);

可通过索引值来访问项目(从0开始)。

元组

一种有序不可更改的集合,用圆括号编写:

tuple=("dog","cat","dophin");
print(tuple);

更改元组值
创建元组后无法改变其值,但可将元组转换为列表,后将列表转回为元组

x = ("dog", "cat", "dophin")
y = list(x)
y[1] = "kiwi"
x = tuple(y)

print(x)

创建有一个项目的元组
必须在该项目后加一个逗号,否则无法识别

集合

无序无索引的集合,用花括号编写:

set={"dog","cat","dophin"};
print(set);

:集合使无序的,无法确定项目的显示顺序
可使用for循环遍历集合,或使用in关键字

for x in set:
    print x;

集合一旦创建便无法更改,但可添加新项目

字典

无序、可变、有索引的集合,用花括号编写,拥有键和值:

dict={
"name":"xiaoming";
"age":18;
"hobby":"sleep";
}
print(dict);

可在方括号内引用其键名来访问字典的项目:

x=dict["age"];

可通过引用其键名来更改特定项的值:

dict["age"]=19;

类和对象

面向对象相关术语

  • :可以理解为一个模板,通过它可以创造出无数的实例
    将乌龟用代码表示,则其表面特征可用变量来表示,其行为特征可通过函数来表示:
class tortoise:
    bodyColor = "绿色"
    footNum = 4
    weight = 10
    hasShell = True

    #会爬
    def crawl(self):
        print("乌龟会爬")
    #会吃东西
    def eat(self):
        print("乌龟吃东西")
    #会睡觉
    def sleep(self):
        print("乌龟在睡觉")
    #会缩到壳里
    def protect(self):
        print("乌龟缩进了壳里")
  • 对象:类并不能直接使用,通过类创建出的实例(又称对象)才能使用。像汽车图纸和汽车的关系,图纸本身(类)并不能直接使用,通过图纸创建出的车(对象)才能使用
  • 属性:类中的所有变量称为属性。上边的类中,bodyColor、footNum、weight、hasShell 都是这个类拥有的属性。
  • 方法:类中的函数通常称为方法。与函数不同的是,类方法至少要包含一个self参数,例如,tortoise 类中,crawl()、eat()、sleep()、protect() 都是这个类所拥有的方法,类方法无法单独使用,只能和类的对象一起使用。

init()类构造方法
创建类时,可以手动添加一个__init__()方法,该方法是一个特殊的类实例方法,称为构造方法或构造函数。另外,init() 方法可以包含多个参数,但必须包含一个名为 self 的参数,且必须作为第一个参数。也就是说,类的构造方法最少也要有一个 self 参数。

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("Bill", 63)

print(p1.name)
print(p1.age)

注意:即便不手动添加任何构造方法,python也会自动为类添加一个仅包含self参数的构造方法且每次使用类创建新对象时,都会自动调用__init__()函数。

类的实例化
对已定义好的类进行实例化,其语法格式如下:
类名(参数)

self参数

self参数是对类的当前实例的引用,用于访问属于该类的变量,必须是类中任意函数的首个参数

python继承

继承允许定义一个继承另一个类所有方法和属性的类
父类是继承的类,也称基类
子类是从另一个类继承的类,也称派生类

任何类都可以是父类:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

# 使用 Person 来创建对象,然后执行 printname 方法:

x = Person("Bill", "Gates")
x.printname()

创建子类:在创建时将父类作为参数发送:

class student(person):
    pass;

**为子类添加__init__函数:

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

注释:子的__init__会覆盖继承自父的__init__,如需保持父的__init__,添加对父的 init() 函数的调用

super()函数
使子类从其父继承所有方法和属性。

python迭代

迭代器是一种对象,该对象包含值的可计数数字。

迭代器是可迭代的对象,即可以遍历所有值。

列表、元组、字典和集合都是可迭代的对象。它们是可迭代的容器,可以从中获取迭代器
创建迭代器
要把对象/类创建为迭代器,必须为对象实现 iter() 和 next() 方法。
所有类都有名为 init() 的函数,允许在创建对象时进行一些初始化。

iter() 方法的作用相似,可以执行操作(初始化等),但必须始终返回迭代器对象本身。

next() 方法也允许执行操作,并且必须返回序列中的下一个项目。

StopIteration
为了防止迭代永远进行,我们可以使用 StopIteration 语句。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值