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