目录

一、变量、注释及python之禅

1,老版本开头注释解释

2,注释

3,变量

4,字符串相关操作

5,数字

(1)类型问题

(2)整数相除

6,python之禅

7,print格式化输出

(1)%d格式化数字

(2)常用的格式符号

(3)查看print帮助

(4)print不换行

8,输入

9,运算符

(1)基本说明

(2)字符串重复

10,类型转换

11,判断语句

(1)结构

(2)关系运算符

12,循环语句


之前主要用python2,写python代码时有点不熟练,用到需要的部分再去查,感觉有必要总结一下基础内容。

一、变量、注释及python之禅

1,老版本开头注释解释

在代码第一行写入执行时的python解释器路径,编辑完后需要对此python文件添加'x'权限 

老版本的python2,需要加 #coding=utf-8 python3就不用加了

 

python输出数字到txt显示乱码 python 输出到txt_python输出数字到txt显示乱码

2,注释

 

单行注释

# 这是个注释

多行注释

'''我是多行注释,可以写很多很多行的功能说明 这就是我牛X指出 哈哈哈。。。 '''

 

3,变量

 

python的变量名一半这样写:student_name

和java不同,不是驼峰式的,别的规则基本一样。

变量有如下类型:

python输出数字到txt显示乱码 python 输出到txt_字符串_02

 

查看类型:type(name)

4,字符串相关操作

字符串有相当多的方法,除了这些方法之外,我在正则表达式中也介绍过一些方法,可以用来处理字符串。毕竟在计算机,所有的数据都可以看做字符串,有了这些工具,处理文本数据会变得很方便。

合并字符串(和java一样用+) : "hello " + "world !"

\n :换行 \t:制表符

要确保字符串末尾没有空白,可使用方法rstrip(),两端空白:strip(),左空白:lstrip()

其他:

(1)find与rfind,从左(右)找到字符串的位置

name='name.txt'
name.find('name')
#输出0
#利用rfind找到后缀名(rfind从右向左找):
index = name.rfind('.')
name[index:]

(2)index,同样也有rindex

跟find()方法一样,只不过如果str不在 mystr中会报一个异常.

(3)count 统计字符串出现次数

name.count('txt')
name.count('txt',2,5) #可以加字符串测试的起始位置和结束位置

(4)len 字符串的长度

len(name)

(5)replace替换

name.replace('txt','py') # 注意,name并没有改变,只是生成了新的字符串
name.replace('txt','py',1) #这个数字表示可以替换几次(从左往右数),数据清洗的时候回用到

(6)split 切割

name.split('.') # 对于单词的统计,就可以先切割,然后统计单词数
以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", 2)

(7)capitalize

把字符串的第一个字符大写

mystr.capitalize()

(8)title

把字符串的每个单词首字母大写

>>> a = "hello itcast" >>> a.title() 'Hello Itcast'

(9)startswith

name.startswith('na')
# 加一点关于True和False的说明,在python中,0表示False,非0表示True

(10)endswith

name.endswith('txt')

(11)name.upper()

全部字母大写

(12)name.lower()

全部字母小写

这个方法可以在统计单词时用到,比如大写的Hello和hello,经过处理后会被当做一个单词来处理。包括判断是否退出等操作,均可以用到。

(13)ljust

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

name.ljust(20)

(14)rjust

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

name.rjust(20)

(15)center

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

name.center(20)

(16)lstrip、rstrip、strip:清除空格

l清除左边的,rstrip清除右边的,strip两边都清

name=' 11233455 '
name.rstrip()

(17)partition,rpartition从右边开始

把mystr以str分割成三部分,str前,str和str后

mystr.partition(str)

(18)splitlines

按照行分隔,返回一个包含各行作为元素的列表

mystr.splitlines()

(19)isalpha

如果 mystr 所有字符都是字母 则返回 True,否则返回 False

mystr.isalpha()

(20)isdigit

如果 mystr 只包含数字则返回 True 否则返回 False.

mystr.isdigit()

(21)isalnum

如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False

mystr.isalnum()

(22)isspace

如果 mystr 中只包含空格,则返回 True,否则返回 False.

mystr.isspace()

(23)join

mystr 中每个字符后面插入str,构造出一个新的字符串

mystr.join(str)
>>> myNames=['aaa','bbb','ccc']
>>> str = '='
>>> str.join(myNames)
'aaa=bbb=ccc'

 

(24)字符串题目

给定一个字符串aStr,返回使用空格或者'\t'分割后的倒数第二个子串

答案:

str='a kid like a \tgirl.He\tis a cute boy.'
a = str.split()
a[-2]

5,数字

数字的操作基本上和java是一样的,有几个地方需要注意一下:

(1)类型问题

age = 23
message = "Happy " + age + "rd Birthday!"
print(message)

这样的语句是会报错的:can only concatenate str (not "int") to str

这是一个类型错误。

message = "Happy " + str(age) + "rd Birthday!"

(2)整数相除

python2中,3/2 会打印出1

python3中,3/2 会打印出1.5

 

6,python之禅

输入import this就可以查看python之禅的一些内容了。

 

7,print格式化输出

(1)%d格式化数字

age = 18 name = "xiaohua" print("我的姓名是%s,年龄是%d"%(name,age))

如果是有多个变量:

print('my age is %d, my height is %d'%(age,height))

(2)常用的格式符号

下面是完整的,它可以与%符号使用列表:

格式符号

转换

%c

字符

%s

通过str() 字符串转换来格式化

%i

有符号十进制整数

%d

有符号十进制整数

%u

无符号十进制整数

%o

八进制整数

%x

十六进制整数(小写字母)

%X

十六进制整数(大写字母)

%e

索引符号(小写'e')

%E

索引符号(大写“E”)

%f

浮点实数

%g

%f和%e 的简写

%G

%f和%E的简写

(3)查看print帮助

help(print)

(4)print不换行

print(message,end="")

8,输入

 

(1)python3输入

input("请输入用户名")
注意input输入的都是字符串

(2)python2输入

raw_input()

在python2中input,可以计算表达式,不安全,因此在python3中进行了舍弃。

9,运算符

 

(1)基本说明

语言的运算符大体相同,和java相比,有两个算术运算符注意一下:

 

 

**

返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000

运算符分为算术运算符、赋值运算符和复合赋值运算符

(2)字符串重复

print('='*30)

输出:==============================

 

10,类型转换

常用的数据类型转换

函数

说明

int(x [,base ])

将x转换为一个整数

long(x [,base ])

将x转换为一个长整数

float(x )

将x转换到一个浮点数

complex(real [,imag ])

创建一个复数

str(x )

将对象 x 转换为字符串

repr(x )

将对象 x 转换为表达式字符串

eval(str )

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s )

将序列 s 转换为一个元组

list(s )

将序列 s 转换为一个列表

chr(x )

将一个整数转换为一个字符

unichr(x )

将一个整数转换为Unicode字符

ord(x )

将一个字符转换为它的整数值

hex(x )

将一个整数转换为一个十六进制字符串

oct(x )

将一个整数转换为一个八进制字符串

举例

a = '100' # 此时a的类型是一个字符串,里面存放了100这3个字符

b = int(a) # 此时b的类型是整型,里面存放的是数字100

 

11,判断语句

(1)结构

 

age=16
if age >5 :
   print('>5')
elif age >10 :
   print('>10' )
else :
   print('<=5' )

 

(2)关系运算符

有两点注意:

1、逻辑运算符中<>和!=均表示不等于

2、与java不同,逻辑运算符对应为:& --- and; | --- or; ! --- not

12,循环语句

(1)while:

i=0
sum = 0
while(i<100):
sum+=i
i +=1

(2)for 循环

for 临时变量 in 列表或者字符串等:

循环满⾜条件时执⾏的代码

else:

循环不满⾜条件时执⾏的代码

 

同样在python的循环中也可以用break和continue