按照所有编程语言的学习套路,先从基础语法开始,有编程基础的童鞋可能不屑一顾。但是,基础知识好比大厦的根基,根基扎实了,后面的学习才能轻松,所以不妨温习一二。
言归正传,Python 的安装和运行环境请自行 Google。全文包括,Python 标准的数据类型:Numbers (数字),String (字符串),List (列表),Tuple (元祖),Dict(字典);代码缩进,变量及其命名规则,操作符等。
五大数据类型
Numbers
数字数据类型用于存储数值,分为:int (整型),float (浮点型),complex (复数)。
在 Python 中不用区分‘long int’类型。默认的整数类型可以任意长。(译者注:长度应该与内存包括虚拟内存的大小有关[1])
var1 = var2 = 1 #同时给多个变量赋值
var3 = 2.0
print(type(var1),type(var3))
#print()函数,与Java、C语言一样,用于输出内容
#type()函数,用于查看数据类型
| print的输出为:<class 'int'> <class 'float'>
;眼尖的童鞋也发现了,“#”表示注释。
String
字符串是由数字、字母、下划线组成的字符序列,用于表示文本的数据类型。字符串一旦创建,就不能再改变它。可以用单引号或者双引号指定字符串,两者的使用完全相同,所有的空白,即空格和制表符都照原样保留。可以用三引号("""或者''')指定一个多行的字符串。在三引号中,可以自由的使用单引号和双引号(不需要转义)
var4 = 'Hello,python'
var5 = '''this's my first python program,
"what's you name?",he asked'''
print(var4,type(var4))
print("Hellow,world!")
print(var5)
| 输出:Hello,python <class 'str'>
Hellow,world!
this's my first python program,
"what's you name?",he asked
转义序列,如果单引号指定的字符串中含有单引号,或者双引号指定的序列中含有双引号,要用到转义字符 \ 。另外,必须用转义符 \ 来表示反斜杠。
print('what\'s your name?')
| 输出:what's your name?
如果想要指定两行字符串,除了前面提到的用三引号的字符串,还可以用转义符 \n 表示新的一行的开始。
print('This is the first line\nThis is the second line')
| 输出:This is the first line
This is the second line
在一个字符串中,行末的反斜杠表示续行。
注: 一个反斜杠表示续行,两个反斜杠输出才是反斜杠
print('This is the first line,\
This is the first line too.\\')
| 输出:This is the first line,This is the first line too.\
如果不希望字符串做转义处理,即保留字符串原样,则需要用r或者R来指定自然字符串。用正则表达式的时候请使用自然字符串。
print(r"Newlines are indicated by \n")
| 输出:Newlines are indicated by \n
如果你把两个字符串按字面意义相邻放着,他们会被 Python 自动级连。例如,’What\’s”your name?’ 会被自动转为 "What’s your name?" 。
print('What\'s ''your name?')
| 输出:What's your name?
List/Tuple/Dict
List/Tuple/Dict是数据分析中非常重要的数据结构,后面专门讲解。
列表(List) 是处理一组有序项目的数据结构。列表中的项目包括在方括号中,一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。列表可以包含数字,字符串,列表(嵌套)。
var6 = [1,'a',2.0,"abc",[0,1,2]]
print(var6 , type(var6))
| 输出:[1, 'a', 2.0, 'abc', [0, 1, 2]] <class 'list'>
元组(Tuple)和列表十分类似,只不过元组和字符串一样是不可变的,即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。
var7 = (0,1,2,'hehehe')
print(var7 ,type(var7 ))
| 输出:(0, 1, 2, 'hehehe') <class 'tuple'>
字典(Dict)用{}标识,由索引 key 和它对应的值 value 组成,是无序对象。只能使用不可变的对象(比如字符串)来作为字典的键;而且键必须唯一,好比两个人同名时,无法通过名字找到一个人的正确信息。
var8 = {"name":"kyle", "city":"shenzhen", "tel":1881681168}
print(var8,type(var8))
| 输出:{'name': 'kyle', 'city': 'shenzhen', 'tel': 1881681168} <class 'dict'>
变量
如同 8 、 1.23 、 3.14e-3 这样的数,或者 ’This is a string’ 、 "It’s a string!" 这样的字符串,它们被称作字面意义上的常量。而变量就是我们想要的东西—— 它们的值可以变化,即你可以使用变量存储任何东西。简单理解,方程式“=”左边的,就是变量。
变量的命名规则:
1.变量的第一个字符必须是大小写字母或者一个下划线(‘_’),不能数字开头。
2.变量名称是对大小写敏感的。例如, myname 和 myName 不是一个标识符。
3.变量名不能包含空格,不能和常用功能性名字重合,例如print,type,else.
4.有效变量名称的例子有 i 、 __my_name 、 name_23和 a1b2_c3 。
5.无效变量名称的例子有 2things 、 this is spaced和 my-name 。
count = 10 # 赋值整型变量
f = 1000.0 # 浮点型
name = "kyle" # 字符串
print(count, f,name)
| 输出:10 1000.0 kyle
缩进
Python 不像C、java等使用括号代表代码块,总是使用缩进来代表代块。
i = 0
if i == 0:
print('hello,world!')
else:
print('error!')
操作符
操作符包括:算术运算符、逻辑运算符、比较运算符,成员运算符。
# 算数运算符
a, b, c = 12, 3, 0
c = a + b # 加法
print ("a加b 的值为:", c)
c = a - b # 减法
print( "a减b 的值为:", c )
c = a * b # 乘法
print( "a乘b 的值为:", c )
c = a / b # 除法
print( "a除b 的值为:", c )
c = a % b # 取模,返回除法的余数
print( "a取b的模为:", c)
# 修改变量 a 、b 、c
a, b, = 2, 4
c = a**b # 幂
print( "2的3次方的值为:", c)
a, b = 14, 4
c = a//b # 取整除数
print( "10除4的整除数为:", c)
| 输出:
a加b 的值为: 15
a减b 的值为: 9
a乘b 的值为: 36
a除b 的值为: 4.0
a取b的模为: 0
2的4次方的值为: 16
14除4的整除数为: 3
# 逻辑运算符
print(True and False) # and:且
print(True or False) # or:或
print(not True) # not:非
# 布尔型的本质:True的值等于1,False的值等于0
print(True>0)
| 输出:False True False True
#比较运算符
a, b = 12, 2
print(a == b, ",", a != b,",",a <= b,",",a >=b,",",a >= 21,",",b <= 10)
| 输出:False , True , False , True , False , True
# 成员运算符
lst = [1,2,3,4,5,6]
a,b = 5,50
print(a in lst) # a 在 lst 序列中,返回 True。
print(a not in lst) # a 在 lst 序列中,not in 返回 false。
print(b not in lst) # b 不在 lst 序列中 , 返回 True。
| 输出:True False True
PS:如果是初学者,还没有用过python的开发工具,推荐使用 jupyter notebook 和 spyder3 ,后期也可以考虑 PyCharm 。安装使用请自行Google(强烈推荐,应该懂点科学上网)或者 其他。
[1]: 《A Byte of Python3(中文版)》 Written by:Swaroop, C. H. Translated by:Let it be!
更多精彩内容,欢迎扫码关注