python基本常识

2019-11-21 01:50栏目:编程学习

时间:2018年9月4日 22:54:49     #请各位读者注意时间效果与利益性   以下Python学习笔记基于Python3

Python的语法格式

Python是风流洒脱种计算机编程语言,有着本身的少年老成套语法格式。Python的语法格式非常轻巧,接纳缩进的措施:

# print absolute value of an integer:
a = 100
if a >= 0:
    print(a)
else:
    print(-a)
  • #先导的说话是注释,解释器会自动忽视。
  • 当语句以结束时,缩进的言语视为代码块。

缩进有利有弊,好处是强迫你写出格式化的代码,但从没规定缩进是多少个空格依然tab。根据蔚然成风的习惯,应该利用4个空格的缩进。
缩进的另三个功利是逼迫你写出缩进非常少的代码,你会众口意气风发辞于把相当短的生机勃勃段代码拆分成若干函数,进而获得缩进少之又少的代码。
缩进的弊纠正是“复制-粘贴”成效失效了,当大家重构代码时,粘贴过去的代码必得重新检查缩进是或不是正确。别的,IDE很难像Java代码那样格式化Python代码。

  • Python程序是深浅写敏感的,若是写错了大小写,程序会报错。

无意改格式了,将就一下

Python的数据类型

在Python中,可以直接管理的数据类型有以下两种:

Python学习笔记
1.Python源于一九八八年圣诞里边,小编:Guidovan 罗斯尔um
2.其他语言都有瑕疵,Python也不例外。如:运转速度慢、代码不可能加密
3.优点:能够跨平台。
4.命令行写Python好处是能够直接获得结果,坏处是无法保存。文本编辑器写代码能够保存。
5.print(卡塔尔国是出口方法,假诺是出口字符串供给丰硕引号'',碰着逗号(,)会空格少年老成行。
6.input()是输入方法,它会把顾客输入的东西变为字符串,并存放到一个变量里。括号里的东西能让客户见到提示。
7.Python的语法比较轻巧,接受缩进情势。不像古板的言语有中括号。
8.注释用#标识,注释是给人看的,可以是放肆内容,解释器会忽视掉注释。
9.数据类型:整数、浮点数、字符串、布尔值、列表、字典等。
10.转义字符:
11.布尔值能够用and、or或not运算。
12.变量名必需是深浅写意大利语、数字和_的咬合,且不能够用数字最初。
13.变量本人类型不定点的言语称之为动态语言,固定类型的称之静态语言,常量是八个不能够变的变量。
14.ord()函数获取字符的整数表示,chr()函数把编码转变为对应的字符。
15.len()函数总括的是str的字符数。
16.在Python中,采纳的格式化情势和C语言是同样的,用%达成,举个例子如下:(%d整数 %s字符串 %f浮点型卡塔尔国
  s = 100
  print('get %d' %s)
  get 100

整数

Python可以管理恣意大小的大背头,当然包含负整数,在程序中的表示方法和数学上的写法一模一样,比方:1100-80800,等等。

微电脑由于使用二进制,所以,不时候用十四进制表示整数比较方便,十五进制用0x前缀和0-9a-f表示,例如:0xff000xa5b4c3d2,等等。

  补充:要是你不太显明相应用哪些,%s永久起效果,它会把任何数据类型转变为字符串。如果要出口'%'字符,可用%%代表
17.操演:小明的大成从明年的72分升高到了上一年的85分,请统计小明成绩进级的百分点,并用字符串格式化展现出'xx.x%',只保留小数点后1位。示例:
  s1 = 72
  s2 = 85
  s3 = (s2-s1)/72*100
  print('%.1f%%' %s3) #输出为18.1%

浮点数

浮点数也等于小数,之所以称为浮点数,是因为依据科学记数法表示时,三个浮点数的小数点地方是可变的,举个例子,1.23x109和12.3x108是完全相等的。浮点数能够用数学写法,如1.233.14-9.01,等等。可是对于十分大或十分小的浮点数,就必需用科学计数法表示,把10e替代,1.23x109就是1.23e9,或者12.3e80.000012能够写成1.2e-5,等等。

大背头和浮点数在电脑内部存款和储蓄的点子是不相同的,整数运算恒久是正确的(除法难道也是正确的?是的!卡塔 尔(英语:State of Qatar),而浮点数运算则或者会有四舍五入的引用误差。

 

字符串

字符串是以单引号'或双引号"括起来的跋扈文本,举例'abc'"xyz"等等。请注意,''""本人只是意气风发种象征方法,不是字符串的一片段,因而,字符串'abc'只有a,b,c这3个字符。如果'自个儿也是八个字符,那就足以用""括起来,比如"I'm OK"包涵的字符是I,',m,空格,O,K这6个字符。

假设字符串内部既满含'又包涵"如何是好?可以用转义字符来标识,比如:

'I'm "OK"!'

意味着的字符串内容是:

I'm "OK"!

转义字符能够转义比超多字符,例如n代表换行,t表示制表符,字符自己也要转义,所以\代表的字符就是,能够在Python的交互作用式命令行用print()打字与印刷字符串看看:

>>> print('I'm ok.')
I'm ok.
>>> print('I'm learningnPython.')
I'm learning
Python.
>>> print('\n\')


假定字符串里面有过多字符都急需转义,就供给加相当多,为了简化,Python还同意用r''表示''内部的字符串默许不转义,能够友善尝试:

>>> print('\t\')
       
>>> print(r'\t\')
\t\

只要字符串内部有看不尽换行,用n写在黄金时代行里不佳阅读,为了简化,Python允许用'''...'''的格式表示多行内容,能够团结尝试:

>>> print('''line1
... line2
... line3''')
line1
line2
line3

地点是在交互作用式命令行内输入,注意在输入多行内容时,提醒符由>>>变为...,提示您能够跟着上生机勃勃行输入。若是写成程序,正是:

print('''line1
line2
line3''')

多行字符串'''...'''还是能在前边加上r使用,请自行测量检验。

未完待续。。。(一周生龙活虎更卡塔 尔(阿拉伯语:قطر‎

布尔值

布尔值和布尔代数的象征完全豆蔻梢头致,二个布尔值唯有True、False三种值,要么是True,要么是False,在Python中,能够直接用True、False表示布尔值(请当心分寸写卡塔尔,也足以经过布尔运算总计出来:

>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False

布尔值能够用and、or和not运算。

and运算是与运算,独有具备都为True,and运算结果才是True:

>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True

or运算是或运算,只要当中有二个为True,or运算结果正是True:

>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True

not运算是非运算,它是一个单目运算符,把True形成False,False形成True:

>>> not True
False
>>> not False
True
>>> not 1 > 2
True

布尔值平日用在准则决断中,比方:

if age >= 18:
    print('adult')
else:
    print('teenager')

 

空值

空值是Python里叁个非常的值,用None表示。None不可能领略为0,因为0是有含义的,而None是三个特出的空值。

其他,Python还提供了列表、字典等各类数据类型,还同意创造自定义数据类型,咱们前边会三番一遍讲到。

变量

变量的定义基本上和初级中学代数的方程变量是平等的,只是在微机程序中,变量不仅能够是数字,还足以是不管三七三十风姿浪漫数据类型。

变量在前后相继中正是用多少个变量名表示了,变量名必得是大小写立陶宛(Lithuania卡塔尔语、数字和_的整合,且不能够用数字起首,比方:

a = 1

变量a是一个大背头。

t_007 = 'T007'

变量t_007是一个字符串。

Answer = True

变量Answer是二个布尔值True。

在Python中,等号=是赋值语句,能够把自由数据类型赋值给变量,同二个变量能够频仍赋值,何况可以是区别类别的变量,比方:

a = 123 # a是整数
print(a)
a = 'ABC' # a变为字符串
print(a)

这种变量自个儿类型不定点的语言称之为动态语言,与之相应的是静态语言。静态语言在概念变量时必得钦定变量类型,借使赋值的时候类型差别盟,就能够报错。举个例子Java是静态语言,赋值语句如下(// 表示注释卡塔尔:

int a = 123; // a是整数类型变量
a = "ABC"; // 错误:不能把字符串赋给整型变量

和静态语言比较,动态语言更加灵活,正是以此原因。

请不要把赋值语句的等号等同于数学的等号。例如上面的代码:

x = 10
x = x   2

举例从数学上知道x = x 2那无论怎么样是不创造的,在程序中,赋值语句先总计右边的表明式x 2,获得结果12,再赋给变量x。由于x早先的值是10,重新赋值后,x的值形成12。

终极,精晓变量在Computer内部存款和储蓄器中的象征也非常重大。当大家写:

a = 'ABC'

时,Python解释器干了两件工作:

在内部存款和储蓄器中开创了多少个'ABC'的字符串;

在内存中创设了叁个名称叫a的变量,并把它指向'ABC'。

也能够把八个变量a赋值给另八个变量b,那一个操作实际是把变量b指向变量a所指向的数据,比如上边包车型客车代码:

a = 'ABC'
b = a
a = 'XYZ'
print(b)

常量

所谓常量正是不能够变的变量,比方常用的数学常数π正是一个常量。在Python中,经常用全套大写的变量名表示常量:

PI = 3.14159265359

但实质上PI仍然为叁个变量,Python根本未有任何机制有限扶持PI不会被校勘,所以,用全套大写的变量名表示常量只是贰个习贯上的用法,假诺你料定要退换变量PI的值,也没人能阻碍你。

末段解释一下整数的除法为啥也是正确的。在Python中,有两种除法,风流倜傥种除法是/:

>>> 10 / 3
3.3333333333333335

/除法计算结果是浮点数,固然是八个整数恰恰整除,结果也是浮点数:

>>> 9 / 3
3.0

再有大器晚成种除法是//,称为地板除,多少个整数的除法仍是整数:

>>> 10 // 3
3

你未曾看错,整数的地板除//恒久是整数,就算除不尽。要做纯粹的除法,使用/就能够。

因为//除法只取结果的整数部分,所以Python还提供三个余数运算,可以博得多少个整数相除的余数:

>>> 10 % 3
1

不管整数做//除法依旧取余数,结果永久是整数,所以,整数运算结果恒久是纯粹的。

字符串和编码

在风靡的Python 3版本中,字符串是以Unicode编码的,也正是说,Python的字符串扶助多语言,比如:

>>> print('包含中文的str')
包含中文的str

对于单个字符的编码,Python提供了ord()函数获取字符的板寸表示,chr()函数把编码调换为相应的字符:

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

万生机勃勃精通字符的整数编码,还是能用十二进制这么写str:

>>> 'u4e2du6587'
'中文'

三种写法完全部都以等价的。

是因为Python的字符串类型是str,在内部存款和储蓄器中以Unicode表示,一个字符对应若干个字节。借使要在互连网上传输,也许封存到磁盘上,就需求把str变为以字节为单位的bytes。

Python对bytes类型的数据用带b前缀的单引号或双引号表示:

x = b'ABC'

要当心区分'ABC'和b'ABC',后边贰个是str,后面一个固然内容呈现得和前边一个相似,但bytes的各样字符都仅占用贰个字节。

以Unicode表示的str通过encode()方法能够编码为钦命的bytes,举个例子:

>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'xe4xb8xadxe6x96x87'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

纯土耳其共和国(Türkiye Cumhuriyeti卡塔尔国语的str能够用ASCII编码为bytes,内容是同风度翩翩的,含有普通话的str可以用UTF-8编码为bytes。含有中文的str不可能用ASCII编码,因为粤语编码的限量超越了ASCII编码的限量,Python会报错。

在bytes中,不可能出示为ASCII字符的字节,用x##显示。

转头,假如我们从网络或磁盘上读取了字节流,那么读到的多寡正是bytes。要把bytes变为str,就供给用decode()方法:

>>> b'ABC'.decode('ascii')
'ABC'
>>> b'xe4xb8xadxe6x96x87'.decode('utf-8')
'中文'

要总结str满含多少个字符,能够用len()函数:

>>> len('ABC')
3
>>> len('中文')
2

len()函数总结的是str的字符数,如若换到bytes,len()函数就计算字节数:

>>> len(b'ABC')
3
>>> len(b'xe4xb8xadxe6x96x87')
6
>>> len('中文'.encode('utf-8'))
6

可以见到,1个汉语字符经过UTF-8编码后平常会占用3个字节,而1个匈牙利(Magyarország卡塔尔语字符只占用1个字节。

在操作字符串时,大家平日遭受str和bytes的相互调换。为了幸免乱码难题,应当始终坚威武不能屈选择UTF-8编码对str和bytes进行转移。

鉴于Python源代码也是八个文本文件,所以,当你的源代码中包括中文的时候,在保存源代码时,就要求必得钦点保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,大家常常在文书初步写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第大器晚成行注释是为着告诉Linux/OS X系统,那是叁个Python可执路程序,Windows系统会忽视那个注释;

其次行注释是为着告诉Python解释器,依据UTF-8编码读取源代码,不然,你在源代码中写的华语输出大概会有乱码。

表达了UTF-8编码并不代表你的.py文件便是UTF-8编码的,必得同期要担保文本编辑器正在使用UTF-8 without BOM编码.
假诺.py文件自个儿使用UTF-8编码,并且也表明了# -- coding: utf-8 --,展开命令提示符测验就能够符合规律突显汉语。

格式化

终极三个科学普及的主题素材是哪些输出格式化的字符串。我们平日会输出贴近'亲爱的xxx你好!你xx月的通话费是xx,余额是xx'之类的字符串,而xxx的剧情都以依靠变量变化的,所以,须要生龙活虎种便利的格式化字符串的方法。

py-str-format

在Python中,选拔的格式化格局和C语言是相仿的,用%实现,举个例子如下:

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

你恐怕猜到了,%运算符便是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d代表用整数替换,有多少个%?占位符,后边就跟多少个变量大概值,顺序要对应好。假诺独有多少个%?,括号能够归纳。

广大的占位符有:

%d  整数
%f  浮点数
%s  字符串
%x  十六进制整数

其间,格式化整数和浮点数还足以内定是不是补0和整数与小数的位数:

>>> '--d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'

假设您不太鲜明相应用哪些,%s永世起效果,它会把任何数据类型调换为字符串:

>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'

些微时候,字符串里面包车型客车%是贰个平淡无奇字符如何是好?那个时候就供给转义,用%%来代表二个%:

>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'

版权声明:本文由威尼斯人app发布于编程学习,转载请注明出处:python基本常识