Python学习笔记(1)

2.1 语法基础

2.1.1 缩进分层

In [6]:

a = 3
b = 1
if a > b:
    print(a) #强制缩进,否则代码无法运行
3

2. 1.2 代码注释

In [14]:

#a = 1
'''
ddddddd   三个单引号或者三个双引号为多行注释
'''
print(123) #该条测试打印防止出现多行注释内容
123

2.1.3 断行

In [15]:

print(111);print(222)  #用;来连接两个语句
111
222

In [29]:

print('111'\
     '222')#\之后不能放任何字符或者单行注释
111222

2.2 输入/输出

2.2.1 输入

In [30]:

name = input('请输入任意字符:')
请输入任意字符:123

2.2.2 输出

In [32]:

print('a','b','c')
print('a','b','c',sep=',')  #sep多个要输出信息之间的分隔符,默认为空格,参看第一个
print('a','b','c',end=';')  #end所要输出信息之后添加的符号,默认为换行符,结合第四个
print('e','f','g')
a b c
a,b,c
a b c;e f g

2.3 用PYTHON进行计算

2.3.1 算式与代数式运算

In [1]:

3*5/2+4*2

Out[1]:

15.5

In [3]:

2**3

Out[3]:

8

In [4]:

x = 3
2*x**2-x+4

Out[4]:

19

sin(x) 正弦 cos(x) 余弦 asin(x) 反正弦 acos(x) 反余弦 tan(x) 正切 atan(x) 余切 hypot(x,y) 直角三角形斜边长度 fomd(x,y) x/y余数 ceil(x) 取不小于x的最小整数 floor(x) 取不大于x的最大整数 fabs(x) 求绝对值 exp(x) x次幂 pow(x,y) 求x的y次幂 log10(x) 求x的10底对数 sqrt(x) 求x的平方根 pi π的值

In [5]:

import math #不是内建函数,需导入
math.sin(2)

Out[5]:

0.9092974268256817

In [10]:

import math
x = 100
math.ceil(x)

Out[10]:

100

2.3.2 惊奇

In [11]:

0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1

Out[11]:

0.8999999999999999

In [12]:

0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 == 0.9

Out[12]:

False

In [20]:

0.9-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1<10**-9 #比较两个浮点数是否相等,看他们的差值是否小于一个极小的数即可

Out[20]:

True

3 python数据类型

3.1 简单数据类型

3.1.1 字符串

In [26]:

print('abc"def"')
print("abc'def'")
print('''
abcdef
''')
abc"def"
abc'def'

abcdef
1、转义字符

\n 换行符 \t 制表符(TAB) \r 回车 \\ “\”字符 \' 字符串中单引号 \" 字符串中双引号

In [28]:

print('abcd\nefg')
print('abcd\tefg')
print('abcd\\efg')
print('abcd\'efg')
print('abcd\"efg')
abcd
efg
abcd	efg
abcd\efg
abcd'efg
abcd"efg
2、字符串运算

In [30]:

print('aaa'+'bbb')  #+连接字符串
print('python\t'*3)  #*单字符串多次连接
aaabbb
python	python	python
3、字符串处理

string.capitalize() 将字符串的第一个字母大写 string.count() 获得字符串某一子字符的个数 string.find() 获得字符串中某一子字符串的起始位置,无则返回-1 string.isalnum() 检测字符串是仅包含0-9A-Za-z string.isalpha() 检测字符串是仅包含A-Za-z string.isdigit() 检测字符串是仅包含数字 string.islower() 检测字符串是否均为小写 string.isspace() 检测字符串中所有字符是否均为空白字符 string.istitle() 检测字符串中的单词是否为首字母大写 string.isupper() 检测字符串是否均为大写字母 string.join() 连接字符串 string.lower() 将字符串全部转换为小写 string.split(sep,maxsplit) 分割字符串,sep指定分割的字符,maxsplit分割次数 string.swapcase() 将字符串中大写字母转换为小写,小写字母转换为大写 string.title() 将字符串中的单词首字母大写 string.upper() 将字符串中全部字母转换为大写 len(string) 获取字符串长度

In [54]:

test ='python学习测试文本python'
print(test.capitalize())
print(test.count('o'))
print(test.find('学'))
print(test.isalnum())
print(test.islower())
print(test.isspace())
print(test.istitle())
print(test.join('study')) #这个挺有意思,每个字符都加入到字符串的首位
print(test.split())
print(test.split('o'))
print(test.split('o',1))
print(test.swapcase())
print(test.title())
print(len(test))
Python学习测试文本python
2
6
True
True
False
False
spython学习测试文本pythontpython学习测试文本pythonupython学习测试文本pythondpython学习测试文本pythony
['python学习测试文本python']
['pyth', 'n学习测试文本pyth', 'n']
['pyth', 'n学习测试文本python']
PYTHON学习测试文本PYTHON
Python学习测试文本Python
18

3.1.2 整数

0o[0O]24 八进制 0x[0X]3f 十六进制 0b[0B]101 二进制 这里的[]代表或者的意思,如0o24 = 0O24 第一位是零,第二位是字母O 十进制不得用0开头书写

In [57]:

print(0o24)
print(0x3f)
print(0b101)
20
63
5

** 乘方 * 乘法 / 除法 结果为浮点数,即使是两个整数相除 // 整除 14//4=3 % 取余 + 加法 - 减法 | 位或 ^ 位异或 & 位与 << 左移运算 >> 右移运算 优先级 ** *./.% +.- |^&<<>>

3.1.3 浮点数

带小数点的数 19. 0.098 -2e3 科学计数法,表示-2*10三次方

In [63]:

print(19/1) #结合上面的运算符号可以看出/得到的是浮点数
print(19//1)
print(19.)
print(19)
print(0.098)
19.0
19
19.0
19
0.098

3.1.4 类型转换

str(object='') 整数和浮点数转换为字符 int(x,base=10) 数字转换为整数,base表示进制 float(x) 转换为浮点数

In [67]:

print(int(23.9))
print(int(23.001))
print(int('23'))
print(float(3))
print(float('3'))
print(float('3.2'))
print(str(23))
print(str(23.2))
print(int('23.1')) #23.1 并不是整数,所以提示错误
23
23
23
3.0
3.0
3.2
23
23.2
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-67-c170b5b0f3d9> in <module>()
      7 print(str(23))
      8 print(str(23.2))
----> 9 print(int('23.1'))

ValueError: invalid literal for int() with base 10: '23.1'

3.2 字符串进阶

3.2.1 原始字符串

In [70]:

r'abc\akdd'  #将r后的内容全部转换为字符串,但是不能以\结尾
r'abc\'
File "<ipython-input-70-e8a9dadac6e9>", line 2
    r'abc\'
           ^
SyntaxError: EOL while scanning string literal

3.2.2 格式化字符串

%c 单个字符 %d 十进制整数 %o 八进制整数 %s 字符串 %x 十六进制整数,其中的字母小写 %X 十六进制整数,其中的字符大写

In [74]:

print('I am a %s '% 'programment')
print('I am a %s %s'% ('programment','加一点东西看看'))
print('%d + %d = %d' % (2,3,2+3))
I am a programment 
I am a programment 加一点东西看看
2 + 3 = 5

3.2.3 中文字符串处理

In [85]:

wd = '我爱python'
wd_utf8_bts = wd.encode()  #默认为utf-8,可以使用gbk、gb2313等方式编码
print(wd_utf8_bts)
wd_utf8_bts = wd_utf8_bts.decode()
print(wd_utf8_bts)
wd_utf8_bts = wd_utf8_bts.decode('gbk') #解码必须和编码时方式一致
print(wd_utf8_bts)
b'\xe6\x88\x91\xe7\x88\xb1python'
我爱python
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-85-09f0d61dd014> in <module>()
      4 wd_utf8_bts = wd_utf8_bts.decode()
      5 print(wd_utf8_bts)
----> 6 wd_utf8_bts = wd_utf8_bts.decode('gbk') #解码必须和编码时方式一致
      7 print(wd_utf8_bts)

AttributeError: 'str' object has no attribute 'decode'

转载于:https://my.oschina.net/zhackj/blog/1632696

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值