Python 基本语法(一)

Python

python中分为 可变数据类型 和 不可变数据类型
可变数据类型: 列表(list) 集合(set) 字典(dict)
不可变类型: 数值(number) 布尔(bool) 字符串(str)
元祖(tuple) 哈希(hash)

1.数值

整数(int):
在[-5,256]区间内 内存地址是唯一的
列如:
a = 10 b = 10
id(a) = 140604090635424 id(b) = 140604090635424
a = 257 b = 257
id(a) = 140604090670016 id(b) = 140604090670040
所以在区间内,若两个变量指向同一对象,则内存地址一样
分数(fraction): 不是基本数据类型
复数类型(complex)

2.字符 (str):

没有字符类型,但可以表示字符
chr(ascii) : 返回对应字符 ord(‘a’) : 可以获得对应的ascii码
+ : 两个字符串可以拼接起来
* : 乘一个整数 相当于将字符串复制整数倍 生成新字符串
[ ] : 通过下标访问得到字符串中的字符 但是不能修改
str[ i ] 可以取得一个字符

[ ] : 切片 [start : end :step] 从下边start开始,到end结束(不 包含end),每次步长取step
step可正可负 默认是1 step : -1 从后往前(字符串逆序)

3.列表 [ ]

列表中可以存储任意类型的元素
可以修改列表的值

4.元祖( )

如果元祖中只有一个元素,需要加一个逗号
t = ( 1 ) int
t = ( 1, ) tuple
count : 统计某个元素的个数 a.count( ) 括号里要给对象
index : 获得某个元素的下标 一样要给对象

5.集合 { }

不能使用下标访问[ ] 只存储不可变数据类型 没有重复的元素
集合中元素的位置不是由插入顺序决定,而是由值决定

6.字典 { }

key-value pair 键值对 字典中的每一项都是 key-value
字典中的key不能重复 如果key重复了 只会保留最后一个key
所对应的value 字典中的key是不可变类型的
字典对象[’key’] 就能访问到key所对应的value
d[key] = value 如果key不存在就往字典中添加一项 如果存 在则更新key的值
字典的遍历:
for key in d:
print( key , d[ key ] )
判断dict是否存在key的键值对: key in dict
注:集合和字典都是用{ }来表示,所以当出现:
x={ } x 类型是dict 如果需要构造空集合 s = set( )

Python 中的语句

1. 分支选择

if elif else

2. 条件循环

while condition:
for 循环变量 in 可迭代对象: (遍历可使用)
break continue

type( ) 能够获得变量的类型
print( ) 输出 input( ) 输入 输入的数据都是str

Python 中的变量

python中的变量类似C中的指针 全部都是引用类型
变量本身不存储数据 只是引用了一个数据
x = 1 创建变量x引用1对象时 如果x已经定义 则让x引用1
y 访问变量y引用的对象 如果y没有定义则报错
例: a = 10 创建一个变量a a引用对象10
a += 30 取a变量引用的对象的值加上30生成一个新的数据对
象 然后a引用对象
a = ‘hello’ 赋值语句并没有修改a所指向的内存区域中的数据
只是改变了a的指向
python 中交换两个变量的值:
a , b = b , a
赋值: l=(1,2,3)
a, b, c = l
a=1,b=2,c=3

Python 的函数

def funcname(argname):
funcname : 函数名
argname : 形参名 如果有多个形参名 用逗号隔开
python的函数不需要返回值类型声明
函数可以有返回值 也可以没有 python一个函数可以有多个返
回值
在python函数体前面的字符串是函数的说明文档
函数名其实也是一个变量 该变量引用(指向)函数 函数也是一
个对象(一切皆对象)
当函数返回两个结果时 装箱 把多个返回值作为元祖返回

return 结束函数调用 返回数据
python中的函数没有返回值类型声明 可以返回一个数据 也可以返回多个数据
返回多个数据时 本质上是利用了 tuple

python中的函数名是一个普通的变量 引用变量 函数名 引用了 一个函数
python中的函数名本质上是一个引用变量 可以把任意数据对象赋值给函数名

python调用函数时的参数传递:

1.不可变数据类型 函数内部修改形参不会影响实参的结果
2.可变数据类型 函数内部可以修改这个对象的元素 对实参可见
但是如果修改形参的指向(直接对形参进行赋值) 不影响实参

python的形参:

1.必需参数

在调用时必需传递
def func(arg):
pass

2.缺省参数

形参有默认值 当不传递该参数时 采用默认值
缺省参数靠右原则:
当一个参数有缺省值时,那么它后面所有的参数都必须带缺省值
缺省参数在函数调用进可以传可以不传

缺省参数之前的参数 是 必需参数
def func(a,b=1,c=1):
pass

3.关键字参数

def func(name,age):
pass

func(“zhangsan”,18)
func(18,“zhangsan”) 实参和形参一一对应 所以如果实参和形参的个数一样即可调用
func(age=18,name=“zhangsan”) 在调用函数时指定了实参传递给哪个形参

在不定长参数列表后面的形参为关键字参数
关键字参数必须在传递时使用形参名
def func(a,*arg,b):
pass

func(1,2,3,4,5,b=10) #必须使用b=10给 b传递参数

def func(a,*arg,b=10):
pass

func(1,2,3,4,5)
func(1,2,3,4,5,b=6)
关键字(有名)参数必须在无名参数后

4.不定长参数
def func(*arg): #arg本质上是一个元祖
pass

func(1)
func(1,2)
func(1,2,3)
func([1,2,3]) 【1,2,3]作为一个参数传递给函数
func(*[1,2,3]) 把列表进行拆包 列表中的每一个元素作为独立的一个参数传递给函数

def func(**kw): kw本质上是一个字典 不定长的关键字参数
pass

d = {‘name’:‘zhangsan’,“age”:18,‘tel’:1878888888}
func(**d)
func(name=‘zhangsan’,age=18,tel=18234232)

万能参数:

def func(*args,**kw):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值