型别指的是资料的型态,Python 内建的几个基本型态有:
int
: 没有小数点的数float
: 可以有小数点的数,也就是所有的实数str
bool
不像其他语言,Python 中只有两种数字型态:不包含小数点的 int
和 可包含小数点的 float
,且没有数值范围的限制
除了少部分只能使用整数的情况,两者只有在显示时会有差异(显示的时候有无小数点),大部分时候可以通用
在电脑中,我们把(单个)文字称为字元(Character)
Python 中的文字资料只有字串(String)-str
一种,字串指的是一笔任意长度(任意字数)的文字资料
字串的内容可以是任意数量的字元,
在 Python 程序码中字串的头尾要用英文的单引号 ''
或是双引号 ""
标示,例如 "a"
, "abc"
, 'xyz 1234'
, ,但头尾必须用相同的符号,例如 'NYKD-54'
"abc'
是错误的写法
字串本身像是一个罐子或是容器,里面可以装一个字,也可以装一百个,更可以是空的,但装的东西一定是字元
程序码中,空字串可以用 ""
或 ''
表示,它的用途我之後会再写一篇(挖坑+1)
布林型态的资料只有 true 和 false 两种数值,可以用来是/否、有/无、开/关、对/错或是条件、逻辑判断,详细用途之後会说(挖坑+1)
程序设计中的 Function(有时候中译函式) 和数学中的 Function(函数)的概念类似
数学中函数用来表示一段计算,例如 设f(x)=8x+7
,就是用 f(x)
代表 8x+7
这段计算
在程序语言中函式则代表一段程序码,这段程序码的作用可以是动作(上传、下载、删除、暂停等)或者是运算
参数(Parameter)是函式在 定义 时,规定要传递进来的资料的名称
引数(Argument)是函式被 呼叫 时,实际传递给函式的资料
以数学中的情况来说,设 f(x)=8x+7
,这里的 x
在程序设计中叫做参数
f(2)
, f(k)
中的 2
和 k
在程序设计中叫做引数
函式执行後的结果,是一个在电脑中的数值,必须透过某些函式才能显示到萤幕上让人观察
以数学中的情况来说,设 f(x)=8x+7
,f(2)
的回传值就是23
就像是数学中有很多前人已经定义好的函数,程序语言也有很多内建的函式可以让我们直接使用,每个语言包含的函式都不太相同,不同语言中相同功能的 Function 可能有不同名称
不像是其他的程序语言,Python 的程序码只需要有程序要执行的内容就可以执行
且直译器会依照程序码的顺序一行一行地执行
把引数显示到视窗上的函式,引数可以是任何型别的资料
例如:
print(123)
执行结果:
如果要显示文字,内容要用单引号或双引号标示:
print("Hello, World!")
Python 的 print()
自带换行功能,所以如果要显示多行文字可以用多个 print()
达成
print('Line 1')
print('Line 2')
如果要在同一行显示不同型别的数值,可以用逗号格开,显示的内容间会自动空格
print('I have' , 28, 'articles left...')
执行结果
print()
预设会在结尾加上 换行符号,如果不需要换行或是需要其他文字作为结尾,可以在引数中加上 end=
设定显示内容结尾,不过这个 结尾只能是字串
将结尾文字改成空字串 ''
,显示的内容不会换行
print('line1', end='')
print('line2')
将结尾文字改成空字串 ' '
print('line1', end=' ')
print('line2')
结尾文字可以有多个字元
print('line1', end='---')
print('line2')
执行结果
print()
预设会在内容和内容间加上空格,如果不需要有空格或是需要其他文字作为间隔,可以在引数中加上 sep=
设定间隔的文字,一样 只能是字串
第一行是预设的情况,第二行设定成空字串,所有内容会连在一起
print('pen', 'pineapple', 'apple', 'pen')
print('pen', 'pineapple', 'apple', 'pen', sep='')
可以是其他的符号
print('pen', 'pineapple', 'apple', 'pen', sep='*')
或是多个字元
print('pen', 'pineapple', 'apple', 'pen', sep='---')
end
和 sep
可以同时使用,两者的顺序没有限制,但需要 放在显示内容的後面
print(2, 'x', 8, end='=', sep='')
print(16)
为什麽是 end=
和 sep=
,这次光速填坑
在使用函式的时候,丢给函式的引数,通常要照着函式定义时的顺序写
假设有个函式的 定义 是 fun(name, age, number)
,那呼叫这个函式,且 name
是 'Jay'
, age
是 19
, number
是 1234
时应该要写成:
fun('Jay', 19, 1234)
但如果函数有很多个参数时,还要记住参数的顺序是一件麻烦的事,所以 Python 提供用参数名称设定引数的功能,就可以不依照定义的顺序提供引数
以上面的例子来说,呼叫这个函式时可以写成:
fun(name = 'Jay', number=1234, age=19)
或是:
fun('Jay', number=1234, age=19)
但 不能是:
fun('Jay', 1234, age=18)
因为 'Jay'
和 1234
都没有标示属於哪个参数,所以直译器会认为它们分别代表 name
和 age
,但 18
被标示成是 age
,所以会产生错误无法执行
Python 中函式的参数可以有预设值,呼叫函式的时候可以不用给引数
假设有个函式的定义是 fun(x, y=1)
,代表有两个参数 x
, y
,y
预设为1
那呼叫这个函式时,可以不用提供引数 y
,下面例子中的5代表 x
fun(5)
如果给两个引数则依序代表 x
, y
fun(10, 15)
假设有另一个函式的定义是 fun(x=5, y=5)
,代表有两个参数 x
, y
,预设都是5
呼叫时可以不给任何引数
fun()
可以用上面的方法其中一个引数,执行时 x
依然是预设值10,y
是呼叫时传入的20
fun(y=20)
所以 print()
的 end
和 sep
都是 print()
的参数,因为它们的预设值是换行和空格,且给 print()
的所有引数都会被视为 内容,所以只能用参数名称(end=
, sep=
)设定两者的值
挖坑清单:
>>: IOS、Python自学心得30天 Day-14 H5与Pb模型档案
要将自己的聊天机器人发布在Line这个平台之前,我们需要有Line开发者(Line Develope...
会话劫持经常通过XSS(跨站点脚本)或嗅探发生。这个问题主要集中在中间人的嗅探上。输入验证可防止攻击...
这一篇是这一系列 Libraries 比较文实质性的最後一篇了,在下一篇稍做总结以後接着我们就要正...
嗨各位!!!又是我,那个小可爱又来了,今天要来讲的是—计算属性,如果你的模板需要加入很多逻辑运算,可...
在社交工程的攻击中,我们最常见的也莫过於电子邮件钓鱼 电子邮件钓鱼也被列为主要进行社交工程演练的项目...