python2
2017-07-21 17:55 cui_xx 阅读(348) 评论(0) 收藏 举报1、算数运算符:
+ - * / 取模%(返回除法余数) 幂** 取整除//
python 2.7 中默认取整除
需导入模块,结果才为保留小数
#from __future__ import division
2、比较运算符:
== 不等于!=、<> > < >= <=
3、赋值运算符:
= += -= *= /= %= **= //=
4、逻辑运算符:
and 布尔“与” or 布尔“或” not 布尔“非”
5、成员运算符:
in not in
6、身份运算符:
================================================================================
pycharm
1、模板
file=>settings=>Editor=>file and code template => Python Script #设置头代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
OK
2、文字大小
file=>settings=>editor=>color and font=>font=>save as.. =>修改字号
3、运行
a、点击要运行的文件,右键run
b、
view=>toolbar
选中要执行的文件
点击 > 运行
c、在当前文件空白处,右键,run
4、切换python版本
file ->settings -> project interpreter ->选择版本
================================================================================
基本数据类型
数字 int
字符串 str
布尔值 bool
列表 list
元组 tuple
字典 dict
所有字符串或数字、字典…… 所具备的方法存在相对应的“值”里
所有对象所具备的功能都保存在相应的类中
查看对象的类,或对象所具备的功能
1、type
temp = "alex"
t = type(temp)
print (t)
# str, ctr+鼠标左键,找到str类内部所有的方法
2、dir
temp = "alex"
b = dir(temp)
#显示类内部所有的方法名称
3、help,type
help(type(temp))
#显示类内部所有方法的名称和详细信息
4、直接点击
temp = "alex"
temp.upper()
鼠标放在upper()上,ctrl+左键,自动定位到upper功能处
==================================================================================
基本数据类型常用功能:
1、整数,int
a.
n1 = 123
n2 = 456
print(n1 + n2)
print(n1.__add__(n2))
b.
获取可表示的二进制最短位数
n1 = 4 #000000100
ret = n1.bit_length()
print(ret) #返回结果 3
2、字符串,str
2.1.capitalize 首字母大写:
a1 = "alex"
ret = a1.capitalize()
print (ret)
Alex
2.2 center 字符串长度增加为20,a1居中,空白处用*填充
a1 = "alex"
ret = a1.center(20,'*')
print (ret)
********alex********
2.3 count 查找字符串中子序列的个数
a1 = "alex is alph"
ret = a1.count("al")
print (ret)
2
查找字符串指定段中子序列的个数
a1 = "alex is alph"
ret = a1.count('al',0,5)
print (ret)
1
2.4 endswith 是否是以……结尾的
temp = 'hello'
print (temp.endswith("lo"))
True
指定某段子序列是否是以……结尾的
temp = 'hello'
print (temp.endswith('e', 0, 2))
True
startwith 是否是以……开始的
temp = 'hello'
print (temp.startswith("he"))
True
temp = 'hello'
print (temp.startswith("ll", 2))
True
2.5 expandtabs tab键换成空格,默认换成8个空格
content = "hello\t999"
print(content)
print (content.expandtabs())
print (content.expandtabs(20))
2.6 find 找在字符串中的第一个位置,返回位置,如果没找到返回-1,默认从左向右找
s = "alex hello"
print (s.find("e0"))
-1
s = "alex hello"
print (s.find("e"))
2
rfind 从右向左找
s = "Alex sb alex"
print (s.rfind('e'))
10
2.7 format 字符串格式化
s = "hello {0}, age {1}"
print (s)
# {0} 占位符
new1 = s.format('alex', 18)
print (new1)
hello {0}, age {1}
hello alex, age 18
2.8 index 寻找子序列的位置,如果没找到,报错,默认从左向右找
s = "alex hello"
print (s.index("eo"))
报错
s = "alex hello"
print (s.index("e"))
2
rindex 从右向左找
s = "alex hello"
print (s.rindex("e"))
6
2.9 isalnum 是否全是字母和数字
s = "alex9"
print (s.isalnum())
isalpha 是否全是字母
s = "alex9"
print (s.isalpha())
isdigit 是否全是数字
s = "9999"
print (s.isdigit())
True
islower 是否全是小写
s = "alex9"
print (s.islower())
isspace 是否是空格
s = " alex9 "
print (s.isspace())
False
istitle 是否是标题,所有单词首字母大写
s = "The School"
print (s.istitle())
True
isupper 是否全部大写
s = "The School"
print (s.isupper())
2.9 join 连接
#li = ["alex", "eric", "alice"] #列表
li = ("alex", "eric", "alice")#元组
s = "_".join(li)
print (s)
alex_eric_alice
2.10 ljust 内容左对齐,右侧填充
s = "alex"
print (s.ljust(10, '*'))
alex******
rjust 内容右对齐,左侧填充
s = "alex hello"
print (s.rjust(20, '*'))
**********alex hello
2.11 lower 字符串变小写
s = "Alex"
print (s.lower())
alex
2.12 strip 去掉左右两头的空格
s = " Alex "
print (s.strip())
Alex
lstrip 去掉左边的空格
s = " Alex "
print (s.lstrip())
Alex
rstrip 去掉右边的空格
s = " Alex "
print (s.rstrip())
Alex
2.13 partition 把字符串分割,放入元组里面,默认从左向
右找
s = "Alex sb alex"
print (s.partition('sb'))
('Alex ', 'sb', ' alex')
s = "Alex sb alex"
print (s.partition('e'))
('Al', 'e', 'x sb alex')
rpartition 从右向左找
s = "Alex sb alex"
print (s.rpartition('e'))
('Alex sb al', 'e', 'x')
2.14 replace 替换
s = "Alex sb alex"
print (s.replace('a', 'tb'))
Alex sb tblex
s = "Alex sb alex"
print (s.replace('e', 'tb'))
Altbx sb altbx
s = "Alex sb alex"
print (s.replace('e', 'tb', 1))
Altbx sb alex
s = "Alex sb alex"
print (s.replace('e', 'tb', 2))
Altbx sb altbx
2.15 split 分割,默认从左向右
s = "alexalex"
print (s.split('e'))
['al', 'xal', 'x']
s = "alexalex"
print (s.split('e',1))
['al', 'xalex']
rsplit 从右向左
s = "alexalex"
print (s.rsplit('e',1))
['alexal', 'x']
splitlines根据换行符分割,\t 制表符(tab键) \n 换行
符
s = "alex\nalex"
print (s.splitlines())
['alex', 'alex']
2.16 swapcase 小写变大写 大写变小写
temp = 'Hello'
print (temp.swapcase())
hELLO
2.17 title 变成标题,所有单词首字母大写
temp = 'the school'
print (temp.istitle())
print (temp.title())
False
The School
upper 变大写
temp = 'The school'
print (temp.isupper())
print (temp.upper())
False
THE SCHOOL
---------------------------
2.20 字符串索引
s = 'alex'
#索引
print (s[0])
print (s[1])
print (s[2])
print (s[3])
#print (s[4]) 报错,索引超出范围 IndexError:
string index out of range
#长度
ret = len(s)
print (ret)
a
l
e
x
4
2.21 切片
s = 'alex'
print(s[0:2])
al
2.22 while循环
s = "alibaba"
start = 0
while start < len(s):
temp = s[start]
print (temp)
start +=1
a
l
i
b
a
b
a
2.23 for循环
s = "buffer"
for item in s:
print (item)
b
u
f
f
e
r
s = "buffer"
for item in s:
if item == 'f':
continue
print (item)
b
u
e
r
s = "buffer"
for item in s:
if item == 'f':
break
print (item)
b
u
=============================================================
=======================
3、列表 list
name_list = ["alex", "tony", "alice"]
#索引
# print (name_list[2])
# #切片
# print (name_list[0:2])
# #len
# print (name_list[0:len(name_list)])
# #for
# for i in name_list:
# print (i)
#列表内部提供的其它功能
#append 追加,在后面追加
# name_list.append("seven")
# print (name_list)
# print (name_list.count("seven"))
#extend 批量追加 iterable 可迭代的
temp = [11, 22, 33]
name_list.extend(temp)
print (name_list)
#index 从左向右找 索引 第几个
print (name_list.index('alice'))
#insert 从左向右 插入
name_list.insert(2,'samsung')
name_list.insert(2,'samsung')
name_list.insert(2,'samsung')
print (name_list)
# pop 移除最后一个 赋值
n1 = name_list.pop()
print (name_list)
print (n1)
#remove移除 移除了从左向右数第一个samsung
name_list.remove("samsung")
print (name_list)
# reverse 反转 数据顺序反转
name_list.reverse()
print (name_list)
#删除指定索引位置
name_list = ["alex", "tony","king", "love", "alice"]
del name_list[1:3]
print (name_list)
=============================================================
=======================
4、元组 tuple 同列表,不同之处是元组不能修改
name_tuple = ("alex", "alice")
#索引
print (name_tuple[0])
#len
print (name_tuple[len(name_tuple)-1])
#切片
print (name_tuple[0:2])
# for
for i in name_tuple:
print (i)
#count 计算元素出现的个数
print (name_tuple.count("alex"))
#index 获取指定元素的索引位置
print (name_tuple.index("alex"))
=============================================================
=======================
5、字典 dict
#字典的每个元素,都是一 键值对
usr_info = {
"name": "alex",
"age": 18,
"gender": "M"
}
#索引
# print (usr_info['name'])
# #循环 默认输出key
# for i in usr_info:
# print (i)
# #获取所有key
# print (usr_info.keys())
# #获取所有value
# print (usr_info.values())
# #获取所有键值对
# print (usr_info.items())
# for i in usr_info.keys():
# print (i)
#
# for i in usr_info.values():
# print (i)
#把key赋值给i,把value赋值给k
# for i, k in usr_info.items():
# print (i)
# print (k)
#clear,清除所有内容
# usr_info.clear()
# print (usr_info)
#get 根据key获取值,如果key不存在,返回None,不报错,可以给它
指定一个默认值
# val = usr_info.get("age")
# print (val)
#
# val = usr_info.get("age111", '123')
# print (val)
# #索引取值时,如果key不存在,报错
# print (usr_info['age'])
# print (usr_info['age333'])
#has_key 检查字典中指定key是否存在
# usr_info.has_key('age') python3里没有这个函数了
#用in 代替has_key
# ret = 'age' in usr_info.keys()
# print (ret)
#update 更新
# print (usr_info)
# test = {
# "a1": 123,
# "a2": 456
# }
# usr_info.update(test)
# print (usr_info)
#pop 获取并在字典中移除指定的键值
# print (usr_info)
# a1 = usr_info.pop("gender")
# print (usr_info)
# print (a1)
#popitem 获取并移除字典尾部键值对
# print (usr_info)
# a1 = usr_info.popitem()
# print (usr_info)
# print (a1)
#setdefault 如果key不存在,则创建,如果存在,则返回已存在的值
且不修改
# print (usr_info)
# usr_info.setdefault("age1", 33)
# print (usr_info)
#del 删除
print (usr_info)
del usr_info['age']
print (usr_info)
#enumerate 自动生成一列,默认0开始 自增1
#字符串=> 数字 int(字符串)
li = ['电脑', '鼠标', 'U盘', '游艇']
for key, item in enumerate (li, 1):
print (key, item)
inp = input('请输入商品:')
inp_num = int(inp)
print (li[inp_num - 1])
1 电脑
2 鼠标
3 U盘
4 游艇
请输入商品:3
U盘
# range xrange
# py 2.7
#range, 用来获取指定范围内的数,range(0, 100000)
# 在内存里立马全部创建出来
#xrange, 用来获取指定范围内的数,xrange(0, 100000)
# 在内存里不创建,只有通过for循环迭代它的时候才创建
# py 3 只有range,等同于2.7里面的xrange
# print (range(0, 10))
# for i in range(0, 10, 3):
# print (i)
# print (range(10, 1))
# for i in range(10, 1, -2):
# print (i)
li = ["alex", "alice"]
le = len(li)
for i in range(0, le):
print (i, li[i])
浙公网安备 33010602011771号