Python-02-基础

一、数字

  • int(有符号整型)

Python3可以处理任意大小的整数,当然包括负整数。

int = 20
print int
  • long(长整型)

Python3中不再区分整型和长整型。

  • float(浮点型)

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。

float = 1.2
print float
  • complex(复数)

复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

二、布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。

>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
>>> 5 > 3 and 3 > 1
True
>>> 5 > 3 or 1 > 3
True
>>> not 1 > 2
True

布尔值经常用在条件判断中,比如:

if age >= 18:
    print('adult')
else:
    print('teenager')

三、字符串

字符串是由数字、字母、下划线组成的一串字符。
在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言

# 用单引号括起来表示字符串,例如:
str='this is string'
print str

# 双引号中的字符串与单引号中的字符串用法完全相同,例如:
str="this is string"
print str

# 利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:
str='''this is string
 this is python string
 this is string'''
print str

# 字符串格式化输出的三种方式
name = input("Username:")
age = input("Age:")
job = input("Job:")
salary = input("Salary:")

info1='''
----------Info1 Of %s-----------
Name:%s
Age:%s
Job:%s
Salary:%s
''' % (name,name,age,job,salary)

info2='''
---------info2 of {_name}----------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
           _age=age,
           _job=job,
           _salary=salary)

info3='''
-----------info3 of {0}-------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)

print(info1,info2,info3)

Ps: %s 字符串,%d int,%f 浮点数(分不清楚默认都用%s)

字符串常用操作

  • 移除空白
str = "    David Hu  "
str2 = str.strip()    #仅移除两边的空白
  • 分割
name = "David,James,Lily"
name2 = name.split(",")     # 将字符串转为列表
print("|".join(name2))      # 将列表中的每一个元素合为一个字符串
  • 长度
str = "test"
print (len(str))
  • 索引
str = "David"
print (str.index("a"))
  • 切片
str = 'Hello World!'

print (str)          # 输出完整字符串
print (str[0])       # 输出字符串中的第一个字符
print (str[2:5])     # 输出字符串中第三个至第五个之间的字符串
print (str[2:])      # 输出从第三个字符开始的字符串
print (str * 2)      # 输出字符串两次
print (str + "TEST") # 输出连接的字符串
  • 字符串内置方法简单介绍
name = "David"
age = "22"

print (name.center(40,'-'))  # 字符串总长度为40,居中显示,不够的地方以“-”填充
print (name.find('i'))       # 找到返回索引,找不到返回-1

print (age.isdigit())        # 判断是否为数字
print (age.isalnum())        # 判断是否为阿拉伯数字和阿拉伯字符(包括字母)。
isidentified()               #判断是不是一个合法的标识符(变量名)


print (name.endswith('vid'))   # 判断是否以vid结尾。
print (name.startswith("Da"))  # 判断是否以Da开头。

print (name.upper())         # 将name全部转为大写字母。
print (name.lower())         # 将name全部转为小写字母。

四、列表

List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。
它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
列表用[ ]标识,是python最通用的复合数据类型。

新建一个列表

new_list = ['David','huyd','James']
或
new_list = list(['David','huyd','James'])

列表常用操作

  • 索引
list = ['David','huyd','James']
print(list.index("huyd"))
  • 切片
list = ['David','huyd','James','Lily']
list2 = [123, 'John']

print (list)            # 输出完整列表
print (list[0])         # 输出列表的第一个元素
print (list[1:3])       # 输出第二个至第三个的元素 
print (list[2:])        # 输出从第三个开始至列表末尾的所有元素
print (list * 2)        # 输出列表两次
print (list + list2)    # 打印组合的列表

  • 追加
list = ['David','huyd','James','Lily']
list2 = [1,2,3]

list.extend(list2)    # 将list2追加到list,该方法只接受一个列表作为参数。
list.append(123)      # 向列表的尾部添加一个新的元素,只接受一个参数。
print (list)
  • 插入
list = ['David','huyd','James','Lily']

list.insert(0,"Jay")     # 在序列0插入“Jay”
  • 删除
list = ['David','huyd','James','Lily']

list.remove("huyd")   # 删除huyd
list.pop(0)           # 按索引位置删除,如果为空默认删除最后一个。
list.popitem()        # 随机删除
del list[0]           # 按索引位置删除
del list[0:2]         # 一次性删除两个人
del list[:]           # 删除整个列表
  • 长度
list = ['David','huyd','James','Lily']
print(len(list))      # 打印list元素个数
  • 循环
name = ["Jack","Lily","Rain",1,2,3,4,5,6,7,8,9,"Eric","David","James","Monica","Fiona",9,8,7,6,5,4,3,2,1]

for i in range(name.count(9)):
	ele_index = name.index(9)
	name[ele_index] = 999999999     #将列表中所有的9替换为999999999
	
print(name)
  • 包含(查询)
list = ['David','huyd','James','Lily']
print("huyd" in list)       # True or False 判断列表中是否存在一个元素
print(list.count("huyd"))   # 统计列表中有几个符合条件的元素
  • 修改
list = ['David','huyd','James','Lily']

list[0] = "David(Leader)"
print(list)

列表其他内置方法

name = ["Jack","Lily","Rain","Eric","David","James","Monica","Fiona"]
age = [1,2,3,4,5]

name.reverse()                 # 列表顺序反转
name.sort()                    # 排序,py3中不支持字符串和数字混排
name3 = name.copy              # 只能copy一级列表,二级列表共享。
name3 = copy.copy(name)        # 浅层copy,作用和上面一样,只能copy一级列表。相当于软连接。
name4 = copy.deepcopy(name)    # 深层copy,可以拷贝子列表,完全copy一份。
print(name[::2])               # 步长,每隔一个人打印一个人。

五、元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
它只有2个方法,一个是count,一个是index。
如下实例:

names = (James,David,Lily)
ages = (11,12,13)
tup1 = ()              # 空元组
tup2 = (18,)           # 元组中只包含一个元素时,需要在元素后面添加逗号。

六、字典

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号「:」分割,每个对之间用逗号「,」分割,整个字典包括在花括号「{}」中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

字典常用操作:

#先新建1个字典
info = {
    'stu1101': "James",
    'stu1102': "David",
    'stu1103': "Susan",
}

print(dic2.fromkeys([1,2,3,4,5,6],'yyyyy'))  #暂时没用。

  • 添加
info["stu1104"] = "Lily"      # 如果元素不存在则添加
  • 修改
info["stu1101"] = "Jack"      # 如果元素存在则修改
  • 删除
info.pop("stu1102")            # 标准姿势删除
del info["stu1102"]            # 换个姿势删除
info.popitem()                 # 随机删除
  • 查找
=> "stu1102" in info          # 查找元素标准用法
True

info.get("stu1103")            # 标准姿势获取元素,如果不存在返回None。
info["stu1105"]                # 这样也可以获取元素,但是如果不存在会报错。
  • 字典循环
for k,v in info.items():      # 会把dict转为list,数据量大时效率低。
    print(k,v)

for key in info:              # 效率高
    print(key,dic2[key])
  • 其他内置方法
info.keys()     # 获取Key
info.values()   # 获取Values

info.setdefault("stu1106","Jones")   # 取一个值,如果不存在,就设置一个默认的k v值
# 再新建一个字典info2
=> info2 = { 1:111111,2:222222,3:333333 }
=> info.update(info2)    # 使用info2里面的元素更新info
=> info
{3: 333333, 1: 111111, 2: 222222, 'stu1103': 'Susan', 'stu1102': 'David', 'stu1101': 'James'}

  • 多级字典嵌套及操作
info3 = {
    "中国":{
        "李志":["民谣歌手","米店"],
        "崔健":["摇滚歌手","红旗下的蛋"]
    },
    "台湾":{
        "周杰伦":["流行歌手","依然范特西"]
    },
    "新加坡":{
        "林俊杰":["流行歌手","江南"]
    }
}

info3["中国"]["李志"][1] += "2016"
print (info3["中国"]["李志"])
output:
['民谣歌手', '米店2016']

七、数据运算

  • Python算术运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
  • | 加 - 两个对象相加 | a + b 输出结果 30
  • | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10
  • | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200
    / | 除 - x除以y | b / a 输出结果 2
    % | 取模 - 返回除法的余数 | b % a 输出结果 0
    | 幂 - 返回x的y次幂 | ab 为10的20次方, 输出结果 100000000000000000000
    //| 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

比较运算:
比较运算
赋值运算:
image
逻辑运算:
image
成员运算:
image
身份运算:
image
位运算:
image
运算符优先级:
image

引用RUNOOB.COM

posted @ 2016-07-31 10:26  7y  阅读(262)  评论(0)    收藏  举报