1. 不说python是啥了,百度一堆.,还是说说我学了啥
我说的是python3.5,其他的自己看着办
这个是下载链接啊,自己玩 https://www.python.org/
我下载完成,使用pycharm 的, 注意了没有,此处不用#coding:utf-8 之类的东西了.因为内部已经做好了,
(我python 的第一句话)
编码内容不说了.但是建议以后在头部加上#coding:utf-8
2.变量:
- 字母
- 数字
- 不能使用关键字
- 下划线
##注意了,在这里,数字不能做开头,至于关键字,以后写着写着就记住了,不用刻意的逼迫强迫自己去记忆.如果你用了一个好的IDE,他会告诉你的
3 . 输入
上面有了print ,这里得有输入.
在这里直说两个,一个是input,一个是getpass(需要导包)
name = input('input your name: ')
print(name)
password = getpass.getpass('input your password: ')
print(password)
注意: getpass 必须要在终端里才可以生效,
getpass 这个包呢,可以让你输入的东西看不见,这个东西就类似于linux上输入密码的时候 盲敲.
输入输出就是为了获取内容,之后在开始处理,下面开始了解if 判断
4. 判断
格式:
if 条件:
....
elif :
.....
else:
......
基本就是这个样子,判断的顺序自上往下执行,如果有一个匹配到就不在执行下面的内容.
name = input('input your name: ')
if name == 'lisi': #'==' 代表比较
print ('你是李四,不能进')
elif name == 'xiaoming':
print ('ok,go')
else:
print ('sorry,I don\'t your name')
import getpass
name = input('input your name: ')
password = getpass.getpass('input your password: ')
if name == 'lisi': #'==' 代表比较
print ('你是李四,不能进')
elif name == 'wangwu':
if password =='wangwu': # 待会说个简单的方法,
print ('ok,go')
else:
print('sorry,you cont ')
else:
print ('sorry,I don\'t your name')
就是这个样子,是不是很简单!!!下面是个嵌套的
if判断就是这么多,后面会有详细的比较操作符
5. 开始while循环
while这个东西啊,注意一下几点
1. break 跳出所有循环(注意了,所有不是所有循环体,这个得注意,是跳出当前循环体的所有循环.)
2.continue 立即开始下次循环
3.只要是真就一直运行.(后面会说是"真"的情况)
栗子:
最简单,粗暴的栗子就是输出1-10,但是不输出其中的某一个数字.
i = 1
while i < 11:
if i ==6:
i += 1
continue
print(i)
i += 1
还有一个是break的
i = 8
while True:
num = int(input('input your num: ')) #这里我加了int,原因是我input输入的值都是字符串,而地下的
#比较是数字,所以要转化一下.
if num != i:
print('sorry,you failed')
else:
print('ok,you win')
break
print('while就是如此简单^_^')
6. python 的数据类型:
a. bool类型
就两种.True False
False : 字符串啥也没有,数字是0 ,这种是False
True : 除了False的都是True
b. int ------> 整型(3.5里没有了长整型了)
上面有个加了int的,这个就是转换,比如我输入了一个数字,但是都会当成是字符串,但是我需要他是数字,这个时候皆可以用int 了.
a = '19'
type(a)
a = int(a)
type(a)
c. str ------> 这个是字符串
#这些都是字符串,可以转换,但是转换的是可以转换的.比如下面的c,如果是a的话是不可以转化的.
a = name
b = 234
type(b)
b = str(b)
type(b)
c = "234"
字符串的拼接
name = "liukang ""
content = "is very handsome"
all = name + content
print (all)
print ('i found %s %s ' % (name,content) ) #这里的%s代表就是占位符.替换的
序列是否在其中(就是里面有没有东西能够匹配)使用in 或者not in
content = '我发现刘康很帅气啊!!!'
if '刘康很帅' in content:
print '(是的,很帅)'
else:
print "(刘康就是很帅)"
切割:
就是把一个好好的东西,切成你想要的格式,注意切割完成之后是列表.
content = 'liu|kang|very|handsome'
print(content)
new_content =content.split("|")
print(new_content)
结果:
liu|kang|very|handsome
['liu', 'kang', 'very', 'handsome']
View Cod
另外,可以自己想从那分隔几次都可以
new_content =content.split("|",2) #这里的2是分隔了几次,注意如果数字是0,则不分割,整个字符串是个列表
长度:
就是有多少个字符
content = 'good job' #空白字符也是一个字符串
a = len(content)
print(a)
索引:
就是获取里面的字符,注意是数字是从0开始的
content = 'good job'
a = content[5-2]
print(content[0])
print(a)
可以使用while循环了,
content = 'good job'
i = 0
while i < len(content):
print(content[i])
i += 1
切片:
说白了就是可以获取多个字符了.以前索引一个,用切片可以索引好多个了
格式:
content = 'good job'
a = content[0:3] #注意这里在数学上这样表示[0:3),也就是说不包括3,3是开区间.打印出来的是就是 'goo'
b = content[0:-4] #-4,表示从右边开始数,右边是从-1开始的.这点注意,而且此时用数学的表示方法是[0:-4] 也就是说从右边开始包括了第四个字符
c = content[1:-4]
d = content[0:100:3]#这个表示从0开始,索引到100,而且步长为3,注意了我这里索引到了100.但是我的内容咩有100,你放心,咩关系的.
e = content[0:] #表示从0开始,索引到最后
print(a)
print(b)
print(c)
print(d)
print(e)
列表:
创建:
增加和更新已及删除:
a = ['liukang',123,'comeon']
a.append('xxoo') #追加元素
print(a)
a.insert(1,'hheh') # 前面的数字不是插入在那个的后面是插入在第几位.0代表第一个.
print(a)
b = a.index(123) #获取这个元素的位置
a.remove('liukang') #删除指定的元素
del a[0] #删除第一个元素,这样也是可以的
a[1] = 'liukang very very handsome' #这个是更新
print(a)
print(b)
字典:
这个类型是无序的.
v = {
'name':'liukang',
'age':10,
'sex':'man'
}
print(v)
print(v['name']) #只能这么获取,需要key来获取
v['address'] = '中国' #增加内容
v['age'] = 100 #这样的话就是更新,原先有内容了
print(v)
del v['age'] # 删除掉一个元素
print(v)
val = {
'name':'liukang',
'age':10,
'sex':'man'
}
for key in val.keys(): #获取key
print(key)
for v in val.values(): #获去value
print(v)
for k,v in val.items():#获取key和value
print(k,v) new_dict = { #这个东西是可以相互嵌套的,并且没有底线的嵌套
'name':'lisi',
'age':99,
'address':['中国','山东','青岛'],
'sex':'man'
}
print(new_dict)
事例:
user_list = [
{'name': 'alex', 'pwd': '', 'times': 1},
{'name': 'eric', 'pwd': '', 'times': 1},
{'name': 'tony', 'pwd': '', 'times': 1},
]
username = input('name: ')
password = input('password: ')
for item in user_list:
if item['name'] == username and item['pwd'] == password:
print('OK,GO')
break
print('soory')
运算符:
普通: + - * /
高级一些:
这些都是对自身的一些操作
+=1 :相当于 i = i + 1
-=2 :相当于 i = i - 2
*= :同上
/= :同上
%= :同上
**= :同上
//= :同上
< :小于
> :大于
<= :小于等于
>= :大于等于
再高级一些:
**: 这个就是次方 比如2**5 这个就是 2的5次方
//: 这个表示地板除 只取商的整数部分9//2 -----> 4
% : 这个表示取模,也就是得到商的小数部分 9 % 2 ----> 1
不是数字的比较:(两个对象的比较)
==: 相等
!=: 不相等
<>: 不相等 逻辑运算:
add : 同时符合为True
or : 有一个符合就可以了
not : not(a and b)
##如果一个判断里既有and 和or ,if 1 > 2 or 0>3 and 4<6 : 类似于这种的,如果你觉得乱,你可以分开写
if 1 > 2 or 0>3:
if 4 < 6:
这也写的话,就可以更加的明了一些,
本来and 和or 是没有优先级的,但是如果加了"()" ,就有了,毕竟也得给括号一个面子啊,先算括号里的. 成员运算:
in : 在里面
not in : 不在里面
####:可能我这样的分类呢,有点不准确,但是我觉得这样的话很简单,怎么顺眼怎么来吧,另外,本人觉得,能用代码解释清楚的,就不用文字来扯淡. show me your code .
看了多少遍,看不懂,不如运行来一次明白的快.