python3学习小记 (一)
一.python介绍
Python 是一门高级的、面向对象的、解释性、脚本语言。
解释性语言: 在执行的时候,有一个编译的过程,没执行一次就得编译一次
编译性语言: 在执行之前,有一个单独的编译过程
- 变量
num1 = 100
num2 = 80
result = num1 + num2 #把num1这个变量和num2这个变量放入result这个变量中,变量就是用来存储数据的√
在 python 中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发 者主动的去说明它的类型,系统会自动辨别。
可以使用 type(变量的名字),来查看变量的类型。以上知识让我们知道了,什么是变量,变量的类型 是什么?接下来让我们学习,变量的起名,以及标识符相关规范。
- 标识符
标示符由字母、下划线和数字组成,且数字不能开头
python中标示符区分大小写
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写, 例如:myName、aDog
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、 LastName
不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如 send_buf Python 推荐就是用下划线“_”来连接所有的单词。
查看关键字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 变量赋值的三种方式
传统赋值
name = “xuegod”
链式赋值
name = user = “xuegod” 序列解包赋值
name,age = “xuegod”, 10 注意:两边的变量和常量要对等。
- python虚拟机
垃圾回收机制
当一个常量被生成,会占用一份内存,这时候如果有变量指向改常量,那么该常量的引用计数为1,就是 a = ‘ 常量 ‘ 那么现在 ’ 常量 ‘ 的引用计数就是1,如果一个常量的引用计数为0,那么该常量占用的内存会被回收。
- 输入和输出
print(): 输出 -----> print('hello world')
Input():输入 -----> name = input('请输入姓名')
- 数字类型
整型: int 型, 浮点型: float 型, 长整型: long 型,
例子:1 为整型。
例子:2.1 为浮点型。
例子:2L 为长整形,数字后面加 L 就是长整形,理论上长整型的界限为2147483647。
我们可以通过类型函数(type(变量名))查看数字类型:
print(type(1))
print(type(1.0))
输出:
<class 'int'>
<class 'float'>
也可以通过运算改变数字类型:
print(type(3//2))
print(type(3/2))
输出: <class 'int'>
<class 'float'>
- 数字运算符
运 算 符 |
描述 |
实例 |
+ |
加 |
两个对象相加 a + b 输出结果 7 |
运 算 符 |
描述 |
实例 |
- |
减 |
得到负数或是一个数减去另一个数 a - b 输出结果 3 |
* |
乘 |
两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 10 |
/ |
除 |
x除以y b/a 输出结果 2 |
// |
取整除 |
取商,5//2 得 2;返回商的整数部分 9//2 输出结果 4 。 |
% |
取余 |
返回除法的余数 a % b 输出结果 1 |
** |
幂 |
返回x的y次幂 a**b 为5的2次方, 输出结果 25 |
>>> a = 5 >>> b = 2 >>> a + b 7
>>> a * b 10
>>> a / b 2.5
>>> a // b #取整除 2
>>> a % b #取余
1
>>> 2 ** 3 #次方(幂) 8
>>> a ** 2
25
- 内建函数
内建数值型函数
abs(x) 取 x 的绝对值
round(number, ndigits=0) 对数值进行'四舍五入',ndigits 是小数向右取整的位数,负数表示
向左取整
pow(x, y, z=None) 相当于 x ** y 或 x ** y % z help() 函数查看帮助
help(函数名或对象名)
>>> help(abs)
- 字符串的类型
字符串是一个有序的,不可修改的,以引号包围的序列。
什么是 python 字符串:双引号或者单引号中的数据,就是字符串
>>> a = 100 #数字类型
>>> b = 'hello world' #字符串类型
单行: ‘ ’ 或者 ‘’ ‘’
多行: ‘’‘ ’‘’
- 特殊字符
特殊字符就是在字符串当中起到特殊含义的字符。
“\” 转义符 将字符串当中的具有特殊含义的字符的特殊含义取消掉和续行;
“\n”换行; “\t”水平制表符,tab 键。
\(在行尾时) |
续行符 |
\\ |
反斜杠符号 |
\' |
单引号 |
\" |
双引号 |
\a |
响铃 |
\b |
退格(Backspace) |
\000 |
空 |
\n |
换行 |
\v |
纵向制表符 |
\t |
横向制表符 |
\r |
回车 |
\f |
换页 |
- 占位符
%s 字符串占位符
%d 数字占位符
%f 浮点型数字占位符
%.2f 控制浮点型数字占位符
#打印字符串
print('My name is %s' %s%('hello world')
#打印整数
print('I am %d years old'%(25))
#打印浮点数
print('His height is %f m'%(1.70))
#打印浮点数(保留两位小数)
print('His height is %.2f'%(1.70))
运行结果如下:
My name is hello world
I am 25 years old
His height is 1.700000 m His height is 1.70
案例:
name = input('请输入姓名')
age = int(input('年龄'))
job = input('job')
info = '''
------ info of %s ----
name:%s
age:%d
job:%s
'''%(name,name,age,job)
info2 = '''
------ info of {_name} ----
name:{_name}
age:{_age}
job:{_job}
'''.format(_name = name,
_age = age,
_job = job
)
print(info2)
- 字符串的索引index
在 python 当中所有有序的序列都是由索引概念的,它们的区别在于序列是否可以被修改;索引在我 们初学的时候我们可以理解为字符串的下标;
字符串里的每一个个体都被称作字符也是该字符串的一个元素,每一个元素都对应一个索引值(下标); 在这里可以用 len() 方法看一个序列的长度
索引的用法,取单个元素时,使用字符串[索引值] 索引值为对应元素的索引号;
比如字符串‘while’,可以按照下图理解其下标概念,索引号从 0 开始;
w |
h |
i |
l |
e |
0 |
1 |
2 |
3 |
4 |
字符串截取:字符串[start:end],得到对应索引范围的元素,该范围包含起始端,不包含结尾端,默 认截取的方向是从左往右的;
name = 'while' |
print(name[1:3]) |
步长截取:字符串[start:end:step] 按照 step 步长进行隔取;
切片的语法:[起始:结束:步长] 注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本
身)。
str_test = 'hello world'
print(str_test[0:7:2])
输出:
'hlow'
默认取法:字符串[start:end:step] 这三个参数都有默认值、start;默认值为 0;end 默认值未字 符串结尾元素;step 默认值为 1
若 step > 0, 则表示从左向右进行切片。 此时,start 必须小于 end 才有结果,否则为空。
若 step < 0, 还是表示从左到右只不过反过来切片,此时,start 必须大于 end 才有结果,否则为 空。
str_test = 'hello world'
print(str_test[0:7])
print(str_test[:7])
print(str_test[2:])
print(str_test[:])
print(str_test[::2])
反取:字符串[负数],从右往左取(从后面取)
print(str_test[::-1])
print(str_test[::-2])
print(str_test[1:9:-1])
print(str_test[9:1:-2])
- 字符串计算方法
count
计数功能,返回自定字符在字符串当中的个数
find
查找,返回从左第一个指定字符的索引,找不到返回-1
字符串的查 找
rfind
查找,返回从右第一个指定字符的索引,找不到返回-1
index
查找,返回从左第一个指定字符的索引,找不到报错
rindex
查找,返回从右第一个指定字符的索引,找不到报错
str_test = 'hello world'
print(str_test.count('l'))
print(str_test.find('world'))
print(str_test.rfind('world'))
print(str_test.index('o'))
print(str_test.rindex('o'))
运行结果如下:
3
6
6
4
7
- 字符串的分割
partition
把 mystr 以 str 分割成三部分,str 前,str 自身和 str 后
rpartition
类似于 partition()函数,不过是从右边开始.
splitlines
按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割
split
判断字符串的分隔符切片
字符串的替换
replace
从左到右替换指定的元素,可以指定替换的个数,默认全部替换
str_test = 'hello world'
print(str_test.partition('o'))
print(str_test.rpartition('o'))
my_str = 'hello\n world \n python\n'
print(my_str)
print(my_str.splitlines())
print(str_test.replace('h','w'))
- 字符串的修饰
center
让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内 容,默认以空格填充
ljust
让字符串在指定的长度左齐,可以指定填充内容,默认以空格填充
rjust
让字符串在指定的长度右齐,可以指定填充内容,默认以空格填充
zfill
将字符串填充到指定的长度,不足地方用 0 从左开始补充
format
按照顺序,将后面的参数传递给前面的大括号
strip
默认去除两边的空格,去除内容可以指定
rstrip
默认去除右边的空格,去除内容可以指定
lstrip
默认去除左边的空格,去除内容可以指定
str_test = 'for'
print(str_test.center(10))
#center 这个里面可以加入两个参数 print(str_test.center(10,'x')) 运行结果如下:
for xxxforxxxx
ljust 这个里面可以加入两个参数
print(str_test.ljust(10))
print(str_test.ljust(10,'x'))
print(str_test.rjust(10,'x'))
运行结果如下:
for
forxxxxxxx xxxxxxxfor print(str_test.zfill(10)) 运行结果如下:
0000000for
注意:如果传入的大小小于字符串的长度,字符串不变。
str_test = ' for '
print(str_test.strip())
'for'
print(str_test.rstrip())
' for'
print(str_test.lstrip())
'for '
python = "{0} is {1}"
print(python.format('for','cool'))
运行结果如下:
'for is cool'
python3学习小记 (一)相关推荐
- Python Iterator 学习小记
Python Iterator 学习小记 The reference link: Implicit sequences by cs61a Iterator Python提供了一种统一的方式来顺序处理容 ...
- python基础第三章选择结构答案-python3 学习笔记(二)选择结构、循环结构
python3 学习笔记 python 优雅 明确 简单 1.选择结构 (1)简单判断 if else 使用格式: if 条件: 表达式1 else: 表达式2 (2)多条件判断 elif 使用格式 ...
- 8086汇编学习小记-王爽汇编语言实验12
8086汇编学习小记-王爽汇编语言实验12 0号中断处理程序,开始安装在0000:0200处的程序最后用死循环导致显示不出'divided error',改成直接退出就正常显示了.注意修改ss,sp之 ...
- js 正则学习小记之匹配字符串
原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高 ...
- 多项式快速插值学习小记
今天终于抽空把这个综(du)合(liu)知识点学了,心力交瘁-- 多项式快速插值 给出 nnn 个点 (xi,yi)(x_i,y_i)(xi,yi) ,要求一个次数为 n−1n-1n−1 的多项式 ...
- 多项式的ln、exp、快速幂和开根学习小记
不妨又学习了一下多项式的求ln.exp.快速幂和开根操作. 这些操作比之前的求逆更上了一层台阶,应用同样很广. 多项式求逆等知识在我的博客里有讲:多项式的求逆.取模和多点求值学习小记 多项式ln 给出 ...
- 积性函数与Dirichlet卷积 学习小记
前言 首先感谢 XHM 大佬的悉心指导,我懂得了不少~. 链一下他关于这方面的见解.博客--XHM 的Dirichlet卷积 学习小记 一些定义 回归正题,这次我学习了一下狄利克雷卷积方面的知识. 先 ...
- js 正则学习小记之左最长规则
js 正则学习小记之左最长规则 原文:js 正则学习小记之左最长规则 昨天我在判断正则引擎用到的方法是用 /nfa|nfa not/ 去匹配 "nfa not",得到的结果是 'n ...
- python 温度 符号_【火马】Python学习小记01
Python 学习小记 Life is short,you need Python! 写在前面 自从重新拾起2016年开始注册的公众号"火马编程",我就把TA当作了自己的一块&qu ...
最新文章
- windows下python脚本程序的运行
- React Native学习(七)—— FlatList实现横向滑动列表效果
- java生成xsd_java 生成XSD
- 互联网1分钟 | 1015
- linux关闭开发者模式的命今,CentOS防火墙用命令行方式关闭的方式
- 关于Python的学习和认知---刘浩
- C# 3.0入门系列(二)
- dbscan聚类算法matlab_密度聚类DBSCAN、HDBSCAN(转)
- 有关使用sklearn LogisticRegression出现的 DeprecationWarning:
- Android Studio中Gradle使用详解
- 爱回收回应下架通报:认真整改 切实落实用户隐私信息保护
- SAP License:SAP Query操作手册
- js返回上一页并刷新、返回上一页、自动刷新页面
- 什么是java框架结构_Java框架概述
- weblogic异常之 [Security:090303]Authentication Failed: User weblogic weblogic.security.providers.authen
- 新浪UC,這些人你咋就不管?
- Metro 风格页面设计
- 简述TCP三次握手,看不懂算我输!
- 机器学习实战——决策树Python实现问题记录
- flutter添加水印、添加自定义水印、禁止截屏(Android)
热门文章
- 计算机三级 信息安全技术题库——选择题2
- InjectFix原理学习(实现修复加法的热更)
- 计算机科学与技术英语面试,2018北大计算机科学与技术智能科学与技术考研复试通知复试经验英语及面试技巧...
- cannot create temp file for here-document: No space left on device
- 举例说明儿化音的作用_谈谈儿化音
- node卸载淘宝镜像
- java mail 端口号_使用Javamail连接到Gmail smtp服务器将忽略指定的端口并尝试使用25...
- dell灵越笔记本后盖怎么拆_dell笔记本拆机详解【图文教程】
- 偏振光学的基础(一)
- 批量处理更香啊,Python 可轻松制作图文并茂的 PDF 报告