Python基础学习——基本语法及数据类型的基本操作

一、基本语法

首先是编码问题,在python3中源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。
标识符
规则与C语言一致,不多赘述。对于关键字来说我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字。

>>> import keyword
>>> keyword.kwlist

注释
与C,C++不同的是,Python中单行注释以 # 开头,多行注释可以用'''

# 注释
'''
注释
'''

行与缩进
Python使用缩进来表示代码块,不需要使用大括号,这是我认为与C基本语法最大不同的一点 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句。同样Python可以在同一行中使用多条语句,语句之间使用分号(;)分割。

空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

Print 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""

x="a"
print(x,end=" ")

import 与 from…import

  • 在 python 用 import 或者 from…import 来导入相应的模块。
  • 将整个模块(somemodule)导入,格式为: import somemodule
  • 从某个模块中导入某个函数,格式为: from somemodule import somefunction
  • 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

脚本式编程
在cmd中执行你的python脚本,若在Linux中先添加执行权限后再执行!

python3 你的文件

二、数据类型

1. number 数字

Python3 支持 int、float、bool、complex(复数)。在Python 3里,只有一种整数类型 int,表示为长整型。数字计算很直观
有几个强大的函数:

  • round(x [,n]) ,返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。
  • floor(x) ,返回数字的下舍整数,如math.floor(4.9)返回 4
  • choice(seq),从序列的元素中随机挑选一个元素
  • uniform(x, y),随机生成下一个实数,它在[x,y]范围内。

注意的几点:Python可以同时为多个变量赋值,数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。在混合计算时,Python会把整型转换成为浮点数。

2. string 字符串

Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
字符串截取:变量[头下标:尾下标],遵循左闭右开原则
索引值以 0 为开始值,-1 为从末尾的开始位置。加号是字符串的连接符, 星号表示复制当前字符串,与之结合的数字为复制的次数。

print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次,也可以写成 print (2 * str) 
print (str + "TEST") # 连接字符串

字符串中的查询:in,成员运算符,如果字符串中包含给定的字符返回 True,反之not in 类似。

字符串格式化

print ("name is %s ,age is %d" % ('xzy', 10))
#字符串的格式符与C语言的输出格式符大同小异

几个常用的函数

  • str.count(sub, beg= 0,end=len(str)),返回 sub 在 str 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 sub 出现的次数
  • find,函数格式与上一样,检测 sub 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
  • lower(),转换字符串中所有大写字符为小写.

注意:python中的字符串不能改变!

3. list 列表

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。列表是写在方括号 [ ] 之间、用逗号分隔开的元素列表。和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。 List中的元素是可以改变的。
删除:
使用 del 语句来删除列表的的元素

list = [1234]
del list[2]
print(list)
#删除后list为[1,2,4]

常用函数:

  • list(seq),将元组转换为列表
  • len(list),max(list),min(list),列表元素个数,求最大最小
  • list.append(obj),在列表末尾添加新的对象
  • list.count(obj),统计某个元素在列表中出现的次数
  • list.index(obj),从列表中找出某个值第一个匹配项的索引位置
  • list.insert(index, obj),将对象插入列表
  • list.pop([index=-1]),移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  • list.remove(obj),移除列表中某个值的第一个匹配项
  • list.reverse(),反向列表中元素,list.clear(),清空列表,list.copy(),复制列表

注意:Python 列表截取可以接收第三个参数,参数作用是截取的步长,如果为负数表示逆向读取,

4. tuple 元组

元组(tuple)与列表类似,元组中的数据类型也可以不相同。元组写在小括号 () 里,元素之间用逗号隔开。 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。

访问元组与列表类似。
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

元组内置函数

  • len,max,min,与list一样
  • tuple(iterable),将可迭代系列转换为元组。

元组的不可变性,指的是元组所指向的内存中的内容不可变。重新赋值的元组 tup,绑定到新的对象了,不是修改了原来的对象。

5. set 集合

基本功能是进行成员关系测试和删除重复元素。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a - b)     # a 和 b 的差集
print(a | b)     # a 和 b 的并集
print(a & b)     # a 和 b 的交集
print(a ^ b)     # a 和 b 中不同时存在的元素

添加元素
s.add( x ),将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。

s.update( x ),x 可以有多个,用逗号分开,参数可以是列表,元组,字典等。

移除元素
s.remove( x ),将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式所示:s.discard( x )

s.pop(),随机删除一个元素。

6. dictionary 字典

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。字典中的值可以修改,键不能修改!

tinydict = {
     'name': 'xxx','code':1}
tinydict['age']=2 #增加
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
print (tinydict['name'])  # 输出键为name 的值

删除元素

tinydict = {
     'name': 'xxx','code':1}
del tinydict['name'] #删除一个
tinydict.clear() #清空字典
del tinydict #删除字典

注:由于我已学过一部分C,C++,现在接触python,发现其中有很多的共通点,所以我的学习手记就只说重点了。

你可能感兴趣的:(python学习手记,python)