Python基础之(判断,循环,列表,字典)

一.python介绍

Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。 Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。(引于菜鸟教程)

二.python与其他语言对比

Java C# PHP Python (开发效率高),这些语言本身不需要你去管理内存了。
它们都有自己的虚拟机,对于开辟内存、释放内存都由这个虚拟机处理。

C 和 Python、Java、C#等

C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作。

其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

三.python的种类

Cpython
Python的官方版(现在用的基本都是Cpython),使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
PyPy(特殊)
Python实现的Python,将Python字节码直接编译成机器码。

四.python规则

1.python解释器

我们现在使用的最广泛的是python的官方版本cpython,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上

2.windows安装python

进入官网下载安装包:https://www.python.org/downloads/

记得将python安装路径配置进环境变量

安装完python后,进入到DOS命令下面输入:python

3.编码

编码 字母占位 中文站位 特殊
unicode 万国码 2字节,16位 3字节,24位 占存储空间较大
utf-8 对万国码的压缩 1字节,8位 3字节,24位 压缩了存储空间
gbk,gb2312 中文的编码 1字节,8位 2字节,16位 不支持其他语言
 
Python编码相关:

-文件编码

-python解释器编码(py3 utf-8) # -*- coding:utf-8 -*-

PS:python解释器编码(ascii)

 
注释:

在要注释的行首输入#

在需要注释的处输入"""   """适用于注释段落

变量命名要求:

字码,数字,下划线组成,数字不能开头,不能是关键字。

Ps:Python用_来分割,不使用驼峰式命名

4.第一个python程序"Hello World"

print("Hello World")

五.if条件语句

1 if:
2     成功走这里
3 else4     失败走这里

1.如果用户输入的number等于4输出正确,否则的话输出错误。

number = input("请输入你猜的数字:")
if number == 4:
    print("正确")
else:
    print("错误")

2.当需要多个判断的时候,第二个或者第三个或者有更多条件用elif

if 条件:
    输出
elif 条件:
    输出
else:
    输出

具体使用方法如:

number = 10
user_number = input("请输入你猜的数字:")
user_number = int(user_number)
if user_number > number:
    print("对不起,猜大了!")
elif user_number < number:
    print("对不起,猜小了!")
else:
    print("恭喜您猜对了!")

getpass输入加密(只能在命令行下起作用)

1 import getpass
2 name = input("请输入用户名:")
3 pwd = getpass.getpass("请输入密码:")
4 if name == "json" and pwd == "666":
5     print("欢迎登陆!")
6 else:
7     print("登录失败!")

六.while循环语句

while 条件:
continue    # 立即开始下次循环
break       # 跳出所有循

练习:

1.使用while循环输入 1 2 3 4 5 6     8 9 10

i = 1
while True:
    if i == 7:
        i = i + 1
        continue
    print(i)
    i = i +1
    if i == 11:
        break

2.求1-100的所有数的和

value = 0
i = 1
while i < 101:
    value = value + i
    i = i + 1
print(value)

3.输出 1-100 内的所有奇数

i = 1
while i < 101:
    if i % 2 == 1:  # %是取余
        print(i)
    i = i + 1

4.用户登陆(三次机会重试)

i = 0
n = 3
while i < 3:
    name = input("请输入用户名:")
    pwd = input("请输入密码:")
    if name == "json" and pwd == "123":
        print("欢迎登陆!")
        break
    else:
        n = n -1
        print("输入错误您还有", n, "次机会")
        i = i + 1
else:
    print("输入错误3次账号被锁定!")

七.python的基本数据类型

1.算数运算

 注:运算符的执行顺序,从前往后

2.比较运算

3.赋值运算

4.逻辑运算

5.成员运算

6.整数int

创建:  

1 a = 123
2 a = int(123)

转换:

1 age = "18"
2 new_age = int(age)

 7.布尔类型

创建:

1 a = True
2 b = False

 转换:

  数字转换,只有0是False,其他True

  字符串,  只有""是False,其他True

8.字符串

a.创建:

 a = "alex"
 a = str('alex')

转换:

1 age = 19
2 new_age = str(age)

字符串的拼接:

1 name = 'alex'
2 gender = ''
3 new_str = name + gender
4 print(new_str)

字符串格式化转换,%s占位符,%d字符串:

1 # 占位符,
2 # name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!'
3 # new_str = name %('男',19,)
4 # print(new_str)
5 
6 name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!' %('',19,)
7 print(name)

b.判断子序列是否在其中

1 content = "Alex 前几天去泰国玩姑娘,一不小心染上了病,他的内心活动是,真该多来几个"
2 if "前几天去" in content:
3     print('包含敏感字符')
4 else:
5     print(content)

c.移除空白

val = " alex "
print(val)
new_val = val.strip() # 左右
print(new_val)
new_val = val.lstrip()# 左边
print(new_val)
new_val = val.rstrip() # 右边
print(new_val)

d.分割

1 user_info = "alex sb123 9"
2 # v = user_info.split('|')
3 # v = user_info.split('|',1)
4 # v = user_info.rsplit(' ',1)

e.长度(字符)

1 val = "李杰sb"
2 v = len(val)
3 print(v)

f.索引

1 val = "李杰sb"
2 v = val[0]
3 print(v)
4                     
5 val = input('>>>')
6 i = 0
7 while i < len(val):
8     print(val[i])
9     i += 1

g.切片

1 name = '我叫李杰,性别我今年岁,我在说谎!'
2 print(name[0])
3 print(name[0:2])
4 print(name[5:9])
5 print(name[5:])
6 print(name[5:-2])
7 print(name[-2:])

9.列表

创建:

1 a = ['json','','eric',123]
2 a = list(['json','','eric',123])

in判断

1 if 'al' in a:
2     pass                      
3 if 'al' in a[0]:
4     pass

索引

1 val = a[0]

长度

1 val = a[0]

切片

1 a = ['alex','','eric',123]
2 v = a[0::2]
3 print(v)

追加

1 a = ['alex','','eric',123]
2 a.append('xxoo')
3 print(a)

插入

1 a = ['alex','','eric',123]
2 a.insert(0,'')
3 print(a)

删除

1 a = ['alex','eric','','eric',123]
2 # a.remove('eric')
3 del a[0]
4 print(a)

更新

1 a = ['alex','eric','','eric',123]
2 a[1] = '阿斯顿发送到'
3 print(a)

for循环

1 a = ['alex','eric','','eric',123]
2 for item in a:
3 print(item)
4 # break
5 # continue

10.字典

创建:

1 v = {
2     'name': 'alex',
3     'password': '123123'
4 }

索引获取值

1 n = v['name']
2 print(n)

增加,无,增加;有,修改

1 v['age'] = 19
2 print(v)

删除

1 del v['name']
2 print(v)

循环

1 for item in v.keys():
2     print(item)
3 for item in v.values():
4     print(item)
5 for key,val in v.items():
6     print(key,val)

相互嵌套

1 user_dict = {
2     'k1': 'v1',
3     'k2': {'kk1':'vv1','kk2':'vv2'},
4     'k3': 123,
5     'k4': ['alex','eric',['a','b','c'],'李永乐',{'k11':'vv1'}],
6 }
7 user_dict['k4'][2].append('123')
8 user_dict['k4'][4]['n'] = '李明'

应用:

 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 user = input('用户名:')
 7 pwd = input('密码:')
 8 for item in user_list:
 9     if user == item['name'] and pwd == item['pwd']:
10         print('登录成功')
11         break
View Code

11.文件操作

打开并读取

1 f1 = open('db','r')
2 data = f1.read()
3 f1.close()
4 print(data)

清空并写入

f2 = open('db','w')
f2.write(target)
f2.close()
原文地址:https://www.cnblogs.com/Crazy-lyl/p/6790723.html