认识python
Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚 本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
令人舒服的代码模式
python的代码格式有严格要求,没有花括弧,只有代码缩进来表示代码的包含关系
运算表达式
>>> 2+2
4
>>> 2-6
-4
>>> 2*5
10
>>> 2/5
0.4
>>> 15//3 #整除运算
5
>>> 16//3
5
>>> 16%3 #求模(求余)运算
1
>>> 3**2 #乘方
9
Number类型
int、bool、float、complex
字符串
三种字符串的表示方式,三个引号可以多行,但是如果不赋值变量,这个字符串就相当是一段被注释的文字,毫无作用,同时注释可以用#
word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python中的字符串不能改变。
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
str='Runoob'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
空行
空行并不是Python语法的一部分,但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
print输出
# 换行输出
print( x )
print( y )
print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " ) #后面加上end=""可以实现换行输出
import 与 from…import
在 python 用 import 或者 from…import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
赋值
a, b, c = 1, 2, "runoob" #很高级方便的赋值方式
标准数据类型
Python3 中有六个标准的数据类型:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
List(列表)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
元组中的元素类型也可以不相同,可以把字符串看作一种特殊的元组。
特别的:
tup2 = (20,) # 一个元素,需要在元素后添加逗号
string、list 和 tuple 都属于 sequence(序列)。
Set(集合)
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
Dictionary(字典)
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
在语法允许的情况下,python支持数据类型转换,在你能力足够的情况下,在你需要的时候总能办到
python3运算符
和大多数的编程语言并无不同,此处不单独详解
运算符
比较运算符
赋值运算符(如**= 、+=、//=等)
位运算符
Python语言支持逻辑运算符(and、or、not)
Python还支持成员运算符(in、not in)
身份运算符用于比较两个对象的存储单元(is、not is)
运算符优先级不做讨论
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
//还有<<和>> 这个部分看不懂也可以上网或翻阅资料查看,非常简单
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b; # 12 = 0000 1100
print ("1 - c 的值为:", c) #1 - c 的值为: 12
c = a | b; # 61 = 0011 1101
print ("2 - c 的值为:", c) #2 - c 的值为: 61
c = a ^ b; # 49 = 0011 0001
print ("3 - c 的值为:", c) #3 - c 的值为: 49
c = ~a; # -61 = 1100 0011
print ("4 - c 的值为:", c) #4 - c 的值为: -61
c = a << 2; # 240 = 1111 0000
print ("5 - c 的值为:", c) #5 - c 的值为: 240
c = a >> 2; # 15 = 0000 1111
print ("6 - c 的值为:", c) #6 - c 的值为: 15
开始编程
以上知识都是为正确的编程姿势做准备,在我看来,仅仅会上面的操作是远远不够的,但为什么不直接把所有的方法补充呢,因为生硬的去记方法,不如在有趣的编程中去体会编程语言的乐趣学的更惬意~
有趣的fibonacci
# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 1000:
print(b, end=',') #顺带体会下end的作用
a, b = b, a+b
#运行结果:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
if条件判断
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
while循环
n = 100 #输入的用法可以是n=input("请输入n的值")
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum)) #占位符的使用方法
#执行结果为:1 到 100 之和为: 5050
for循环
for <variable> in <sequence>:
<statements>
else:
<statements>
关于for循环,我这里没有列举range()函数的用法,可以去了解下,很方便的一个东西
小结
关于python最基础的语法我就介绍到这里,仅适合有一点编程基础的有兴趣的coder浏览和相互学习,希望大家共同进步,欢迎指正~
总结源于连接https://www.runoob.com/python3/python3-basic-syntax.html