30天学会 Python: Day 1-印啦!哪次不印!

型别

型别指的是资料的型态,Python 内建的几个基本型态有:

  • 数字
    • 整数(Integer)-int: 没有小数点的数
    • 浮点数(Floating point)-float: 可以有小数点的数,也就是所有的实数
  • 文字
    Python 中的文字只有字串一种类型
    • 字串(String)-str
  • 布林(Boolean)-bool

数字

不像其他语言,Python 中只有两种数字型态:不包含小数点的 int可包含小数点的 float,且没有数值范围的限制

除了少部分只能使用整数的情况,两者只有在显示时会有差异(显示的时候有无小数点),大部分时候可以通用

文字

在电脑中,我们把(单个)文字称为字元(Character)
Python 中的文字资料只有字串(String)-str一种,字串指的是一笔任意长度(任意字数)的文字资料
字串的内容可以是任意数量的字元,

在 Python 程序码中字串的头尾要用英文的单引号 '' 或是双引号 "" 标示,例如 "a", "abc", 'xyz 1234', 'NYKD-54',但头尾必须用相同的符号,例如 "abc' 是错误的写法

空字串(Empty string)

字串本身像是一个罐子或是容器,里面可以装一个字,也可以装一百个,更可以是空的,但装的东西一定是字元

程序码中,空字串可以用 ""'' 表示,它的用途我之後会再写一篇(挖坑+1)

布林

布林型态的资料只有 true 和 false 两种数值,可以用来是/否、有/无、开/关、对/错或是条件、逻辑判断,详细用途之後会说(挖坑+1)

函式(Function)

程序设计中的 Function(有时候中译函式) 和数学中的 Function(函数)的概念类似

数学中函数用来表示一段计算,例如 设f(x)=8x+7,就是用 f(x) 代表 8x+7 这段计算

在程序语言中函式则代表一段程序码,这段程序码的作用可以是动作(上传、下载、删除、暂停等)或者是运算

参数与引数

参数(Parameter)是函式在 定义 时,规定要传递进来的资料的名称
引数(Argument)是函式被 呼叫 时,实际传递给函式的资料

以数学中的情况来说,设 f(x)=8x+7,这里的 x 在程序设计中叫做参数
f(2), f(k) 中的 2k 在程序设计中叫做引数

回传值

函式执行後的结果,是一个在电脑中的数值,必须透过某些函式才能显示到萤幕上让人观察

以数学中的情况来说,设 f(x)=8x+7f(2) 的回传值就是23

内建函式

就像是数学中有很多前人已经定义好的函数,程序语言也有很多内建的函式可以让我们直接使用,每个语言包含的函式都不太相同,不同语言中相同功能的 Function 可能有不同名称

Python 程序码

不像是其他的程序语言,Python 的程序码只需要有程序要执行的内容就可以执行
且直译器会依照程序码的顺序一行一行地执行

print(var1, var2, ...)

把引数显示到视窗上的函式,引数可以是任何型别的资料

例如:

print(123)

执行结果:

如果要显示文字,内容要用单引号或双引号标示:

print("Hello, World!")

Python 的 print() 自带换行功能,所以如果要显示多行文字可以用多个 print() 达成

print('Line 1')
print('Line 2')

如果要在同一行显示不同型别的数值,可以用逗号格开,显示的内容间会自动空格

print('I have' , 28, 'articles left...')

执行结果

print() 的结尾文字

print() 预设会在结尾加上 换行符号,如果不需要换行或是需要其他文字作为结尾,可以在引数中加上 end= 设定显示内容结尾,不过这个 结尾只能是字串

将结尾文字改成空字串 '',显示的内容不会换行

print('line1', end='')
print('line2')

将结尾文字改成空字串 ' '

print('line1', end=' ')
print('line2')

结尾文字可以有多个字元

print('line1', end='---')
print('line2')

执行结果

print() 内容间隔的文字

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='---')

endsep 可以同时使用,两者的顺序没有限制,但需要 放在显示内容的後面

print(2, 'x', 8, end='=', sep='')
print(16)


为什麽是 end=sep=,这次光速填坑

Python 的参数与引数

用参数名称设定引数

在使用函式的时候,丢给函式的引数,通常要照着函式定义时的顺序写

假设有个函式的 定义fun(name, age, number),那呼叫这个函式,且 name'Jay', age19 , number1234时应该要写成:

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 都没有标示属於哪个参数,所以直译器会认为它们分别代表 nameage,但 18 被标示成是 age,所以会产生错误无法执行

参数预设值

Python 中函式的参数可以有预设值,呼叫函式的时候可以不用给引数

假设有个函式的定义fun(x, y=1),代表有两个参数 x, yy 预设为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()endsep 都是 print() 的参数,因为它们的预设值是换行和空格,且给 print() 的所有引数都会被视为 内容,所以只能用参数名称(end=, sep=)设定两者的值


挖坑清单:

  • 空字串的用途
  • 布林的用途

<<:  [DAY2] 听说 Rails 开发很快速?

>>:  IOS、Python自学心得30天 Day-14 H5与Pb模型档案

Day02-制作Line Bot 前置作业(注册Line Developers帐号

要将自己的聊天机器人发布在Line这个平台之前,我们需要有Line开发者(Line Develope...

会话劫持( session hijacking )

会话劫持经常通过XSS(跨站点脚本)或嗅探发生。这个问题主要集中在中间人的嗅探上。输入验证可防止攻击...

Day 8. Compare × G2 × Slate

这一篇是这一系列 Libraries 比较文实质性的最後一篇了,在下一篇稍做总结以後接着我们就要正...

[Day 22] 计算属性computed趴搭搭

嗨各位!!!又是我,那个小可爱又来了,今天要来讲的是—计算属性,如果你的模板需要加入很多逻辑运算,可...

资安认知-电子邮件钓鱼

在社交工程的攻击中,我们最常见的也莫过於电子邮件钓鱼 电子邮件钓鱼也被列为主要进行社交工程演练的项目...