1. python入门杂记

python
# py是类似脚本语言,也使用#来作为注释的标志

print('--------------i love the world-----------')
temp = input("guess my number:")   #input是内嵌输入函数,返回值默认是字符串
guess = int(temp)   #把字符串转成int
if guess == 8:      # : 循环使用  判断 == 使用:结尾
    print("you are right")  
    print("No gift~.~")
else:
    print("you are wrong")
print("Game Over");
```

BIF === Built-in functions  内置函数
`dir(__builtins__)`  这条明天是查询python的内置函数
`help(input)` help类似man page, 获取函数帮助

原始字符串
```python
path=r"C:\now"
path会自动把\转义  ====>>"C:\\now"
#但是请注意  原始字符串是不能以反斜杠结尾  会提示语法错误
>>>str = r'C:\Program Files\FishC\Good''\\'     #这样可以
```
长字符串/多行
```
longstr = """niha
asdfafds"""
#此时打印longstr,会得到两行字符串
#注意  是双引号
```
与操作符  and
```
(10 < cost) and (cost < 50) 
#  注意:   当and两边都为真时,结果与C/C++不一样  要注意一下  
        (1 and 3) ====> 3
        (3 and 1) ====> 1
        (3 and 0) ====> 0
        (0 and 3) ====> 0

```
随机数模块
```
import random
secret = random.randint(1,10)   #1~10之间的数
```
类型转换
```
int()   int类型转换  但是注意,如果是int(5.99),不会四舍五入  而是直接取5
float() 浮点型
str()   字符型
```
判断变量类型
```
type("str")  ===>    <class 'str'>
type(5.2)   ===>    <class 'float'>
type(bool) ===>    <class 'type'>

temp = input("请输入一个整数:")
# 这种想法是因为type(1)会返回<class 'int'>,如果type(temp)返回结果一致说明输入是整数。
while type(temp) != type(1):
    print("抱歉,输入不合法,", end='')
    temp = input("请输入一个整数:")

isinstance("123", str)  ====>  True
isinstance("123", int)  ====>  False

temp = input("请输入一个整数:")
# 这种想法是因为type(1)会返回<class 'int'>,如果type(temp)返回结果一致说明输入是整数。
while no isinstance(temp, int):
    print("抱歉,输入不合法,", end='')
    temp = input("请输入一个整数:")   
```
python常用的操作符
```
#算数操作符
+   -   *   /(会有小数)     //(舍弃小数)      %(取余)   **(幂运算)
+=  -=  *=  /=

#值得注意的**与单目运算符优先级问题
-3**2 ===> -9
//这里注意 优先级是-(3**2),幂运算优先级更高一点

#逻辑操作符
and     or      not
3 < 4 < 5 ===> True  ===> (3<4) adn (4<5)
幂运算优先级最高,大于正负数
```
三元操作符
```
x, y = 4, 5
small = x if x < y else y
语法是:x if 条件 else y    ===>条件为真返回x,为假返回y
```
断言
```
assert 3 > 4            #====> 当条件为假时,程序自动崩溃
```
while
```
favourite = 'FishC'
for i in favourite:
    print(i, end=' ')

member = ['111', '222', '333']
for each in member:
    print(each, len(member))

for each in member:
    print(each, len(each))

for i in range(2,9,2):  #(起始,终止,步长)
    print(i)
```
列表
```
#创建
member = ['小甲鱼', '小布丁', '黑夜', '迷途']
number = [1, 2, 3, 4, 5]
mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
empty = []

#添加元素
member.append('葫芦娃')     #len(member)
member.insert(1, 'gg')      #(位置, 成员)  从0开始

#删除
member.remove('bb')
member.pop('bb')    #删除并返回最后一个
member.pop(1)   #删除指定位置元素并返回

member[1:3]     #[起始,结束] 返回一个新列表
member[1:]      member[:3]      member[:]
```
列表的操作符
```
>>> list1 = [123]
>>> list2 = [234]
>>> list1 > list2
False
>>> list1=[1, 2, 3]
>>> list2=[2, 1, 1]
>>> list1 > list2
        False
list3=[1, 2, 3]
(list1<list2) and (list1 == list3)
        True
list4 = list1 + list2
>>> list4
    [1, 2, 3, 2, 1, 1]
列表还支持* 和*=等操作符,

in 和 not in
1 in list3
True
1 not in list3
False
'a' in list3
False
```
```
list3.count(123)   查看123在list3里面的次数
list3.index(123, 3, 7)  返回在3~7中,123在第几位
list3.reverse()     返转
list3.sort()  排序,
```

列表的复制操作注意事项
```
list1=list2   
只是把起了一个别名而已,两个变量名指向同一个内存,如果list1.reverse(), 那个list2里面的内容也是反转之后的
list3=list2[:]
是重新生成一块内存来存储list2[:]的分片,内存是独立的
```

你可能感兴趣的:(python)