美文网首页
Python基础

Python基础

作者: 云木杉 | 来源:发表于2018-12-25 21:44 被阅读0次

数据类型

Python中的变量不需要声明。每个变量在使用前必须赋值,变量赋值以后才会被创建
Numbers / String / List / Tuple /Sets / Dictionaries
python中数字有四种类型:整数、布尔型、浮点数和复数

  • 不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组)
  • 可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)

数字(整数、浮点数、复数)

  • int(整数)如1,只有一种整数类型int,表示为长整形。
  • flost(浮点数)如1.23,3E-2

  • bool( 布尔值)如true(布尔值 可以用and or 和 not运算)
  • 空值 用None表示。
  • 变量赋值 与Java类似 (python为动态语言 不需要要声明变量的类型)
  • 常量 即不可改变的量

日常演示

type() 函数可以用来查询变量所指的对象类型(也可以用isinstance来判断)
两者区别是

  • type()不会认为子类是一种父类类型。

  • isinstance()会认为子类是一种父类类型。

  • print默认输出是换行的,如果实现不换行的话需要在末尾加上end=""
    代码演示

print( y )
print('---------')
# 不换行输出
print( x, end=" " )

变量

  • Python中的变量不需要声明。每个变量在使用前必须赋值,变量赋值以后该变量才会被创建。
  • 在Python中,变量就是变量,没有类型,我们所说的“类型”是变量所指的内存中对象的类型。

字符串(String)

  • 单引号或者双引号括起来的文本
  • Python中的字符串有两种索引方式,从左到右以0开始,从右到左以-1开始。
  • Python中的字符串,不能改变
  • 转义符“\”,使用r可以让反斜杠不发生转义。r"this is a line with \n".
10 / 3 = 3.3333 # 除法运算 
9 / 3 = 3.0 # 浮点数
10 / 3 = 3 # 底板除 即取整 
7 % 3 = 2 # 底板除 即取整 

容器

  • Python支持一种数据结构的基本概念,名为容器(container)。容器基本上就是可包含其他对象的对象。两种主要的容器是序列(如列表和元组)和映射(如字典)。在序列中,每个元素都有编号,而在映射中,每个元素都有名称(也叫键)。有一种既不是序列也不是映射的容器,它就是集合(set).
  • 序列:序列是一种数据结构,其中的元素带编号(编号从0开始)。列表、字符串和元组
    都属于序列,其中列表是可变的(你可修改其内容),而元组和字符串是不可变的(一旦
    创建,内容就是固定的)。要访问序列的一部分,可使用切片操作:提供两个指定切片起
    始和结束位置的索引。要修改列表,可给其元素赋值,也可使用赋值语句给切片赋值。

List

python内置的一种数据类型,是一种有序的集合。可以随时添加删除参数,集合保存的数据可以不为同一种类型。
特点

  • 查找和插入的时间随着元素的增加而增加;
  • 占用空间小,浪费内存很少。
  • 列表是可以修改的,而元组不可以

日常方法

  • len(list) 获得list元素的个数
  • list[index]访问当前位置的元素
  • list[-index]访问倒数第N个位置的元素
  • list.insert(1,'jack') 插入到当前位置
  • list.pop() 删除list末尾的元素
  • list.append(data)追加数据
  • del list[index] 删除数据
  • list.extend(list2) 附加到末尾
classmates = ['Michael', 'Bob', 'Tracy']
classmates.append(data) #追加数据到末尾

>>> x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
>>> x.sort(key=len) 
>>> x
['add', 'acme', 'aerate', 'abalone', 'aardvark']


>>> x = [4, 6, 2, 1, 7, 9]
>>> x.sort(reverse=True)
>>> x
[9, 7, 6, 4, 2, 1]

Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。

tuple

有序列表叫元组,与集合不同的是,一旦初始化就不可改变。因为不可变,所以更安全

  • 不能新增,不能删除,只能查看,不能替换。
  • 可变 是二维数组可变
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

// 将一个序列 转换为元组
tuple([1,2,3])

条件判断

age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

if判断条件简写 只要x是非零数值,非空字符串,非空list,就判断为true,否则为false。

 if x:
    print('true')

input

  • input()返回的数据类型为字符串,字符串不能与整数比较。
birth = input('birth: ')
birth2 = int(birth)
if birth < 2000:
    print('00前')
else:
    print('00后')

循环

  • for循环
names = ['Michael','Bob','Tracy','Dody']
for name in names:
    print(name)
  • while循环
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 1
print(sum)
  • break continue 千万记得缩进 缩进 缩进
n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)

set

set和dirt类似,是一组key的集合,但不存储value,由于key不能重复,所以没有重复的key。

>>> s = set([1, 1,2,2,3, 3])
>>> s
{1, 2, 3}
# 通过add(key)方法添加元素
>>> s.add(4)
>>> s
#通过remove(key)删除元素
>>> s.remove(4)
>>> s

dict

特点

  • 查找和插入的速度极快,不会随着key的增加而变慢;
  • 需要占用大量的内存,内存浪费多。

注意

  • 回None的时候Python的交互环境不显示结果
  • dict内部存放的顺序和key放入的顺序是没有关系的。
  • dict的key必须是不可变对象。
  • dict字典 类似于Java中的Map,键值对存储
  • dict是一种拿控件换时间的方法。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
# pop(key) 删除一个key
# 二是通过dict提供的get()方法,如果key不存在,可以返回None
# 注意:返回None的时候Python的交互环境不显示结果。
>>>  d.get('Michael')
95

迭代器和生成器

两个基本方法

  • iter(list) # 创建迭代器对象
  • next(it) 输出迭代器的下一个元素

>>>list=[1,2,3,4]
>>> it = iter(list)    # 创建迭代器对象
>>> print (next(it))   # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>>

逻辑运算符

  • is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
  • 注: id() 函数用于获取对象内存地址。

a = 10
b = 20

list = [1,2,3,4,5]

if(1 not in list):
    print("存在")
else:
    print("不存在")

if ( a is b ):
   print ("变量引用对象是同一个")
else:
   print ("变量引用对象不是同一个")

'''
if(a and b):
    print("and a = ",a)
else:
    print("and b = ",b)

if(a or b):
    print("or a = ",a)
else:
    print("or b = ",b)
'''

相关文章

网友评论

      本文标题:Python基础

      本文链接:https://www.haomeiwen.com/subject/wheqlqtx.html