认识python
-
数据类型
- 数据是一切程序的基石,python虽然是弱类型语言,但是也不例外
-
数值类型
类型 | 英文 |
数据 |
整型 |
int |
整数,无限大 |
浮点型 |
float |
小数 |
负数 |
complex |
复数由实部和虚部部分构成 |
-
字符类型
-
python中没有单字符类型,只有字符串类型
- 被包裹在' '和" "之中
- 被包裹在' '和" "之中
-
-
变量
- python是弱类型语言,不需要写数据类型,但是需要初始化
-
变量命名规则
-
跟c和c++一样
- 只能用数字,字母和下划线
- 数字不能用作变量开头
- 不能使用关键字
- 只能用数字,字母和下划线
-
- python是弱类型语言,不需要写数据类型,但是需要初始化
-
关键字
- 关键字就是在python中有特殊含义的单词
算术 |
引入 |
异常 |
控制 |
操作与状态 |
返回退出 |
定义 |
and |
import |
except |
while |
del |
return |
lambda |
or |
as |
try |
if |
assert |
yield |
class |
in |
from |
finally |
else |
True |
continue |
def |
is |
|
raise |
elsif |
False |
pass |
global |
not |
|
with |
for |
None |
break |
nonlocal |
-
输入输出
-
输入 input
-
例子: a =eval(input('please input something '))
- 注:input默认接收为字符串,可以使用类型强转,也可以用eval自动转换
-
-
输出 print
-
例子:print(a)
- 注:python3 中print强制使用()
- 注:python3 中print强制使用()
-
-
python基础语法
-
运算符
-
运算符举例
-
运算符类型 |
运算符 |
|
算术运算符 |
+ - * / % ** // |
|
关系运算符 |
> <= < <= == != <> |
|
位运算符 |
~ & | ^ << >> |
|
逻辑运算符 |
and or not |
|
赋值运算符 |
= += -= *= /= %= |
|
身份运算符 |
is is not |
|
成员关系运算符 |
in not int |
|
-
不太常见的运算符
- ** 乘方
>>> 5**2
25
>>>
- // 整除
>>> 10/3
3.3333333333333335
>>> 10//3
3
>>>
- ** 乘方
-
运算符优先级
- 懒得写,加括号吧
-
选择结构
-
if语句
-
单if语句
-
if 表达式:
语句序列
else:
语句序列
-
示例:
nUserInput=eval(input("please input a number >"))
if nUserInput%2==0:
print("偶数")
else:
print("奇数")
-
-
if -elif-else 结构
-
if 表达式:
语句序列
elif 表达式:
语句序列
elif 表达式:
语句序列
else:
语句序列
-
示例
nUserInput=eval(input("please input a number >"))
if nUserInput ==1:
print("MON")
elif nUserInput==2:
print("TUE")
elif nUserInput==3:
print("WED")
elif nUserInput==4:
print("THU")
elif nUserInput==5:
print("FRI")
elif nUserInput==6:
print("SAT")
elif nUserInput==7:
print("SUN")
else:
print("woring number")
-
-
-
逻辑结果
-
if语句中紧跟着的表达式应该是关系表达式,只有2种结果true 和false ,除了常见的关系外,还有下面比较隐晦的关系表达式
-
-
对象 |
结果 |
备注 |
"" |
False |
空字符串 |
"Str" |
True |
常量恒为真 |
0 |
False |
|
1 |
Ture |
非0的数字都为真 |
() |
False |
空元组 |
[] |
False |
空列表 |
{} |
False |
空字典 |
None |
Flase |
|
-
列表
- 什么是列表:列表是一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目
-
列表定义:使用方括号定义,中间可以填一些数据
- listObj=[1,2,3]
-
使用下标索引
- print(listObj[0])
-
修改某一个元素
- listObj[1]=10
- listObj[1]=10
-
删除列表中的某一个元素
- del listObj[0]
- del listObj[0]
-
列表中可以储存不同的数据类型的元素
- listObj=[1,2,"hehe"]
- listObj=[1,2,"hehe"]
-
列表中嵌套列表
- listObj2 =[1,2,3,[listObj]]
- listObj2 =[1,2,3,[listObj]]
-
列表使用的常见函数
-
求列表元素的个数
- nNum=len(listObj)
- nNum=len(listObj)
-
列表的拼接
- listObj3 =listObj+listObj2
- listObj3 =listObj+listObj2
-
列表的重复
- listObj4=listObj*3+listObj*5
-
列表的比较
- python3 中放弃了cmp函数,operator库中有一些函数可以比较
- python3 中放弃了cmp函数,operator库中有一些函数可以比较
-
求最大最小值
- max(listObj)
- min(listObj)
- max(listObj)
-
字符串转列表
- listObj5=list("hello this is string")
-
-
list常用的自带函数
- 面向对象的语言是一切皆对象,python对这个理念的贯彻是更加彻底
-
既然一切都皆对象了,那么list肯定也是一个类,是类就肯定会有自带的方法
- 面向对象的语言是一切皆对象,python对这个理念的贯彻是更加彻底
方法 |
功能 |
简单示例 |
append |
输入数据到最后 |
listObj.append(10) |
count |
统计某个元素的出现次数 |
listObj.count(1) |
extend |
追加列表到新的列表后面 |
listObj.extend(listObj2) |
index |
查找某一个元素第一次出现的下标 |
listObj.index(10) |
insert |
在指定位置添加元素 |
listObj.insert(1,99) 在索引为1的位置添加数字值为99 |
pop |
删除指定的元素, 并返回 |
b.pop(2) 参数为索引 |
remove |
移除列表中某个值第一次匹配的项 |
listObj.remove(1) 传入的为要移除的值,不是索引 |
reverse |
把列表凡响 |
listObj.reverse() |
sort |
把列表排序 |
listObj.sort() |
-
元组
- 元组是不可变的序列,用圆括号来表示
- 元组跟列表相似,但是已经初始化就不能够修改
-
定义
- tupleObj=(1,2,3,4)
-
如果tuple中只有一个元素的时候,第一个元素后面要加逗号
- tupleObj2=(12,)
- tupleObj=(1,2,3,4)
-
元素的使用基本上跟列表一样,但是元素中的项是不可改变的,更加的安全,如果列表中的值不需要改动,尽量适应tuple替代list
- 注:这里所说的项不可改变,可以用c语言中的指针来理解,是指向这个空间的指针不变,并不是这个空间内的数据不变(前提是数据不是常量)
- 注:这里所说的项不可改变,可以用c语言中的指针来理解,是指向这个空间的指针不变,并不是这个空间内的数据不变(前提是数据不是常量)
-
字典
-
字典的特性
- 字典中的键是唯一的,如果出现2个相同的键,那么后出现的键会取代前面的键
- 访问不存在的键会报错
-
字典中的值没有限制,但是键有一定的限制
- 键是唯一的
- 键是不可变的,因为可以使用数字,元组,字符串,但是不能使用列表作为键
-
字典的定义
- 字典由键值对(key—value)组成,字典也被称为哈希表(hash)
-
定义
-
dictObj={"a":2,"c"1}
- print(dictObj)
- print(dict["a"])
- print(dictObj)
-
- 字典由键值对(key—value)组成,字典也被称为哈希表(hash)
-
字典中常用的函数
-
方法 |
功能 |
简单示例 |
clear |
清空字典 |
dictObj.clear() |
copy |
拷贝 |
dicObj2=dictObj.copy() |
get |
获取一个键的键值 |
dictObj.get("a") |
setdefault |
获取一个键的键值,不存在就设置一个 |
dictObj.setdefault("m",20 ) 取"m"的值,如果没有这个键就设置一个,值为20 |
__contains__(key) |
是否存在这个键,等同于xx in xx |
dictObj.__contains__("a") 前后都是2个下划线 |
keys |
以列表的形式返回所有的键 |
dictObj.keys() |
values |
以列表的形式返回所有的键对应的键值 |
dictObj.values() |
update |
把源地址添加到目地字典中 |
dictObj.update(dictObj2) 把字典obj2添加到obj1中 |
-
循环结构
-
python中最简单的循环结构就是while循环
- 实例
nCount=0
while nCount<9:
print("the count is :%d"%nCount)
nCount +=1
- 运行结果
the count is :0
the count is :1
the count is :2
the count is :3
the count is :4
the count is :5
the count is :6
the count is :7
the count is :8
-
for循环
- python中的for语句跟传统的for语句不太一样
- 它接受序列或者迭代器作为其参数
- 每次循环取出其中一个参数
-
语法:
-
for 循环索引值 in 序列:
循环体
-
for循环的执行过程
- 每次执行的时候,判断循环索引值是否还在序列中
- 如果在 ,就取出给循环体使用
- 如果不在,结束循环
- 每次执行的时候,判断循环索引值是否还在序列中
-
实例
for i in "hello world":
print(i)
for i in [1,2,3]:
print(i)
for i in range(1,10,2):
print(i)
-
注:range()是生成一个序列的方法,常用可以传3个参数
-
参数1:起始值,包括这个值
- 可省略,不填默认为0
-
参数2:终点值,不包括这个值
- 不可省略
-
参数3:步长
- 可省略,不填步长默认为1
- 可省略,不填步长默认为1
-
-
通过enumerate()函数遍历
-
对于一个可迭代/可遍历的对象(如列表,字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
- 实例
- 实例
-
listObj[1,2,3,5,6]
for index, tem in enumerate(listObj):
print(index,tem)
-
-
- python中的for语句跟传统的for语句不太一样
-
循环中的else 语句
- 了解即可,一般非常少用
- 例如 for 。。。else 语句
- 这种语句会在循环不是break 中断的时候,执行else语句
- 实例
for i in range(10):
if i%8==0:
break
esle:
print("test else")
- 了解即可,一般非常少用
-
continue 与break语句
- continue 跳过本条循环
- break 是跳出循环
- continue 跳过本条循环
-
The post python3整理之基础语法1 appeared first on cole.
http://ift.tt/eA8V8J Python September 11, 2017 at 08:52PM
评论
发表评论