目录:

  • python循环
  • 三元运算
  • 字符串
  • 字典
  • 文件操作基础

一、python编程

  在面向过程式编程语言的执行流程中包含:

    顺序执行

    选择执行

    循环执行

  1.  if是条件判断语句;if的执行流程属于选择执行;if语句有三种格式,如下:

      在多分支的if表达式中,即使多个条件同时为真,也只会执行一个,首先测试为真;

  •  选择执行

      单分支的if语句
        if CONDITION:
          条件为真分支
        
      双分支的if语句
        if CONDITION
          条件为真分支
        else
          条件不满足时分支

      多分支的if语句
        if CONDITION1
          条件1为真分支
        elif CONDITION2
          条件2为真分支
        elif CONDITION3
          条件3为真分支
          ...
        elif CONDITIONn
          条件n为真分支
        else
          所有条件均不满足时的分支

    示例:

     

age = 56
guess_num = int(input('your guess num: ')) if guess_num == 56:
print('Congratulations, you got it')
elif guess_num > age:
print('try smaller...')
else:
print('try bigger...')
  •  循环执行

   for循环:

     for循环是遍历文件中的每个元素来实现循环;元素遍历完成即退出循环;

   示例:

       

>>> for i in range(10):

    print(i)
...
0
1
2
3
4
5
6
7
8
9

   while循环:

     是计算机编程语言中的一种控制流程语句。主要由一个代码块(作为循环体)和一个表达式(作为循环条件)组成,表达式为布尔(boolean)型。循环体内的代码执行一次后,程序会去判断这个表达式的返回值,如果这个表达式的返回值为“true”(即满足循环条件)时,则循环体内的代码会反复执行,直到表达式的返回值为“false”(即不满足循环条件)时终止。程序会在每次循环体每执行一次后,进行一次表达式的判断。

    示例:

      

count = 0
while True:
print(count)
if count > 9:
break
count+=1 0
1
2
3
4
5
6
7
8
9
10

  循环进入与退出的条件:

  for循环

    进入条件:列表元素非空

    退出条件:列表元素遍历完成

  while循环

    进入条件:条件测试结果为真

    退出条件:条件测试结果为假

  

  循环控制语句:

    continue:  跳出本轮循环,进入下一轮循环;

    break: 跳出当前层整个循环;

  示例:

    

for i in range(10):
if i == 5: #表示如果循环时i等于5,如果是continue则直接跳过本轮循环,不进行打印
continue
print(i) 0
1
2
3
4
6
7
8
9
for i in range(10):
if i == 5:
for j in range(10,20):
if j == 16:
break #循环时j等于16,使用break则跳出本层循环,而不会跳出整个循环;
print(j)
print(i) 0
1
2
3
4
10
11
12
13
14
15
5
6
7
8
9

  注:在python中pass表示占位符的意思;  

  2.  三元运算:

    三目运算符,计算机c语言的重要组成部分。条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。

    <表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。

  示例:

a = 10
b = 15
c = a+b if a<b else a-b
print(c) 25

  3.  元组

  元组只有index与count两个方法;元组是不可变的;又名只读列表;

  示例:

tup=('mac','jack','bike','bike','iphone')
print(tup.count('bike'))
print(tup.count('jack'))
print(tup.index('iphone')) 2
1
4

  4. 字符串

  字符串是不可改变的;python中一个字符串或一个列表或列表中一个元素就是一个对象;在python中所有方法都是通过.来进入调用的;

示例:

>>> name = 'hsggj'
>>> name.index('s') #查找索引位置
1 >>> name.capitalize() #首字母成大写
'Hsggj' >>> name='Hsggj Guo'
>>> name.casefold() #大写全部替换成小写
'hsggj guo' >>> name.count('g') #统计字数
2 >>> name.find('Gu') #查找的意思,找到则返回位置,找不到则返回-1
6 >>> name.endswith('uo') #是否以uo结束,如果是则打印True,否则打印False
True >>> name='hsggj\tguo'
>>> name.expandtabs(20) #expandtabs是替换\t的空格数,20表示20个空格
'hsggj guo' 字符替换的两种方法:
>>> msg='my name is {0}, and i am {1} years old'
>>> msg.format('hsggj',22)
'my name is hsggj, and i am 22 years old' >>> msg1='my name is {name}, and i am {age} years old'
>>> msg1.format(age=22,name='hsggj')
'my name is hsggj, and i am 22 years old' >>> name='hsggj'
>>> name1='My Name Is Hsggj'
>>> d=''
>>> 'ad'.isalpha() #表示是否为字符串
True >>> name.isalpha() #表示是否为字符串
True >>> 'a2d'.isalnum() #是否为字符串和数字
True >>> name.isalnum() #是否为字符串和数字
True >>> d.isdigit() #是否为数字
True >>> name.isidentifier() #变量名是否合法
True >>> name.isupper() #是否全大写
False >>> name.islower() #是否全小写
True >>> d.isdecimal() #是否包含十进制数字
True >>> d.isnumeric() #是否只包含数字,包括十进制数字和其它特殊数字
True >>> name.isprintable() #是否可打印
True >>> name1.istitle() #是否为一个title
True >>> l1=['mac','jack','bike']
>>> ','.join(l1) #将列表替换成字符串
'mac,jack,bike' >>> name.ljust(20,'-') #左对齐字符串,最右边填充‘-’
'hsggj---------------' >>> name.rjust(20,'-') #右对齐字符串,最左边填充‘-’
'---------------hsggj' >>> name.center(20,'-') #字符串居中,两边填充‘-’
'-------hsggj--------' >>> name2=' hsggj \n'
>>> name2.strip() #字符串两边去除空白
'hsggj' >>> name2.lstrip() #字符串左边去除空白
'hsggj \n' >>> name2.rstrip() #字符串右边去除空白
' hsggj' >>> name = 'hsggj guo'
>>> name.replace('gg','DDDDD') #对字符串进行匹配并替换
'hsDDDDDj guo' >>> name.split('s') #将字符串替换成列表,以s分割
['h', 'ggj guo'] >>> name.zfill(20) #返回一个长度为20的字符串,最左边填充0
'00000000000hsggj guo'

字符串的简单加密:

from_str = "!@#$%^"
to_str = "hjklmn"
trans_table = str.maketrans(to_str,from_str)
print("hsggj".translate(trans_table)) !sgg@

  5. 字典

>>> d1 = {
... 'stu1':'hsggj',
... 'stu2':'jack',
... 'stu3':'mac'
... }
>>> d1.get('stu1','sss') #如果有值则返回,无值则返回sss
'hsggj' >>> d1.keys() #返回所有的key
dict_keys(['stu1', 'stu3', 'stu2']) >>> d1.items() #返回所有的键值
dict_items([('stu1', 'hsggj'), ('stu3', 'mac'), ('stu2', 'jack')]) >>> d1.values() #返回所有的值
dict_values(['hsggj', 'mac', 'jack']) >>> d1.pop('stu2') #删除stu2
'jack' >>>print(d1.setdefault('stu6','wss')) #如果有则返回,没有则返回wss
wss #字典的增加
>>> d1['stu4'] = ['tom',25,'cat']
>>> print(d1)
{'stu1': 'hsggj', 'stu4': ['tom', 25, 'cat'], 'stu3': 'mac', 'stu2': 'jack'} #字典的修改
>>> d1['stu4'][0] = 'TOM'
>>> print(d1)
{'stu1': 'hsggj', 'stu4': ['TOM', 25, 'cat'], 'stu3': 'mac', 'stu2': 'jack'} #字典的删除
>>> print(d1.pop('stu5','sss'))
sss
>>> print(d1.pop('stu2','sss'))
jack
>>> print(d1)
{'stu1': 'hsggj', 'stu4': ['TOM', 25, 'cat'], 'stu3': 'mac'}
>>>print(d1.popitem()) #随机删除
('stu1', 'hsggj') #字典中值的替换
>>> print(dict.fromkeys(d1,1))
{'stu1': 1, 'stu4': 1, 'stu3': 1}
>>> print(dict.fromkeys(d1,'hsggj'))
{'stu1': 'hsggj', 'stu4': 'hsggj', 'stu3': 'hsggj'} #字典的合并
>>>d2 = {'stu6':'TOM',1:333,3:888}
d1.update(d2)
print(d1) >>>{1: 333, 3: 888, 'stu3': 'mac', 'stu1': 'hsggj', 'stu6': 'TOM', 'stu2': 'jack'} #字典中的浅复制
(浅复制只能复制第一层,不能复制第二层,第二层的id是不一样的,但第二层的id是一样的;
>>>n3 = dict.fromkeys(d1,1)
n3['stu1'] = 2
print(n3)
>>>{'stu3': 1, 'stu2': 1, 'stu1': 2} 1659162384 1659162352 >>>n3 = dict.fromkeys(d1,[1,2,3])
n3['stu2'][2] = 9
print(n3)
>>>{'stu3': [1, 2, 9], 'stu2': [1, 2, 9], 'stu1': [1, 2, 9]} 2620113945224 2620113945224

   6. 字典的循环

d1 = {
'stu1':'hsggj',
'stu2':'jack',
'stu3':'mac'
} for key in d1:
print(key,d1[key]) stu2 jack
stu1 hsggj
stu3 mac for k,v in d1.items():
print(k,v) stu2 jack
stu1 hsggj
stu3 mac 注:第一种效率要比第二种高,第二种在执行循环的时候要先把字典转换成元组后再进行遍历,文件按G来算其实效率光转换就很慢了

   7. 浅复制与深复制

    

import copy

d1 = {'name':'tom','acc':{'id':3333,'blance':1000}}
d2 = d1.copy()
d3 = copy.deepcopy(d1)
d3['name'] = 'jerry'
print(d1,d2,d3) {'name': 'tom', 'acc': {'blance': 1000, 'id': 3333}} {'name': 'tom', 'acc': {'blance': 1000, 'id': 3333}} {'name': 'jerry', 'acc': {'blance': 1000, 'id': 3333}} d2['name'] = 'jack'
print(d1,d2,d3) {'name': 'tom', 'acc': {'blance': 1000, 'id': 3333}} {'name': 'jack', 'acc': {'blance': 1000, 'id': 3333}} {'name': 'jerry', 'acc': {'blance': 1000, 'id': 3333}} d1['acc']['blance']-=300
print(d1,d2,d3) {'name': 'tom', 'acc': {'blance': 700, 'id': 3333}} {'name': 'jack', 'acc': {'blance': 700, 'id': 3333}} {'name': 'jerry', 'acc': {'blance': 1000, 'id': 3333}} d3['acc']['blance']-=100
print(d1,d2,d3) {'name': 'tom', 'acc': {'blance': 700, 'id': 3333}} {'name': 'jack', 'acc': {'blance': 700, 'id': 3333}} {'name': 'jerry', 'acc': {'blance': 900, 'id': 3333}} d2['acc']['blance']-=500
print(d1,d2,d3) {'name': 'tom', 'acc': {'blance': 200, 'id': 3333}} {'name': 'jack', 'acc': {'blance': 200, 'id': 3333}} {'name': 'jerry', 'acc': {'blance': 900, 'id': 3333}} #d1与d2随着对方的blance减少而减少,而d3则减少一次就再也没有变化过,这就是深复制与浅复制

  7. 文件操作

f = open('a.txt')
关于open 模式: w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ ) f.replace(old,new) #内容替换
f.close() #关闭文件并保存
f.flush() #缓存刷写到硬盘上
f.read() #读取文件所有行
f.readline() #读取文件一行
f.readlines() #读取文件所有内容,包含特殊字符
f.write(str) #把str写入到文件中
  
 

  

  

python基础:python循环、三元运算、字典、文件操作的更多相关文章

  1. python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域

    上节课总结 1 运算符 in 字符串 判断  : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...

  2. Python 自学基础(一)——元组 字典 文件操作

    格式化输出 name = input("请输入你的名字:") age = input("请输入你的年龄:") msg = ''' -------------in ...

  3. python基础——6(字符编码,文件操作)

    今日内容: 1.字符编码: 人识别的语言与机器识别的语言转化的媒介 *****     2.字符与字节: 字符占多少字节,字符串转化 ***     3.文件操作: 操作硬盘中的一块区域:读写操作  ...

  4. python 基础学习笔记(5)--文件操作

    **python 的文件操作** - [ ] 使用python来读写文件是非常简单的操作,我们使用open()来打开一个文件,获取到文件的语柄,然后通过文件语柄就可以进行各种各样的操作了. - [ ] ...

  5. python基础-第四篇-4.2文件操作

    基本打开模式 文件操作的流程:打开文件,操作文件,关闭文件 打开文件方法:open(文件名,模式,编码) file = open(‘文件名’) 模式在不给值的情况下,默认为只读,而且如果是非当前的目录 ...

  6. 文件操作 - 三元运算/chardet/文件操作r w/文件的操作方法

    Alex:读书可以改变一个人的气质读书:豆瓣: 1年读20本 你的问题:想法太多,读书太少 书:追风筝的人,白鹿原  电影:阿甘正传 辛德勒名单---------------------------- ...

  7. Python基础【第十一篇】文件操作(file()、open()方法和fileinput模块)

    一.file/open 内置函数 file函数的方法: 注:file 和 open的用法和功能相同这里只对file进行分析 file(‘filename’,’mode’) file(‘filename ...

  8. Python基础6--函数、类和文件操作

    1 def name(para) def myabs(x): if x>0: return x else: return -x 2 lambda表达式 用于声明匿名函数,既没有名字的小函数 f ...

  9. Python基础-列表、元组、字典、字符串

    Python基础-列表.元组.字典.字符串   多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...

  10. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

随机推荐

  1. 在spring的业务层获取request,response

    1.直接通过controller层获取到传输到业务层2.SpringMVC提供的RequestContextHolder可以直接获取代码: RequestAttributes requestAttri ...

  2. three.js效果之热力图和轨迹线

    1.热力图 开始的时候,是用一个网上找的canvas画渐变热点的demo,原理就是给定顶点坐标,然后画圆,颜色使用渐变色,根据权重决定渐变的层数(红色->橙色->绿色) . 但是终究觉得这 ...

  3. SpringCloud+Eureka快速搭建微服架构

    什么是springcloud? Springcloud是一个微服务框架,相比dubbo等,springcloud提供全套的分布式系统解决方案. Eureka是什么? Eureka是netflix的一个 ...

  4. PI膜热作用机理

    一.热分析法: 二.研究成果 1.PI膜热老化机理 实验条件:8根500w的碘钨灯加热,200倍光学显微镜观察,PI膜的技术指标 实验概述:本研究分别以150 ℃ ,  175 ℃ , 200 ℃ , ...

  5. TensorFlow-cpu优化及numpy优化

    1,TensorFlow-cpu优化 当你使用cpu版TensorFlow时(比如pip安装),你可能会遇到警告,说你cpu支持AVX/AVX2指令集,那么在以下网址下载对应版本. https://g ...

  6. Attention is all you need 详细解读

    自从Attention机制在提出之后,加入Attention的Seq2Seq模型在各个任务上都有了提升,所以现在的seq2seq模型指的都是结合rnn和attention的模型.传统的基于RNN的Se ...

  7. 【DSP开发】DSP程序优化

    此文是在http://blog.csdn.net/guanchanghui/article/details/1181851基础上,通过自己的学习理解修改而来.暂且算作是自己的原创吧.如有侵权,联系,立 ...

  8. TP5 isEmpty() 判空方法 所用场景

    1, { }类型 { "id": 1, "name": "首页置顶", "description": "首页轮 ...

  9. 吉首大学2019年程序设计竞赛(重现赛)- A SARS病毒 (矩阵,欧拉降幂)

    题目链接:https://ac.nowcoder.com/acm/contest/992/A 题意:求出长度为n的字符串个数,字符串由A.C.G.T组成,其中A和C必须成对出现. 思路:我们规定:   ...

  10. X86逆向8:向程序中插入新区段

    本节课我们不去破解程序,本节课学习给应用程序插入一些代码片段,这里我就插入一个弹窗喽,当然你也可以插入一段恶意代码,让使用的人中招, 这里有很多原理性的东西我就不多罗嗦了毕竟是新手入门教程,如果想去了 ...