Python基础学习(1)

最近实验室事不多,正好抽出时间好好学习一下python,准备每个阶段都以blog的方式来进行记录,欢迎大家交流

python中的变量需要被赋值之后才能创建成功

try:
    print(X)
except NameError:
    print('not defined')

输出为:not defined

关于类方面,先定义一个类,再实例话一个类,我们可以看看两者的区别

class my_class(object):
    pass
myclass = my_class()
print(type(my_class))
print(type(myclass))

输出为:

<class 'type'>
<class '__main__.my_class'>
可见一个类实例化之后它的类型就是我们自己定义的类型

 

接下来是关于字符串的一些操作:

1.去除字符串中的空格:

s = '  abcefg  h'
print(s.strip()) #去除字符串中的所有空格
print(s.lstrip()) #去除字符串中的左边的空格
print(s.rstrip()) #去除字符串中右边的空格

输出为:

abcefg  h
abcefg  h
  abcefg  h
  abcefg  h


2.字符串的连接

s1 = 'abc'
s2 = 'def'
print(s1 + s2) #直接加就好

输出为:abcdefg

 

3.改变字符串中的大小写

s = 'ABCDabcd'
print(s.upper())
print(s.upper().lower())
print(s.capitalize())#将首字母改为大写,其他改为小写

输出为:

ABCDABCD
abcdabcd
Abcdabcd

4.字符串位置查询

s1 = 'abcdefg'
s2 = 'abcefgh'
print(s1.index('bcd'))
try:
    print(s2.index('bcd'))
except ValueError:
    print('Not found')

输出为:

1
Not found

 

5.字符串之间的比较

s = ''
s1 = 'abcdefg'
s2 = 'abdefgh'
print(s1 == s2)
print(s1 < s2)
print(s1 > s2)
if not s:
    print('the string is empty')

输出为:

False
True
False
the string is empty
 

6.字符串的分割和连接,在数据分析时很有用

#字符串的分割
s = 'abc,efg,hij'
splitted_1 = s.split(',')#
splitted_2 = s.split(',',1)#表示只分割一次
print(splitted_1)
print(splitted_2)
print(type(splitted_1))
print(type(splitted_2))

s1 = """abc
def
ghi"""
print(s1.split('\n'))
print(s1.splitlines())

#字符串的连接
s2 = ['abc','def','hij']
print(' '.join(s2))
print('-'.join(s2))

输出为:

['abc', 'efg', 'hij']
['abc', 'efg,hij']
<class 'list'>
<class 'list'>
['abc', 'def', 'ghi']
['abc', 'def', 'ghi']
abc def hij
abc-def-hij
 

7.字符串中常用的一些判断

s = 'abcdefg'
print(s.startswith('abc'))
print(s.endswith('efg'))
print('1234abcd'.isalnum())
print('\t12ab'.isalnum())
print('abcd'.isalpha())
print('   '.isspace())
print('abcd12345'.islower())
print('ABCD12345'.isupper())
print('Hello World'.istitle())#检验字符串首字母是否为大写

输出为:

True
True
True
False
True
True
True
True
True
 

8.字符串的进制转换

print(int('1111',2))#转化为2进制
print(int('ff',16))#转化为16进制

输出为:

15
255

 

接下来时python中的循环,举两个简单的例子,分别为for循环和while循环

for i in range(0,10,2):
    print(i)
print('\n')
j = 0
while j < 10:
    print(j)
    j = j + 1

输出为:

0
2
4
6
8


0
1
2
3
4
5
6
7
8
9

最后是关于函数的部分

1.python中的函数可以返回一个以上的值

def func1(argv1,argv2):
    return argv1,argv2
f= func1(100,200)
print(f)
print(type(f))

输出为:

(100, 200)
<class 'tuple'>
 

2.python函数中的可变参数

def func(name, *numbers):#将name后面的参数封装在一个tuple中,tuple相当与一个只读数组
    print(type(numbers))
    print(numbers)
    print(numbers[0])
    print(numbers[3])
    return 'Done'
func('Tom', 1, 2, 3,'abc', 'def')

输出为:

<class 'tuple'>
(1, 2, 3, 'abc', 'def')
1
abc
 

def func(name, **kvs): #**将name后的参数封装到dict中
    print(name)
    print(type(kvs))
    print(kvs)

func('Tom',China = 'Beijing', UK = 'london')
func('Tom',**{'China' : 'Beijing', 'UK' : 'London'})

输出为:

Tom
<class 'dict'>
{'China': 'Beijing', 'UK': 'london'}
Tom
<class 'dict'>
{'China': 'Beijing', 'UK': 'London'}
 

def func(a,b,c = 0,*args,**kvs):
    print(a,b,c)
    print(args)
    print(kvs)
    print('\n')
func(1,2)
func(1,2,3)
func(1,2,3,'a','b','c')
func(1,2,3,'a','b',china = 'bj',uk = 'ld')
func(1,2,3,*('a','b'),**{'china' : 'BJ','uk' : 'LD'})

输出为:

1 2 0
()
{}


1 2 3
()
{}


1 2 3
('a', 'b', 'c')
{}


1 2 3
('a', 'b')
{'china': 'bj', 'uk': 'ld'}


1 2 3
('a', 'b')
{'china': 'BJ', 'uk': 'LD'}
 

3.python中的函数可以作为参数

def sum(x, y, p = None):
    s = x + y
    if p:
        p(s)
    return s
sum(100,200)
sum(100,200,print)

输出为:300

def do_sum(data,method):
    return method(data)
print(do_sum([1,2,3,4],sum))

输出为:10

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值