Python 中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
变量类型 : 整形,浮点,字符串
# -*- coding:utf-8 -*-
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型变量
name = "John" # 字符串
name1 = 'zhu' # 字符串
print counter
print miles
print name
print name1
2: 5种数据类型:
1):字符串:
a.字符串截取:
# 字符串
var1 = 'Hello World!'
var2 = "Python Runoob"
print ("var1[0] : " + var1[0]) # 输出 H
print ("var2[1:5]: ", var2[1:5]) # 输出 ytho
b.字符串拼接:
var1 = 'Hello World! 1234'
print ("你好"+var1+" 34")
# 你好Hello World! 1234 34
c.Python字符串运算符
# Python字符串运算符
a = "Hello"
b = "Python"
print (a+b) # 字符串连接 输出:HelloPython
print (a*6) # 重复输出字符串 输出:HelloHelloHelloHelloHelloHello
print (a[1]) # 通过索引获取字符串中字符 输出e
print (a[1:4]) # 截取字符串中的一部分 输出 ell
print (a[1:]) # 截取字符串中的一部分 输出 ello
print (a[:4]) # 截取字符串中的一部分 输出 Hell
print ("ll" in a) # 成员运算符 - 如果字符串中包含给定的字符返回 True 输出 True
print ("ll" not in a) # 成员运算符 - 如果字符串中不包含给定的字符返回 True 输出 False
2):Python Number(数字) :
Python 支持四种不同的数值类型:
整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。
浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
3):列表 :
# -*- coding: utf-8 -*-
#为什么需要列表:
# 列表相当于一个容器。可以把一系列相关的值放在这个容器中进行存储。
# 比如现在要存储水果的种类,那么如果通过之前的方式,一种水果用一个变量存储,那么代码将变得非常糟糕。
# 正确的存储方式应该是定义一个列表类型的变量,然后把所有这些水果的名字存储到这个列表中。
# 在其他编程语言中,叫做数组。list。
# 如何定义列表:使用左右两个中括号的形式。
fruits = ['apple', 'banana', 'orange']
# 列表中的值,可以为不同的数据类型
test_list = ['a', 1]
# 如何取列表中的值:列表支持下标操作,跟字符串的下标操作是一样的。
a = fruits[0]
b = fruits[1]
c = fruits[2]
print (a + " " + b + " " + c)
# 列表的遍历:使用for和while循环都可以遍历。但一般推荐使用for循环。
for x in fruits:
print (x)
# 列表嵌套:列表中可以存储任何数据类型,当然也包括列表自身类型。也即,列表中也可以存储列表:
test_list = [1,2,3,['a','b','c']]
for temp in test_list:
print (temp)
# 列表相加:列表相加,相当于把后面一个列表的数据追加到第一个列表后面。
a = [1,2,3]
b = [4,5,6]
c = a + b
print (c)
# 列表常用操作:
# append:在列表末尾添加元素。
fruits1 = ['apple']
fruits1.append('banana')
print (fruits1)
# count:统计某个元素在列表中出现的次数。
temps = ['to', 'be', 'or', 'not', 'to', 'be']
print temps.count('to')
# extend:将一个列表中元素追加到另外一个列表中。
a1 = [1, 2, 3]
b1 = [4, 5, 6]
c1 = a1.extend(b1)
# c的结果是:1,2,3,4,5,6
# index:找出列表中第一个某个值的第一个匹配项的索引位置,如果没有找到,则抛出一个异常:
knights = ['hello','world']
print (knights.index('hello'))
# insert:将某个值插入到列表中的某个位置:
chars = ['hello', 'world']
chars.insert(1, 'nihao')
print (chars)
# pop方法:移除列表中最后一个元素,并且返回该元素的值:
x = [1, 2, 3]
temp = x.pop() # 返回3
print (temp)
# remove方法:移除列表中第一个匹配的元素,不会返回这个被移除的元素的值。如果被移除的这个值不存在列表中,则会抛出一个异常。
x = [1, 2, 3]
x.remove(2)
print (x)
# reverse:将列表中的元素反向存储。会更改原来列表中的值。
x = [1, 2, 3]
x.reverse()
print (x) # 这时候x已经变成3,2,1了
print ("=" * 50)
# sort:将列表中的元素进行排序。会更改原来列表中的位置
x = [4, 2, 1, 5, 3]
x.sort()
print (x)
# 要区分sorted函数,sorted函数不会更改原来列表的位置,并且会返回一个排序后的值。
x = [4, 2, 1, 5, 3]
y = sorted(x)
print (y) # [1, 2, 3, 4, 5]
print (x) # [4, 2, 1, 5, 3]
# del关键字:根据下表删除元素:
a = [1,2,3]
del a[0]
print (a) # [2,3]
# 使用in判断列表中是否有某个元素:
x = [1,2,3]
if 1 in x:
print True
else:
print False
# list函数:将其他的数据类型转换成列表:
a = 'hello'
print (list(a)) # ['h', 'e', 'l', 'l', 'o']
4):元组:
# -*- coding: utf-8 -*-
# 什么是元组:
# 元组的使用与列表相似,不同之处在于元组是不可修改的,元组使用圆括号,而列表使用中括号。
# 定义元组:
# 使用逗号的方法:
aTuple = 1, 2, 3 # 这样就定义好了一个元组
print (aTuple)
# 使用圆括号的方法
aTuple = (1, 2, 3, 4)
print (aTuple)
# 使用tuple函数:把列表转化成元组
aList = [1, 2, 3]
aTuple = tuple(aList)
print aTuple
# 定义只有一个元素的元组:
aTuple = 12, # 这样就定义号了只有一个元素的元组
bTuple = (12,) # 必须要再后面加一个逗号,否则就是一个普通的值了
print (aTuple)
print (bTuple)
# 元组常用操作:
# 下标操作:
aTuple = ('a','b','c')
a = aTuple[1]
print (a)
# 解组操作
aTuple = ('zhiliao', 18)
name, age = aTuple
print (name)
print (age)
# 或者有些时候我们只想要元组中的某个值,不需要所有的值,那么我们可以通过_来作为省略
aTuple = ('zhiliao', 18, '长沙')
username, age, _ = aTuple
print (name)
print (age)
print (_)
# 修改元组会报错
# fruits1 = ('apple',)
# fruits1.append('banana',)
# print (fruits1)
# 元组存在的意义或应用场景:
# 元组在字典中可以当作key来使用,而列表是不可以的。
# 在函数中,有时候要返回多个值,一般采用元组的方式。
# 在一些不希望用户修改值的场景下使用元组来代替列表。
5.字典:
# -*- coding: utf-8 -*-
# 为什么需要字典:
# 有时候我们需要存储一组相关的数据的时候,比如要存储一个人的信息,
# 那么有username,age,birthday等,如果这些信息都存储在列表中,或者数组中,
# 比如['username','age','birthday']那么用起来可能不是很方便。比较方便的操作是
# ,我直接通过username这个key就可以拿到这个值,我通过username就可以给这个key设置值,
# 那么就可以通过字典的方式实现我们的需求。
# 字典基础:
# 创建字典:我们可以通过两种方式创建字典:
person = {"username":"zhiliao","age":18}
# 或者是使用dict函数:
persons = dict(username='zhiliao', age=18)
# 基本操作:
# len(d):返回字典的键值对的长度。
print (person.__len__())
# xx[k]:获取k这个key对应的值。
print (person["age"])
# d[k] = v:设置键为k的值为v,如果字典中不存在键为k的这一项,那么自动的添加进去。
person["sex"] = "男"
print (person.__len__()) # 3
# del d[k]:删除d这个字典中键为k的这一项数据。
del person["sex"]
print (person.__len__()) # 2
# k in d:检查d这个字典中是否包含键为k的这一项。
print ("usernames" in person)
# 字典常用方法:
# clear:清除字典中所有的项。
a = {'username':'zhiliao','age':18}
print (a)
a.clear()
print (a)
# get:访问字典中那个键对应的那个值。这个方法不会抛出异常。
a = {'username':'zhiliao','age':18}
username = a.get('username')
print username
city = a.get('city') # 获取到的是一个None。
# 也可以指定一个,在没有获取到这个值时候的默认值
city = a.get('city','changsha') # 返changsha
print (city)
# city = a['city'] # 抛出异常