小小白的python之路------python基础01

1. 不说python是啥了,百度一堆.,还是说说我学了啥

我说的是python3.5,其他的自己看着办

这个是下载链接啊,自己玩 https://www.python.org/

我下载完成,使用pycharm 的, 注意了没有,此处不用#coding:utf-8 之类的东西了.因为内部已经做好了,

(我python 的第一句话)

小小白的python之路------python基础01

编码内容不说了.但是建议以后在头部加上#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 .

看了多少遍,看不懂,不如运行来一次明白的快.

上一篇:BZOJ 1042 硬币购物(完全背包+DP)


下一篇:一次关于()=>({})的使用