首页 > 代码库 > python之路,Python基础篇2(第二周)

python之路,Python基础篇2(第二周)

一、.pyc是个什么鬼:

pyc文件其实是PyCodeObject的一种持久化保存方式。


二、数据类型


1、数字:

2 是一个整数的例子。

长整数 不过是大一些的整数。

3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。

(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?


int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)

  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

float(浮点型)

  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

complex(复数)

  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

注:Python中存在小数字池:-5 ~ 257



#复数,生产环境用得比较少。

python 2.7 有整型和长整型之分:


>>> (2) -1

1

>>> (2**31) -1

2147483647L

>>>


>>> type( (2**30) -1)

<type ‘int‘>

>>> type( (2**31) -1)

<type ‘long‘>

>>>


python 3.x 没有整型和长整型之分:


>>> type( (2**30) -1)

<class ‘int‘>

>>> type( (2**31) -1)

<class ‘int‘>

>>>


2、布尔值


真或假

1 或 0

>>> 1 is True

False

>>> 0 is False

False

>>> 0 is True

False


3、字符串


"hello world"


万恶的字符串拼接:

python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。


>>> name = ‘luchuan‘

>>> print("my name is " + name + " and you ? ")

my name is luchuan and you ?

>>>


#这等于三块内存空间


字符串格式化输出


name = "luchuan"

print "i am %s " % name


#输出: i am luchuan


PS: 字符串是 %s;整数 %d;浮点数%f


字符串常用功能:

移除空白

分割

长度

索引

切片


1)strip 移除空白

username = input("user:")

if username.strip() == ‘alex‘:

print("welcome")


2)split 分割

name = "alex,jack,rain"

name2 = name.split(",")

print(name2)


3)join 字符串合起来

name = "alex,jack,rain"

name2 = name.split(",")

print("|".join(name2))


4)‘’ in name 判断有没有空格

name="alex li"

print(‘‘ in name)


5)capitalize 首字母大写

name="alex li"

print(name.capitalize())


6)format 格式化

msg = "Hello, {name}, it‘s been a long {age} since last time sopke..."

msg2 = msg.format(name=‘xiaoming‘,age=33)

print(msg2)


msg2 = "haha{0}, dddd{1}"

print(msg2.format(‘Alex‘,33))


7)center 居中

name="alex li"

print(name.center(40,‘-‘))


8)find 查找

name = ‘alex3sdf‘

print(name.find(‘a‘))


9)isdigit是否是数字

age = input("your age:")

if age.isdigit():

age = int(age)

print(age)

else:

print("invalid data type")

10)isalnum 是否只包含字母数字字符

name = ‘alex3sdf‘

print(name.isalnum())


11)endswith 什么时候结尾

name = ‘alex3sdf‘

print(name.endswith(‘df‘))


12)startswith 什么时候开始

name = ‘alex3sdf‘

print(name.startswith(‘df‘))


13)upper 大写

name = ‘alex3sdf‘

print(name.upper())


14)lower 小写

name = ‘alex3sdf‘

print(name.upper().lower())

15)len 长度

print(len(name))


4、列表

列表只有在Python中叫列表,在其他语言中叫数组。


创建列表:


name_list = [‘alex‘, ‘seven‘, ‘eric‘]

name_list = list([‘alex‘, ‘seven‘, ‘eric‘])


基本操作:


索引

切片

追加

删除

长度

循环

包含



name = [‘Alex‘, ‘jack‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘]

>>> name[:]

[‘Alex‘, ‘jack‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘]



索引

>>> name[2]

‘Rain‘


切片

>>> name[2:4]

[‘Rain‘, ‘Eric‘]

>>> name[2:4][0]

‘Rain‘

>>> name[2:4][0][1:2]

‘a‘


修改:

>>> name[1]="xiaoming"

>>> name

[‘Alex‘, ‘xiaoming‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘]


插入:

>>> name.insert(2,‘daming‘)

>>> name

[‘Alex‘, ‘xiaoming‘, ‘daming‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘]


追加:

>>> name.append(‘alex‘)

>>> name

[‘Alex‘, ‘xiaoming‘, ‘daming‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘, ‘alex‘]


删除:

>>> name.remove("daming")

>>> name

[‘Alex‘, ‘xiaoming‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘, ‘alex‘]


练习:

往中间插入两个临组成员的名字

取出第3-8的人列表

删除第9个人

把刚才加入的那2个其他组的人一次性删除

把组长的名字加上组长备注

要求你隔一个人打印一个人


>>> name = [‘Alex‘, ‘xiaoming‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘]


>>> name.insert(-1,"xiaochuan")

>>> name.insert(5,"dachuan")


>>> name[3:8]

[‘Eric‘, ‘Monica‘, ‘dachuan‘, ‘xiaochuan‘, ‘Fiona‘]


>>> name.remove("Fiona")

>>> name

[‘Alex‘, ‘xiaoming‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘dachuan‘, ‘Fiona‘]


>>> del name[4:6]


>>> print(name[::2])


长度:

>>> len(name)

7

>>> name

[‘Alex‘, ‘xiaoming‘, ‘Rain‘, ‘Eric‘, ‘Monica‘, ‘Fiona‘, ‘alex‘]


5、元组(不可变列表)

创建元组:


ages = (11, 22, 33, 44, 55)

ages = tuple((11, 22, 33, 44, 55))


6、字典(无序)

创建字典:

person = {"name": "mr.wu", ‘age‘: 18}

person = dict({"name": "mr.wu", ‘age‘: 18})


常用操作:


索引

新增

删除

键、值、键值对

循环

长度


三、数据运算


计算机中能表示的最小单位,是一个二进制位。

计算机中能存储的最小单位,是一个二进制位(bit)。

8bit = byte(字节)

1024byte = 1kbyte

1024kbyte = 1mbyte

1024mb = 1gb

1024gb = 1T


算数运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:


本文出自 “曲线” 博客,请务必保留此出处http://luchuangao.blog.51cto.com/11311715/1852009

python之路,Python基础篇2(第二周)