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解释器编码(py3 utf-8) # -*- coding:utf-8 -*-
PS:python解释器编码(ascii)
在要注释的行首输入#
在需要注释的处输入""" """适用于注释段落
变量命名要求:
字码,数字,下划线组成,数字不能开头,不能是关键字。
Ps:Python用_来分割,不使用驼峰式命名
4.第一个python程序"Hello World"
print("Hello World")
五.if条件语句
if:
成功走这里
else:
失败走这里
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输入加密(只能在命令行下起作用)
import getpass
name = input("请输入用户名:")
pwd = getpass.getpass("请输入密码:")
if name == "json" and pwd == "":
print("欢迎登陆!")
else:
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 == "":
print("欢迎登陆!")
break
else:
n = n -1
print("输入错误您还有", n, "次机会")
i = i + 1
else:
print("输入错误3次账号被锁定!")
七.python的基本数据类型
1.算数运算
注:运算符的执行顺序,从前往后
2.比较运算
3.赋值运算
4.逻辑运算
5.成员运算
6.整数int
创建:
a =
a = int()
转换:
age = ""
new_age = int(age)
7.布尔类型
创建:
a = True
b = False
转换:
数字转换,只有0是False,其他True
字符串, 只有""是False,其他True
8.字符串
a.创建:
a = "alex"
a = str('alex')
转换:
age = 19
new_age = str(age)
字符串的拼接:
name = 'alex'
gender = '女'
new_str = name + gender
print(new_str)
字符串格式化转换,%s占位符,%d字符串:
# 占位符,
# name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!'
# new_str = name %('男',19,)
# print(new_str) name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!' %('男',19,)
print(name)
b.判断子序列是否在其中
content = "Alex 前几天去泰国玩姑娘,一不小心染上了病,他的内心活动是,真该多来几个"
if "前几天去" in content:
print('包含敏感字符')
else:
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.分割
user_info = "alex sb123 9"
# v = user_info.split('|')
# v = user_info.split('|',1)
# v = user_info.rsplit(' ',1)
e.长度(字符)
val = "李杰sb"
v = len(val)
print(v)
f.索引
val = "李杰sb"
v = val[0]
print(v) val = input('>>>')
i = 0
while i < len(val):
print(val[i])
i += 1
g.切片
name = '我叫李杰,性别我今年岁,我在说谎!'
print(name[0])
print(name[0:2])
print(name[5:9])
print(name[5:])
print(name[5:-2])
print(name[-2:])
9.列表
创建:
a = ['json','狗','eric',123]
a = list(['json','狗','eric',123])
in判断
if 'al' in a:
pass
if 'al' in a[0]:
pass
索引
val = a[0]
长度
val = a[0]
切片
a = ['alex','狗','eric',123]
v = a[0::2]
print(v)
追加
a = ['alex','狗','eric',123]
a.append('xxoo')
print(a)
插入
a = ['alex','狗','eric',123]
a.insert(0,'牛')
print(a)
删除
a = ['alex','eric','狗','eric',123]
# a.remove('eric')
del a[0]
print(a)
更新
a = ['alex','eric','狗','eric',123]
a[1] = '阿斯顿发送到'
print(a)
for循环
a = ['alex','eric','狗','eric',123]
for item in a:
print(item)
# break
# continue
10.字典
创建:
v = {
'name': 'alex',
'password': ''
}
索引获取值
n = v['name']
print(n)
增加,无,增加;有,修改
v['age'] = 19
print(v)
删除
del v['name']
print(v)
循环
for item in v.keys():
print(item)
for item in v.values():
print(item)
for key,val in v.items():
print(key,val)
相互嵌套
user_dict = {
'k1': 'v1',
'k2': {'kk1':'vv1','kk2':'vv2'},
'k3': 123,
'k4': ['alex','eric',['a','b','c'],'李永乐',{'k11':'vv1'}],
}
user_dict['k4'][2].append('')
user_dict['k4'][4]['n'] = '李明'
应用:
user_list = [
{'name':'alex','pwd':'','times':1},
{'name':'eric','pwd':'','times':1},
{'name':'tony','pwd':'','times':1},
]
user = input('用户名:')
pwd = input('密码:')
for item in user_list:
if user == item['name'] and pwd == item['pwd']:
print('登录成功')
break
11.文件操作
打开并读取
f1 = open('db','r')
data = f1.read()
f1.close()
print(data)
清空并写入
f2 = open('db','w')
f2.write(target)
f2.close()
Python基础之(判断,循环,列表,字典)的更多相关文章
- python基础一 -------如何在列表字典集合中根据条件筛选数据
如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...
- python基础一数据类型之列表
摘要: python基础一中写到列表,那么这篇主要讲列表. 1,定义列表 2,列表.元祖.字符串都属于序列,都可以用用索引和切片. 3,列表的方法 1,定义列表 list1 = ['a','b',1, ...
- Python基础【while循环】
Python基础[while循环] 1.while循环: 格式 while 条件: ...... print(......) 注意,在while语句也可以嵌套else,但是else不执行循环,执行后直 ...
- python基础练习,循环、列表、字典、数组
# encoding: utf-8 ''' @author: mark @file: 20200214.py @time: 2020/2/14 14:21 @software: PyCharm ''' ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- Python基础 条件判断和循环
pyhton if 语句 if 语句后接表达式,然后用: 表示代码块. age = 20 if age >= 18: print 'your age is', age print 'adult' ...
- Python基础:序列(列表、元组)
一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...
- python基础条件和循环
一.if语句 1.if后表达式返回值为true则执行其子代码块,然后此if 语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if 2.expression可以引入运算符:not,a ...
- python基础--字符串操作、列表、元组、文件操作
一.变量及条件判断 1.字符串.布尔类型.float.int类型,None都是不可变变量 2.字符串是不可变变量,不可变变量就是指定义之后不能修改它的值 3.count +=1和count=count ...
- python数据类型详解及列表字典集合推导式详解
一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a ...
随机推荐
- python学习之IO:
输入输出兼程IO操作,有同步(速度不匹配时四等)和异步(轮询和消息通知,复杂而高效) 一 文件操作函数: 文件打开:f=open("文件路径“,“操作类型 r/rb/w/a”,"编 ...
- C. Anton and Making Potions 贪心 + 二分
http://codeforces.com/contest/734/problem/C 因为有两种操作,那么可以这样考虑, 1.都不执行,就是开始的答案是n * x 2.先执行第一个操作,然后就会得到 ...
- ztr loves lucky numbers 傻逼的我来了个大模拟
http://acm.hdu.edu.cn/showproblem.php?pid=5676 这题的正解因该是dfs的,但是有18个位,然后我一算,全排列的话,有18!个啊,那不是很大?但是有很多是相 ...
- js 学习网站
1. Mozilla Developer Network(MDN) 这里你可以找到官方的完整的javascript参考,还有许多有用的指导,教程以及文章,从基本javascript使用到最佳实践以及 ...
- github入门之创建仓库--3
1.登陆到github,点击加号中的New repository 2.设置仓库信息 *注: ------Description:添加仓库说明,不是必填项 ------Public.Private:选择 ...
- watchguard 软件工程师内部招聘!
作为watchguard正式员工,现发布公司最近的招聘信息,待遇优厚,请符合条件的朋友和我联系并将简历发给我,我会尽早联系公司人力部门. 我的邮件:daibao91888@163.com 博客:htt ...
- HDU 4291 A Short problem 短问题 (递推,找规律)
题意: 给出递推式 g(n) = 3g(n - 1) + g(n - 2),且g(1) = 1,g(0) = 0.求g( g( g(n))) mod 109 + 7. 思路: 要求的g( g( g(n ...
- 10个优秀的移动Web应用开发框架
在最近几年里,移动互联网高速发展.市场潜力巨大.继计算机.互联网之后,移动互联网正掀起第三次信息技术革命的浪潮,新技术.新应用不断涌现.今天这篇文章向大家推荐10大优秀的移动Web开发框架,帮助开发者 ...
- hadoop中修改端口号
1.hdfs-site.xml 这里修改hdfs相关的端口. 1 <property> 2 <name>dfs.namenode.scondary.http-address&l ...
- const、let、var的区别
const不能从字面上来理解,他不能修改的是栈内存在的值和地址. 使用const声明的是常量,在后面出现的代码中不能再修改该常量的值. 怎么理解栈内存在的值和地址呢?就要从javascript的类型说 ...