python记忆式键入_Python基础

一。基础

1.输出与输入:

输出:print(变量/字符串)

输入:input() 返回的是字符串

price=input()

print(price)

2.python风格

(1)注释 #

(2)一般情况是一行结束该句结束,但是如果想要续行,在行的结尾加上 \

(3)无需换行符也可以换行的符号:'''

(4)一行可以有多条语句,

3.标识符

基本和java类似,同时也区分大小写

关键字:

4.表达式

(1)根据值确定类型

(2)以”引用“的方式实现赋值

(3)增量操作符:+=  -=  *=  /=  %=  ** =  <<=  >>=  &=  ^=  |=

5.python数据类型

(1)(长)整型:整型和长整型并不严格区分,整型值后加“ L”即为长整型

(2)布尔型:仅有2个值:True、 False,本质上是用整型的1、 0分别存储的

(3)浮点数:即数学中的实数,可以类似科学计数法表示

(4)复数型:实数+虚数 就是复数,虚数部分必须有j

复数可以分离实数部分和虚数部分:复数.real  复数.imag

复数的共轭:复数.conjugate()

(5)字符串:单引号、双引号、三引号内的都是字符串,不可变类型

(6)列表:强大的类型,用方括号 [] 界别,可变类型

(7)元组:与列表相似,用小括号 () 界别,不可变类型

(8)映射类型 字典:用大括号 {} 界别,类似于哈希表的键值对

6 运算符

乘方**、正负号+ -、乘除* /、整除//、 取余%、加减+ -

整型除法返回浮点数,要得到整型结果使用//

7.比较运算

数值的比较:按值比大小

字符串的比较:按ASCII码值大小

不等于只用“ !=”表示,不支持“ <>”

8.逻辑运算:

逻辑运算符优先级:not、 and、 or

9.字符运算符:

原始字符串操作符 (r / R):– 用于一些不希望转义字符起作用的地方

Unicode 字符串操作符( u / U ):– 转换成Unicode字符串

f = open(r'c:\python\test.py','w') #不会报错

f = open('c:\python\test.py','w') #会报错

10 内建函数

内建函数不需要import就可以使用,而非内建函数则需要import

from math import *

print(floor(-35.4))

Python通常用“ import 模块”的方式将现成模块中的函数、类等重用到其他代码块中

import math

print(math.pi)

导入多个模块

import ModuleName1, ModuleName2, …

模块里导入指定的模块属性,也就是把指定名称导入到当前作用域

from Module1 import ModuleElement

11 包

一个有层次的文件目录结构,定义了一个由模块和子包组成的 Python 应用程序执行环境

#方式一

import AAA.CCC.c1

AAA.CCC.c1.func1(123)

#方式二

from AAA.CCC.c1 import func1

func1(123)

12库

库是一组具有相关功能的模块的集合

二。面面观

(1)range用来生成一个真是的列表

range (start, end, step=1)

range (start, end)

range (end)

(2)for循环

①iterator_object 可以是String List Tuple Dictionary File

for i in iterator_object:

print(i)

②法二

for count in range(0,5):

print(count)

(3)自定义函数的创建

函数名加上函数运算符, 一对小括号

– 括号之间是所有可选的参数

– 即使没有参数, 小括号也不能省略

def addMe2Me(x):

return (x+x)

函数的参数可以有一个默认值, 如果提供有默认值,在函数定义中,默认参数以赋值语句的形式提供,并且默认参数的值可以改变,默认参数一般都放在参数列表的最后,

函数可以像参数一样传递给另外一个函数

def f(y,x = True):

if x:

print 'x is a correct word'

print 'OK'

>>> f (68)

68 x is a correct word

OK

>>> f(68,False)

OK

>>> f(x=True,y=16) #允许改变参数列表中的参数顺序

匿名函数

>>> r = lambda x : x + x

>>> r(5)

10

(4)全局变量和局部变量

全局变量是声明在函数外边的变量,局部变量是声明在函数体内部的变量。

全局变量和局部变量可以使用相同的名字

在函数体内部可以使用global语句来强调全局变量

三。本地文件获取

(1)文件操作

对文件的操作也就那么几种,打开文件,对文件进行读或者写,然后关闭文件

首先打开文件

file_obj = open(filename, mode='r', buffering=-1)

#mode为可选参数,默认值为r

#buffering也为可选参数,默认值为-1(0代表不缓冲,1或大于1的值表示缓冲一行或指定缓冲区大小)

– f.read(), f.write(), f.readline(), f.readlines(), f.writelines()

– f.close()

– f.seek()

file_obj.read(size)− 从文件中至多读出size字节数据,返回一个字符串

file_obj.read()− 读文件直到文件结束,返回一个字符串

demo:把一个文件的内容读到另一个文件

f1= open(r'companies.txt')

cNames = f1.readlines()

for i in range(0,len(cNames)):

cNames[i] = str(i+1) + ' ' + cNames[i]

f1.close()

f2 = open(r'scompanies.txt','w')

f2.writelines(cNames)

f2.close()

file_obj.seek(offset , whence=0)

− 在文件中移动文件指针,从whence(0表示文件头部,1表示当前位置,2表示文件尾部)偏移offset个字节

- whence参数可选,默认值为0

(2)获取网络数据

import urllib.request

import re

dBytes = urllib.request.urlopen('https://hk.finance.yahoo.com/q/cp?s=%5EDJI').read()

dStr = dBytes.decode() #在python3中urllib.read()返回bytes对象而非str,语句功能是将dStr转换成str

m = re.findall('

(.*?)(.*?).*?(.*?).*?', dStr)

if m:

print(m)

print ('\n')

print (len(m))

else:

print ('not match')

#re系列:

#re.match 尝试从字符串的开始匹配一个模式,如果匹配成功,则返回一个Match,否则返回一个None;

#re.search函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回,如果字符串没有匹配,则返回None。

#re.sub用于替换字符串中的匹配项

#re.split来分割字符串,如:re.split(r'\s+', text);将字符串按空格分割成一个单词列表

#re.findall可以获取字符串中所有匹配的字符串。如:re.findall(r'\w*oo\w*', text);获取字符串中,包含'oo'的所有单词。

#re.compile可以把正则表达式编译成一个正则表达式对象。可以把那些经常使用的正则表达式编译成正则表达式对象,这样可以提高一定的效率。

import re

text = "JGood is a handsome boy, he is cool, clever, and so on..."

regex = re.compile(r'\w*oo\w*')

print regex.findall(text) #查找所有包含'oo'的单词

print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。

import re text = "JGood is a handsome boy, he is cool, clever, and so on..."

regex = re.compile(r'\w*oo\w*') print regex.findall(text) #查找所有包含'oo'的单词 print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。

(3)序列

序列包括字符串(Strings),元组(Lists),列表(Tuples)

str = 'Hello, World!'

aList = [2, 3, 5, 7, 11]

aTuple = ('Sunday', 'happy' )

pList = [('AXP', 'American Express Company', '86.40'),('BA', 'The Boeing Company', '122.64'),('CAT', 'Caterpillar Inc.', '99.44'),

('CSCO', 'Cisco Systems, Inc.', '23.78')('CVX', 'Chevron Corporation', '115.91')]

序列的访问模式

元素从0开始通过下标偏移量访问

一次可访问一个或多个元素

序列相关操作

标准类型运算符:值比较(,<=,>=,==,!=),对象身份比较(is,is not),布尔运算(not,and,or)

>>> 'apple' < 'banana'

True

>>> [1,3,5] != [2,4,6]

True

>>> aTuple = ('BA', 'The Boeing Company', '122.64')

>>> bTuple = aTuple

>>> bTuple is not aTuple

False

>>> ('86.40' < '122.64') and ('apple' > 'banana')

False

序列类型运算符:获取,重复,连接,判断

x in s,x not in s,s + t,s * n, n * s,s[i],s[i:j],s[i:j:k]

>>> week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

>>> print week[1], week[-2], '\n', week[1:4], '\n', week[:6], '\n', week[::-1]

Tuesday Saturday

['Tuesday', 'Wednesday', 'Thursday']

['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

['Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']

>>> 'apple' * 3

'appleappleapple'

>>> 'pine' + 'apple'

'pineapple'

>>> 'BA' in ('BA', 'The Boeing Company', '122.64')

True

内建函数:序列类型转换工厂函数(list() str() basestring() tuple()),序列类型可用内建函数(enumerate() reversed() len() sorted() max() sum() min() zip())

>>> list('Hello, World!')

['H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!']

>>> tuple("Hello, World!")

('H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!')

>>> aStr = 'Hello, World!'

>>> len(aStr)

13

>>> sorted(aStr)

[' ', '!', ',', 'H', 'W', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r']

(4)字符串

首先是字符串的遍历

# Filename: puncount.py

aStr = "Hello, World!"

bStr = aStr[:7] + "Python!"

count = 0

for ch in bStr[:]:

if ch in ',.!?':

count += 1

print('There are %d punctuation marks. ' % (count))

           

判断一个字符串是不是回文

sStr = "acdhdca"

if (sStr == ''.join(reversed(sStr))):

print('Yes')

else:

print ('No')

字符串的方法

(5)列表

列表可以包含可扩展的容器的对象

>>> aList = list('Hello.')

>>> aList

['H', 'e', 'l', 'l', 'o', '.']

>>> aList = list('hello.')

>>> aList

['h', 'e', 'l', 'l', 'o', '.']

>>> aList[0] = 'H'

>>> aList

['H', 'e', 'l', 'l', 'o', '.']

可以包含不同类型的对象

>>> bList = [1,2,'a',3.5]

列表中的函数

#demo1

jScores = [9, 9, 8.5, 10, 7, 8, 8, 9, 8, 10]

aScore = 9

jScores.sort() //列表排序

jScores.pop()  //去掉列表的最高分和最低分

jScores.pop(0)  //去掉列表的最低分

jScores.append(aScore)  //列表后边追加元素

aveScore = sum(jScores)/len(jScores) //求列表中元素的平均值

print aveScore

#demo2

week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

weekend = ['Saturday', 'Sunday']

week.extend(weekend)

for i,j in enumerate(week):

print i+1, j

Output:

1 Monday

2 Tuesday

3 Wednesday

4 Thursday

5 Friday

6 Saturday

7 Sunday

列表中的方法:

append() count() extend() index() insert() pop() remove() reverse() sort()

列表解析,动态创建列表

>>> [x for x in range(10)]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> [x ** 2 for x in range(10)]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

>>> [x ** 2 for x in range(10) if x ** 2 < 50]

[0, 1, 4, 9, 16, 25, 36, 49]

>>> [(x+1,y+1) for x in range(2) for y in range(2)]

[(1, 1), (1, 2), (2, 1), (2, 2)]

(6)元组

列表元素可以改变,元组元素不可以改变

>>> aList = ['AXP', 'BA', 'CAT']

>>> aTuple = ('AXP', 'BA', 'CAT')

>>> aList[1] = 'Alibaba'

>>> print aList

>>> aTuple1[1]= 'Alibaba'

>>> print aTuple

['AXP', 'Alibaba', 'CAT']

aTuple[1]='Alibaba'

TypeError: 'tuple' object does not support item assignment

元组用在什么地方:

在映射类型中当作键值使用,函数的特殊类型参数,作为很多内建函数的返回值

元组作为函数的形式参数:

>>> def func(args1, *argst):

print args1

print argst

>>> func('Hello,','Wangdachui','Niuyun','Linling')

Hello,

('Wangdachui', 'Niuyun', 'Linling')

元组作为函数的常见返回类型:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用动软代码生成器的注意事项

使用动软代码生成器的注意事项 C# 2011-01-17 21:58:39 阅读21 评论0 字号&#xff1a;大中小 订阅 使用动软代码生成器的注意事项 工厂模式&#xff1a; 一、利用动软生成项目&#xff0c;设置顶级命名空间。二、打开所生成的项目&#xff0c;检查每一层是否为独立的程序集…

html5视差滚动效果,视差滚动效果

插件描述&#xff1a;制作视差滚动效果The meat and potatoes. Invoking these will move that page in from that side.parallax.bar.left(); //Bar slides in from the leftparallax.foo.top(); //bringing back foo from the topparallax.bar.bottom(IAmBack()); //We got c…

Oracle--基础

Oracle数据库的体系结构 数据库: databaseOracle数据库是数据的物理存储,和mysql不一样的是,只要我们愿意,我们就可以在mysql下创建任意的数据库,每个新项目的启动,创建一个数据库,然后通过showdatabases可以查看到全部数据库,但是Oracle的数据库是一个操作系统只有一个库,说白…

python自动化测试常见面试题二_思考|自动化测试面试题第二波

本内容为企业面试关于自动化测试的考题&#xff0c;大家可以自己思考下如何作答&#xff0c;欢迎把答案留言到本文下方哦。问题1&#xff1a;设计接口测试⽤用例例时&#xff0c;涉及的是电商系统&#xff0c;其中包括很多修改&#xff0c;如商品、商家、店铺等等&#xff0c;针…

html动态跟随鼠标效果,使用JS实现气泡跟随鼠标移动的动画效果

气泡跟随鼠标移动&#xff0c;并在每次点击时产生不同的变化效果如下简单的气泡效果body{background-color:#000000;margin:0px;overflow:hidden}var canvas document.createElement(canvas),context canvas.getContext(2d),windowW window.screen.width ,windowH window.s…

raspberry ssh 允许 root 登录

参考链接 csdn 转载于:https://www.cnblogs.com/eat-too-much/p/11153213.html

python开发转行做数据分析_转行学IT,Java、Python、大数据选择学哪个发展好?

对薪资不满意、担心自己以后不好找工作&#xff0c;不少人都会选择参加培训&#xff0c;转行IT行业。当然很多想要转行IT的人&#xff0c;都会犹豫选择哪门编程语言学习比较好&#xff0c;Python、Java、大数据作为比较热门行业技术&#xff0c;不少人都很疑惑转行学Java、Pyth…

html显示线条流动效果,css3实现线条流动效果

1实现原理&#xff1a;通过animation中的clip实现对div的不断切割首先要弄懂clip的含义&#xff0c;四个参数分别是上右下左&#xff0c;以上和左为标准。clip使用的前提是元素绝对定位。本来想实现这样效果看起来是需要3个div&#xff0c;但是根据前人的经验&#xff0c;使用b…

mysql 解析sql文件

简介 如何使用 本地mysql 解析sql文件 方法 参考链接 cnblogs 看三.创建数据库 参考链接 runoob 看选择数据库 参考链接 cnblogs 看往mysql中导入SQL文件 转载于:https://www.cnblogs.com/eat-too-much/p/11153383.html

html的数据类型有哪些,数据库数据类型有哪些

MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型&#xff0c;大致可以分为三类&#xff1a;数值、日期/时间和字符串(字符)类型。推荐教程&#xff1a;MySQL入门视频教程一、数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类…

2021 河南 高考成绩查询,2021河南高考成绩查询入口

随着高考结束&#xff0c;高考阅卷工作陆续启动&#xff0c;已有多个省份公布了查分时间&#xff0c;那我们知道河南高考时间是什么时候嘛?下面是小编整理2021河南高考成绩查询入口_2021河南高考查分时间公布&#xff0c;仅供参考&#xff0c;希望能够帮助到大家。2021河南高考…

人脸检测算法_腾讯已开源高精度人脸检测算法DSFD

腾讯提出一种高精度双分支人脸检测器DSFD并开源。该算法曾在全球两大权威人脸检测数据集WIDERFACE和FDDB上均取得了第一。任务介绍人脸检测算法是在图像上检测出人脸的位置(通常以矩形框形式输出)&#xff0c;是人脸配准、人脸属性识别、人脸核身、人脸检索等技术的基础。随着人…

java之struts2之数据检验

1.使用struts2时&#xff0c;有时候需要对数据进行相关的验证。如果对数据的要求比较严格&#xff0c;或对安全性要求比较高时&#xff0c;前端 js 验证还不够&#xff0c; 需要在后端再进行一次验证&#xff0c;保证数据的安全性。 2.struts2提供了两种机制来进行后端的数据验…

sdk开发包如何使用_SDK如何使能行业?华为昇腾要用软件充分释放硬件性能

谈及落地&#xff0c;软件永远是激发硬件性能的核心。自AI出现&#xff0c;围绕传统产业“智能化转型”的探讨就一直没有停下。而随着“新基建”口号的喊出&#xff0c;工业制造等场景的智能化进程更是被加上了助推器。以智能制造为例&#xff0c;依据Markets报告所预计的&…

vue入门:(组件)

模板&#xff1a;&#xff08;template&#xff09;模板声明了数据和最终展现给用户的DOM之间的映射关系。初始数据&#xff1a;&#xff08;data&#xff09;一个组件的初始数据状态。对于可复用的组件来说&#xff0c;通常是私有的状态。接收外部参数&#xff1a;&#xff08…

鹿邑2021高考成绩查询,鹿邑中考成绩查询2021

2021鹿邑中考成绩查询时间方法&#xff1a;91中考网消息&#xff1a;2021年鹿邑中考即将开始&#xff0c;在中考后&#xff0c;广大考生最关心的无疑就是中考成绩查询方法、鹿邑中考成绩什么时候公布&#xff1f;&#xff0c;根据往年经验&#xff0c;小编收集整理了2021鹿邑中…

excel删除行 uipath_学会这8个Excel神技巧,轻松告别零基础!

无论你是个学生还是职场中人&#xff0c;谁不知道Excel呢&#xff1f;尤其是办公一族&#xff0c;总是不可避免会使用到Excel。下面小电就向大家介绍8个神技巧&#xff0c;让你的工作量大大减少&#xff01;那什么技巧有如此威力呢&#xff1f;想必有些大家都用过的&#xff0c…

IIS7.5下的asp.net网站不能连接数据库

今天报了一错就是"找不到Table[0]" 感觉是没有连到数据库。 处理方法&#xff1a;把连接字符串由windows身份验证改成 sqlserver验证就好了 我不知道为什么这么做&#xff01;等待高手给我解答转载于:https://www.cnblogs.com/master-zhu/archive/2010/07/20/17810…

jq在html中添加dom元素,使用jQuery添加DOM元素的最佳方法

所以我已经看到了三种向页面添加html/DOM元素的方法.我很好奇他们每个人的利弊是什么.1 - 传统的JavaScript我相信直接的JS方法是通过构造每个元素,设置属性,然后附加它们.例:var myRow document.createElement("tr");myRow.class "myClass";var firstTD…

qt 5编程入门(第2版)_《C++并发编程实战第2版》第六章:设计基于锁的并发数据结构(1/3)...

本章主要内容设计并发数据结构的含义设计指南并发数据结构的示例实现在上一章中我们了解了底层原子操作和内存模型。本章我们先把底层的细节放一放(尽管在第7章我们将需要它们)&#xff0c;探讨一下数据结构。为编程问题选择数据结构可能是整个解决方案的关键部分&#xff0c;并…