第一章 基础知识

这篇博文是本人在学习《Python基础教程 (第3版)》的时候所记录下来的关键要点,书中的核心知识点也都在本篇博客中所涉及,需要耐心每天坚持点点滴滴学习进步

第一章 基础知识

数和表达式

1,执行整除运算//

4//3 —>1,整除的重点在于向下圆整-10 // 3 向下圆整得到 -4,而不是-3

2,求余(求模)运算符%

x % y 等价于 x - ((x // y) * y)

3,乘方(求幂)运算符**

注意:乘方运算符要比求负(单目运算符)的优先级高,-3 ** 2 等价于 -(3 ** 2)

4,十六进制0x开头,八进制0开头,二进制0b开头

0xAF0100b1011010010
1758722

5,变量variable,表示特定值的名称;使用python变量前必须对其赋值,python变量没有默认值!!!

6,python命名只能由字母、数字和下划线组成,且不能以数字开头

7,获取用户输入inputinput("please input your name:")

x = input("x:")
y = input("y")
print(int(x) * int(y))
time = input("please input miin")
if int(time) % 60 == 0:print('hours!')

8,函数

内置函数pow 等价于 乘方运算符( ** )

2 ** 3pow(2,3)
88

计算绝对值abs

将浮点数圆整为与之最接近的整数round,若在相邻整数之间一样近的时候,圆整到偶数

abs(-10)2 // 3round(2 / 3)
1001.0

模块

可将模块视为扩展,通过将其导入可以拓展Python的功能
使用import进行导入模块,再以module.function的方式使用模块的函数

import math
math.floor(32.9)##floor向下圆整,结果为32
math.ceil(32.3)##ceil返回大于或等于给定数的最小整数,结果为33
math.ceil(32)##结果为32
对于圆整的概念,我是将数从上到下依次递减理解的54321.910-0.4
-1
-21.9向下圆整就是,向下走,1.9介于21之间,向下走,当然就是1了
同样的道理,-0.4向上圆整就是向上走,-0.4介于0-1之间,向下走当然就是0

当然也可以直接从库里面调用某个函数

from math import sqrt
sqrt(9)##平方根函数,结果为3.0

也可以使用变量来引用函数

from math import sqrt
yanyu = sqrt
yanyu(4)##结果为2.0

专门处理复数的模块cmath

sqrt只能计算非负数的平方根,若使用其计算负数,则会报错
负数的平方根为虚数,而由实部和虚部组成的数为复数,1j是个虚数,虚数都是以j(或J)结尾。-1的平方根是1j

import cmath
cmath.sqrt(-1)##结果为1j(1+3j) * (9+4j)##结果为(-3 + 31j)

有趣的海龟绘图法

from turtle import *
##最终的效果是绘制一个三角形
forward(100)
left(120)
forward(100)
left(120)
forward(100)

字符串

注释就不多说了吧, # 即可

1,转义

python中的单引号和双引号实则都是对字符串的输出
主要区别就在于

let's go to school 
此时就不能再使用单引号了,需要使用双引号
当然也可以\来对单引号进行转移操作,让python明白引号之间的是字符串的一部分,而不是字符串的结束标志
let\'s go to school' #结果为:let's go to school
\"hello beyond\" #结果为:"hello beyond"

2,拼接字符串

"hello, " + "beyond!"  #结果为:hello,beyondx = "hello,"
y = 'beyond'
x + y #结果为:hello,beyond

3,字符串表示str和repr

"Hello, world!" #结果为:'Hello, world!' 
print("Hello, world!") #结果为:Hello, world!"Hello,\nworld!" #结果为:'Hello,\nworld!' 
print("Hello,\nworld!") 
"""
结果为:
Hello, 
world!
"""#使用str能以合理的方式将值转换为用户能够看懂的字符串
#使用repr时,通常会获得值的合法Python表达式表示
print(repr("Hello,\nworld!")) #结果为:'Hello,\nworld!' 
print(str("Hello,\nworld!")) 
"""
结果为:
Hello, 
world!
"""

4,长字符串、原始字符串和字节

1,长字符串

要表示很长的字符串(跨行)时,使用三个单引号或三个双引号来表示

print("""there is a very 
long
word
""")
输出结果:
there is avery
long
word#常规字符串也可横跨多行。只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽略
1+2+3+\
4+5
#结果:15

2,原始字符串

原始字符串用前缀r表示,即原样输出即使带有转义字符\也没啥卵用
原始字符串不能以单个反斜杠结尾

print(r'Let\'s go!') #结果为:Let\'s go!
print(r'C:\beyond\zhendeaini\haikuotiankong\xihuanni') #结果为:C:\beyond\zhendeaini\haikuotiankong\xihuanniprint(r"This is illegal\")#结果为:编译器会报错,原因为原始字符串不能以单个反斜杠结尾
print(r“This is illegal” '\\')#结果为:This is illegal\

3,字节

源代码也将被编码,且默认使用的也是UTF-8编码。
如果你想使用其他编码(例如,如果你使用的文本编辑器使用其他编码来存储源代码),可使用特殊的注释来指定。# -*- coding: encoding name -*-
请将其中的encoding name替换为你要使用的编码(大小写都行),如utf-8或latin-1

Python还提供了bytearray,它是bytes的可变版。从某种意义上说,它就像是可修改
的字符串——常规字符串是不能修改的
要替换其中的字符,必须将其指定为0~255的值。要插入字符,必须使用ord获取其序数值(ordinal value)

x = bytearray(b"Hello!") #b代表二进制,H为第0位,e为第1位
x[1] = ord(b"u") #将u代替e
x #输出结果:bytearray(b'Hullo!')

本章节介绍的新函数

函 数(方括号内的参数是可选的)描 述
abs(number)返回指定数的绝对值
bytes(string, encoding[, errors])对指定的字符串进行编码,并以指定的方式处理错误
cmath.sqrt(number)返回平方根;可用于负数
float(object)将字符串或数字转换为浮点数
help([object])提供交互式帮助
input(prompt)以字符串的方式获取用户输入
int(object)将字符串或数转换为整数
math.ceil(number)以浮点数的方式返回向上圆整的结果
math.floor(number)以浮点数的方式返回向下圆整的结果
math.sqrt(number)返回平方根;不能用于负数
pow(x, y[, z])返回x的y次方对z求模的结果
print(object, …)将提供的实参打印出来,并用空格分隔
repr(object)返回指定值的字符串表示
round(number[, ndigits])四舍五入为指定的精度,正好为5时舍入到偶数
str(object)将指定的值转换为字符串。用于转换bytes时,可指定编码和错误处理方式

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

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

相关文章

Python operator.le()函数与示例

operator.le()函数 (operator.le() Function) operator.le() function is a library function of operator module, it is used to perform "less than or equal to operation" on two values and returns True if the first value is less than or equal to the sec…

jQuery.validator

$(document).ready(function(){ /* 设置默认属性 */$.validator.setDefaults({ submitHandler: function(form) { form.submit(); } }); // 中文字两个字节 jQuery.validator.addMethod("byteRangeLength", function(value, element, param) { var length value.le…

js 第四课

正则表达式:RegExp对象 正则表达式描述一个字符模式的对象,或者说用某种模式去匹配一类字符串的一个公式。 1.创建 可以用RegExp构造函数和直接量两种方式。正则表达式直接量被包含在一对"/"中. 1 var partern1 RegExp(\\d*); 2 …

第二章 列表和元组

第二章 列表和元组 在Python中,最基本的数据结构为序列(包括列表、元组、字符串等)(sequence) 列表是可以修改的,而元组不可以 Python支持一种数据结构的基本概念,名为容器(contain…

linux下mac风格菜单栏,ubuntu 8.04 安装mac风格菜单

ubuntu 8.04 安装mac风格菜单发布时间:2008-07-13 00:22:22来源:红联作者:bindex这只是一份草案文档,它可能会导致一些计算机故障。引言这份指南假定你没有在电脑上编译过其他程序,并且,假定你使用的是Ubuntu Gusty。1.使用deb包安装 32位系统…

解析法实现一元线性回归、多元线性回归以及数据模型可视化操作

目录【1】解析法实现一元线性回归python列表实现利用Numpy实现利用TensorFlow实现数据和模型可视化【2】解析法实现多元线性回归利用Numpy实现需要用到的NumPy数组运算函数数据和模型可视化绘制空间点集:绘制空间平面图:绘制线框图并且与散点图对比&…

带有示例的Python File readlines()方法

文件readlines()方法 (File readlines() Method) readlines() method is an inbuilt method in Python, it is used to get all lines from the file, the method is called with this object (current file stream/IO object) and returns all available lines in the file, w…

32位系统win2008+mssql2008 6G内存折腾纪实

十年没搞硬件了,现在计算机发展到大硬盘大内存的时代了。一直都少搞服务器配置、运营,以前弄服务器都是普通的PC来当服务器。公司原来的一个业务系统用的是mssql2000好几年了,由于业务数据越积压越多最大的一张表已经有7000多万条记录了&…

case使用 上下篇

上篇 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数 CASE WHEN sex 1 THEN 男WHEN sex 2 THEN 女 ELSE 其他 END这两种方式,可以实现相同的功能。简单Case函数的写法相对比…

第三章 字符串

第三章 字符串% 字符串是不可变的,所有的元素赋值和切片赋值都是非法的 Python提供了多种字符串格式设置方法 yanyu "hello, %s I like %s age is %s" beyond ("beyond","band",23) yanyu % beyond#结果为:hello, bey…

【视觉项目】【day5】8.25号实验记录(修完BUG,28张测试图,13个样本,四张测试图误判,这比之前效果好很多了)

目录修改完BUG后的程序以及效果优化思路,增强正确识别率(待验证)修改完BUG后的程序以及效果 修改代码后的测试结果:(利用连通域面积将明显比本张测试图的瓶子要小的模板提前去除,减少误判) 这样下来,28张测…

linux kernel and user space通信机制,Linux内核空间与用户空间通信机制地研究.doc

实用文案标准文档Linux内核空间与用户空间通信机制的研究Linux kernel space and user space communication mechanism摘 要Linux 是一个源码开放的操作系统,无论是普通用户还是企业用户都可以编写自己的内核代码,再加上对标准内核的裁剪从而制作出适合自…

前台用js、jquery出现错误很多是由于IE缓存

例如:当你用jquery进行异步请求数据时,如果浏览器发现请求的地址不变,或者参数也不改变的情况下 IE默认是取原来的缓存中的数据,而不进行重新请求数 解决的方法是是在地址栏的后面加上一个随机参数值,IE发现地址改变&a…

python 示例_带有示例的Python date timetuple()方法

python 示例Python date.timetuple()方法 (Python date.timetuple() Method) date.timetuple() method is used to manipulate objects of date class of module datetime. date.timetuple()方法用于操作模块datetime的日期类的对象。 It is an instance method which means …

WebC.BBS 项目参与新人必读

开发环境: 采用Visual Studio 2010,MVC版本采用Asp.Net MVC3,数据库采用Sql2005 2008,扩展技术包括jQuery。 SVN的相关信息: SVN-Url:svn://svn.cyqdata.com/project_bbs 账户申请:请将自己的密码发给组长,…

第四章 字典

第四章 字典{键:值,名字:电话号码} 映射:通过名称来访问其各个值的数据结构 列表:将一系列值组合成数据结构并通过编号来访问各个值 字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下 键可能是数、字符串…

利用梯度下降法求解一元线性回归和多元线性回归

文章目录原理以及公式【1】一元线性回归问题【2】多元线性回归问题【3】学习率【4】流程分析(一元线性回归)【5】流程分析(多元线性回归)归一化原理以及每种归一化适用的场合一元线性回归代码以及可视化结果多元线性回归代码以及可…

linux x64 asm 参数传递,NASM汇编学习系列(1)——系统调用和参数传递

0. 说明本学习系列代码几乎完全摘自:asmtutor.com,如果英文可以的(也可以用谷歌浏览器翻译看),可以直接看asmtutor.com上的教程系统环境搭建:(我用的是ubuntu18.04.4 server,安装gcc、g)sudo apt install nasmsudo apt…

Javascript之创建对象(原型模式)

我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,它的用途是包含可以有特定类型的所有实例共享的属性和方法。 prototype就是通过构造函数而创建的那个对象的原型对象。使用原型的好处就是可以让所有对象实例…

treeset java_Java TreeSet pollLast()方法与示例

treeset javaTreeSet类pollLast()方法 (TreeSet Class pollLast() method) pollLast() method is available in java.util package. pollLast()方法在java.util包中可用。 pollLast() method is used to return the last highest element and then remove the element from thi…