1.range函数
a)第一种情况for i in range(10) 循环十次,其中i的值从0取值到9
b)第二种情况 in
range(1,10)从1顺序的取到10 步伐为1 但是不包括10,如果是in rangle(10,1)这个是错误的,必须写成in
rangle(10,1,-1)
c)第三种情况 in
range(1,10,2)
从1顺序的取到10 步伐为2
例子截图:此处注意那个“”日“”
python是用缩进格(tab)来判断是否属于for句下面,还有for if等语句,都需要用:结尾
![Center][]
2.raw\_input函数,此函数为提示用户按下键盘某个键,退出程序,如果不按下回车键,运行程序会报错,提示有一个程序正在运行,目的在于持久性的运行程序。
例子:
![Center 1][]
3.符号
python中,单引号‘’
双引号""
三双引号"""
"""(小编不知道这叫什么,所以起了个别名)
a)对于创建字符串来说,既可以使用单引号 ,也可以使用双引号,当然小编也用三双引号试了下
貌似计算机,并不是很关系具体你用的是把那个,输出的字符串都是一样的,如下图:
![Center 2][]
b)对于双引号跟三双引号的作用,是这样的
![Center 3][]
4.print函数,顾名思义 就是打印函数,比较简单,比如print("xjp")就会打印字符串xjp,多个参数时,print("xxx","jjj","ppp"),在输出的结果中,各个数据的值之间是分开的,这是print函数的默认行为
a)比如\\n代表换行
b)\\t代表对齐,
c)\\a代表响一下电脑的蜂鸣器(cmd 或者 控制台),
d)特殊字符前面加个“\\”比如当你想输出\\的时候,前面需要加一个\\,比如print("\\t\\t\\t \\\\ \\\\ \\\\ \\\\ \\\\")
输出的是\\ \\ \\ \\ \\,
e)如果需要输出重复字符串,print("xjp"\*5) 就会输出xjpxjpxjpxjpxjp
5.python数值类型
a)整数比如整数 0 ,100 -100
b)浮点数比如带小数的数字,比如3.3,-99.5,,1.0
6.运算符
“+”
“-”
“\*”
“/(真除,7/3=2.3333)”
“//(整数 7//3=2)”
“%(求模)7%3=2”,python(3.X版本不同版本有区别,比如你使用python2.7.1
3/2=1)
7.input说白了 这个函数就相当于c语言中的scanf,也就是获取用户输入的字符串
比如 name = input("what's your name? :")
中间的字符串是用来提示用户的,input会等待用户输入点东西,但用户按下enter的时候,input就会以字符串的形式全部存入到name中。,如果需要转化数值类型,直接在前加上int(),float() ,str()
小编发现,当我用python2.7时候,input报错了,说name没定义,但是实际name的值可以赋值进去了,在此小编没有去深究,当使用python3.5版本时候,发现没问题,看下图
![Center 4][]
8.字符串格式转变的几个函数写的几个方法,使用的函数
a)全部变成大写字母输出 name="xiejiangpeng"
则 print(name.upper())
输出XIEJIANGPENG
b)全部变成小写字母输出 name="Xiejiangpeng"
则print(name.lower())
输出xiejiangpeng
c)变成标题格式输出
name= "xie
jiang
peng"
则print(name.title())
输出Xie
Jiang
Peng
d)字符串中某段字符串替换
name= xiejiangpeng
则print(name.replace("x","hello"))
输出 helloiejiangpeng ,意思是将字符串中所有的x
用hello代替,创建一个新的字符串,另外此函数还可以加第三个参数,例如当name= xie xie
xie
print(name.replace("x","hello",2))
则输出 helloie
helloie
xie
第三个参数时限制最多替换多少次
此外提供一些字符串方法:
![Center 5][]
9.复合赋值运算符
运算符
范例
等价于
\*=
x\*=5
x=x\*5
/=
x/=5
x=x/5
%=
x%=5
x=x%5
\+=
x+=5
x=x+5
\-=
x-=5
x=x-5
10.随机函数,randint
randrange,使用时需要导入 random包,然后通过random.(函数)进行引用,属于点标记法来引用模块中的任何内容
![Center 6][]
11.if函数
if mood ==
0:
elif mood == 1:
elif mood ==2:
else:
![Center 7][]
12.while函数
例如:记住此程序中name变量必须初始化,值可以为“”
也可以“xxxwdf”
但是为空的时候,代码的可读性更加好,为了优化代码的目的我们可以使用“”
![Center 8][]
#encoding=utf-8
x=1
while x<100:
x=x+1
print(x)
13.break和continue的用法
前者是结束循环,后者是结算此次循环,
根据下面这个例子可以理解
记住tab缩进
否则出现莫名其妙的错误,次例子输出结果是
1 2 3 4 6 7 8 9 10
![Center 9][]
14.逻辑运算符not,可以用来检测用户是否输入了字符(回车不算)
\#not 练习
\#coding=utf-8
name = ""
while not name:
name=input("请输入你的名字:")
~
~
~
程序运行后,name初始化为空字符串,相当于False,因此not False也就意味着True,当用户没有输入数据按下回车时,程序就会继续提示要求用户输入你的名字
当用户输入数据时,此条件就为False了
15.逻辑运算符,or
and
一般用于if
while
连接条件语句,组合成一个新的条件语句
16.函数isdigit()检查字符是否由纯数字组成、当字符串str为纯数字的时候,str.isdigit()为True 当不是纯数字组成的时候,str.isdigit() 为False
17.quit()
exit()二个函数放的位置可以结束程序运行
18.for循环用法,比其它语言的for循环更加灵活,不只是可以计数器变量进行循环,比如对序列进行遍历,可以通过一个变量来获取序列中的元素
比如
下面那个例子
![Center 10][]
19.len函数,用途 计算字符串长度的函数 比如str=q !(中间有个空格)
print(len(str))
会打印出3,另外检查一个字符串中是否含有某个字符 ,可以用if
"str1"
in
str
![Center 11][]
20.索引
a)正位置索引,比如str="xjp"
那么print(str\[0\]) 打印出来的是"x"
b)负位置索引,比如str="xjp" 那么print(str\[-1\]) 打印出来的是“p”
21.函数randrange的用法,比如random.randrange(num1,num2)
随机取num1到num2中的数据
![Center 12][]
21 利用for循环 以及in
去除元素 代码如下
#演示利用for循环创建新的字符串
message = input("请输入一个字符串\n")
new_message =""
VOWELS = "aeiou"
for letter in message:
if letter.lower() not in
VOWELS:
print(letter.lower())
new_message += letter
print("新的字符串为",new_message)
其中 for
letter.lower()
还有VOWELS是代表大写
这种大写在python中有特殊的含义 代表不变的常量
22.切割字符串代码 可以根据索引随意切割 代码如下,其中None在这里是为了初始化start的值,代表的意思为“无”
# 对字符串进行切片
word = "xjplove"
print(
"""
字符串1索引图
0
1
2
3
4
5
6
7
x
j
p
l
o
v
e
-7
-6
-5
-4
-3
-2
-1
"""
)
print("请输入 你需要切断的数字")
start = None
while start !="":
start = (input("\nStart"))
if start:
start = int(start)
finish = int(input("finish:"))
print("word[", start,":",finish,"] is",end=" ")
print(word[start:finish])
23.list中的内置函数
#列表
python的苦力
#1.append追加一个列值
list1=[None]*1
list1.append(1)
print(list1)
#2.count统计某个字符出现的字数
print(["x","x","1","s","x"].count("x"))
print(list("xiejiangpengx").count("x"))
#3.extend跟+区别
这个是重新创建一个新的list
a=[1,2,3]
b=[4,5,6]
a.extend(b)
print(a)
#4.index 找到list中某个值对应的索引位置
namelist=["xiejiangpeng","pengmin","dog","rubbish"]
print(namelist.index("pengmin"))
#5.insert 在某个位置插入值(可以是个列表)
list_insert=[1,3,4]
cc=[2,2]
list_insert.insert(1,cc)
list_insert.insert(2,"xiejiangpeng")
print(list_insert)
#6.pop 移除列表中的某个元素(默认是最后一个) 其中可以返回这个值 跟append刚好相反
#x.append(x.pop())也是返回x这个列表
list_pop=[1,2,3]
list_pop.pop()
list_pop.pop(1)
print(list_pop)
#7.remove 删除某个值 但是不会返回
list_remove=["to","be","or","not"]
list_remove.remove("be")
print(list_remove)
#8.reverse 反向存放 比如1,3,2 就会变成2,3,1
list_reverse=[1,3,2]
list_reverse.reverse()
print(list_reverse)
#9.sort
可能是从小到大排序 复制list=list_t[:] 将list_t的每个分片都复制给sort
list_sort=[1,2,4,3]
list_sort.sort()
print(list_sort)
24.元组tuple
tuple1=1,#定义一个元素的元组 后面加一个逗号
tuple2=1,2,3,4,5#定义多个元素的元组 逗号分隔
list=[1,2,3,4]#定义一个列表元组
tuple_list=list,list,list
print(tuple1)
print(tuple2)
print(tuple_list)
25.字符串格式化操作
#%s叫做转换说明符 用来标记需要插入的转换值得为之,s表示值会被格式化成字符串
xjp="https://%s.%s"
value=("xiejiangpeng","com")
print(xjp%value)
#如果字符串中包含%的字符 必须使用%% 这样python就不会误认为百分号是转换说明符了
pm="%%xiejiangpeng.%s"
value1=("com")
print(pm%value1)
#引入模板字符串 substitute模板方法传递进来的关键字参数foo替换字符串中的$foo
from string import Template
s=Template('$x,glorious $x!')
print(s.substitute(x='slurm'))
#当引入的字符串 是单词的一部分的时候
需要使用括号括起来
s1=Template('xie${x}peng')
print(s1.substitute(x='jiang'))
#字符串中有$符中 可以使用$$来结局这个问题
s2=Template("make $$ selling ${x}")
print(s2.substitute(x='slurm!'))
#可以使用dict变量提供值/名称对
s_dict=Template('$name and $sex' )
message={}
message['name']="xiejiangpeng"
message['sex']="男"
print(s_dict.substitute(message))
#字符串格式化:完整
print('%s,%s,%s' %(1,2,3))
#字段宽度(左边为空 宽度也就是整体数字)和精度(几位小数)
print('%10.2f' %12.565566)#十个宽度 二个小数点保留
print('%010.2f' %12.565566)#十个宽度 前面默认用0填充
print('%-10.2f' %12.565566)#十个宽度 前面默认用0填充 -代表左对齐数值
print('%+10.2f' %12.565566)#十个宽度 前面默认用0填充 +代表不管正数负数都标记符号 对齐一下正负数
print('%''10.2f' %12.565566)#十个宽度 前面默认用0填充 ""代表正数前面加空格 对齐一下正负数
26.字符串方法调用:
"""字符串的方法"""
#1.find 在一个很长的字符串中找子串 找到了返回第最左端索引假设是[3:] 就返回3 这里空格也算一个字符 没有找到返回-1
str1="my name is xiejiangpeng"
print(str1.find("name is"))
#2.join 连接序列中的每个元素 记住是用'xx'字符串的方法 其中xx可以使用1xx2xx3 而不是list.join
list=['1','2','3']
print(''.join(list))
#3.lower返回字符串的小写字母
str2="ewqarfewDIOIJDILJNDLINLIinewlirnilh"
print(str2.lower())
#4.replace 替换字符串 例如下方就会将xiejiangpeng改换成pengmin
str3="my name is
xiejiangpeng"e("xiejiangpeng","pengmin"))
print(str3.replac
#5.split 将字符串分割成序列
跟join刚好相反 默认按照空格分割
str4="xiejiangpeng+sss"
print(str4.split("+"))
#6.strip 除去二测(不包括内部)空格的字符串
str5=" ddd dd
d"
print(str5.strip())
27 字典的创建和相关方法:
#ecoding=utf-8
"""字典基础"""
#1.首先他可以将元组[(AA,a),(BB,b)]衍射成为字典形式
List_Tuple=[('AA','a'),('BB','b')]
List_Dict=dict(List_Tuple)
print(List_Dict)
#2.可以通过关键字来进行创建字典
d=dict(name='xie',age='42')
print(d)
#3.字典的基本操作
#a.len(dict)返回dict中键+值的数量 也就是项的数量 多少对
#b.dict[k] 返回键k上 对应的值
#c.dict[k]=v 将键k上面对应的值 重新进行赋值
#d.del dict[k] 删除键k上对应的值
#e. k in dict 检查dict中是否存在键为K的项
#f.对dict中的key进行升序排列for key in sorted(Dict.keys()):
#4.利用字典插入字符串对
temp="""`
%(title)s
%(title)s
%(text)s
"""
data={'title':'My Home Page','text':'Welcome to my home page'}
print(temp % data)
#5.字典的方法
#a.clear方法 清除字典中所有的项 所以无返回值(或者返回None)
a={'name':'xiejiangpeng','sex':'男','age':'22'}
# print(a.clear())
# print(a)
#b.copy方法
b=a.copy()
print(b)
#c.fromkeys 使用给定的键值创立新的字典(中间需要放[]),每个值,默认为None
FromKeysDict={}.fromkeys(['a','b'])
print(FromKeysDict)
#d.get 获取里面的某个值 相对于dict["name"]而言,当里面的键不存在的时候 不会报错 而是会返回None
print(a.get("name"))
#e.has_key
检查字典中是否包含某个键(python3中没有这个函数了)
# print(a.has_key("name"))
#f.items返回字典的项,以元组的形式
itmesDict={'name':'xiejiangpeng','sex':'男','age':'22'}
print(itmesDict.items())
#g.keys将字典里面的键以列表的形式返回
keysdict={'name':'xiejiangpeng','sex':'男','age':'22'}
print(keysdict.keys())
#f.pop用于删除某个项(填键)同时返回键对应的值
popdict={'name':'xiejiangpeng','sex':'男','age':'22'}
print(popdict.pop("name"))
print(popdict)
#g.popitem随机删除一个项,同时会返回这个项 因为dict是无序的
popitemdict={'name':'xiejiangpeng','sex':'男','age':'22'}
print(popitemdict.popitem())
print(popitemdict)
#h.setdefault()获得给定键的值,如果没有这个键,
追加一个同时返回这个键值,如果存在;不追加一个项,同时返回这个键对应的值
setdefaultdict={'name':'xiejiangpeng','sex':'男','age':'22'}
print(setdefaultdict.setdefault('hoppy','吃饭'))
print(setdefaultdict)
#i.values返回dict中的值
valuesdict={'a':'1','b':'2','c':'3'}
print(valuesdict.values())
28.布尔值:False-->(包括,None,0,"",(),[],{})空列表或者空元组或者开空字典均识别为假,但是他们的反向均为真也就是True,也就是说在pyhon中所有的值都可以作为布尔值,所以几乎我们不需要对他们进行转化(python会自动转化这些值)
29.比较运算符,除了我们经常使用的a==b,已经a>=c这类,还有下面的
比如:a is b
\#a和b是同一个对象(比如a=b=\[1\]
那么a is
b 输出为真),但是下面哪个 输出却是假
a=\[1\]
b=\[1\]
print(a is
b)
比如:a is not
b
\#a和b是不同一个对象
比如:a in
b
\#a是b的容器(比如 序列的成员)
比如:a in
not
b
\#a不是b的容器(比如 不是序列的成员)
其中is叫做同一运算符,记住不是比较值是否相等,而是比较是不是绑定在同一个对象,给你们举个例子:
比如x=y=\[1,2,3\]
z=\[1,2,3\]
x in y 输出是真;但是x in z输出却是假
其中in 叫做成员资格运算符 这个比如 x in "xjepeng"
意思是后者里面是否包含前者
29.assert 断言
比如下方判断输入的值是否在某个区间,当跟断言不一直的时候,引发异常
#encoding=utf-8
num=raw_input("num:")
a=int(num)
try:
assert 1