Hello World
创建一个名为hello.py的文件,并编辑
#! /usr/bin/env python3
# -*- coding:utf-8 -*-
print("Hello,World!")
变量
先打好招呼,如下:
- 变量名只能是字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 不能使用关键字
loser专用写法:
- [ 拼音] bianliang = ”Hello Wrold“
- [中文] 变量 = “Hello Wrold”
- [ 任性] dsfljl = “Hello Wrold”
winner写法:
- name = “Python”
- phone = “iphone”
注意: name = “Alex” 是将Alex赋值给name
input & raw_input
# in python3.x
name = input("What is your name ?")
print("I am " + name)
#in python 2.x
name_python2 = raw_input("What is your name?")
print(name_pyton2)
注意: 当使用input时,得要的数据类型是一个字符串的类型。如果需要更新需要进行“强制转换”。
初识模块
- [ getpass] 登陆windows/Linux时输入用户名密码,想要密码不可见,利用getpass模块中的getpass方法
import getpass
username = input("User:")
passcode = getpass.getpass("Password:")
#print STDOUT
print(passcode)
- [sys ]
import sys
print(sys.argv)
#输出
$ python test.py helo world
['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到了
- [ os]
import os
os.system("df -h") #调用系统命令
'''
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos00-root 49G 6.6G 43G 14% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 253M 106M 147M 42% /boot
/dev/sr0 3.9G 3.9G 0 100% /run/media/root/CentOS 7 x86_64
Out[14]: 0
'''
数据类型
java中基本数据类型四类八种基本数据类型:
- python中只有整型(int),没有长度限制
- 布尔值
真或假(True/False)
1或0
注:在python中布尔型也是只有两,一个True,一个False,且True相当于是1,False相当于是0.
- 字符串
"hello world "
万恶的字符串拼接:
python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串的基本操作:
name = "m\ty name is alex"
print(name.expandtabs(tabsize=30))
print("hello,"*2)
print("helloword"[2:])
print("----------find-----------")
print(name.find("m"))#0 查找m的索引位置,默认从左至右
print(name.rfind("m"))#5
print("----------index-----------")
print(name.index("y"))#1 查看y的索引位置
print(name.rindex("a"))#11
print("注意:find如果没有查找到关键字,返回-1;index则直接报错")
print("============================")
print("----------format-----------")
names = "my name is {name} and i am {years} old."
print(names.format(name="alex",years="28"))
print("----------format_map-----------")
print(names.format_map({"name":"alex","years":"38"}))
print("----------判断类-----------")
print("222".isdigit()) #True
print("fsd4324f".isalnum()) #True 判断是否含有数字或字母或汉字
print("A34fh".isalpha()) #False 判断是否为纯字母字符
print("fsFDSf".isupper()) #False 判断是否都是大写
print("dsfs".islower())#True 判断是否都是小写
print("A_H_Os".istitle())#True 判断每个单词首写 是否为大写
print(' '.isspace())#True 判断是否为空格
print("234df".isidentifier())# 判断是否为非法变量
print("zoey chou".title())# 每个单词首字母大写
print("z qi".capitalize())# 首字母大写
print("mY tItLe".lower())# 全部变小写
print("mY tItLe".upper())# 全部变大写
print("mY tItLe".swapcase())# 大小写互换
print("jzzzey".replace("z","Z",1))# jZzzey
print("------------------------------------------------")
tmp = " shsnc "
print(tmp.lstrip()) #用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
print(tmp.rstrip()) #用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
print(tmp.strip()) #用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
print("------------------------------------------------")
print("sdffdj".center(10,"*"))# 总长度为10,将字符串居中,不够两端用*补位
print("fdsff".endswith("f")) # 是不是已什么结尾
print("zhouqi".startswith("h")) # 是不是已什么开头
print("---------------关键字in----------")
print(123 in [23,45,324]) #False
print("name" in name) #True
print("重点--------列表变字符串")
names1 = ["laoli","laowang","laozhou"] #字符串,列表,元组都可以
names1_str = '###'.join(names1)#以###(可以以空格)分割jiang列表中每个元素拼接成字符串
print(names1_str)
print("==========================")
print("alex li".split()) #按空格键来创建一个列表
print("alex,li".split())
print("my title title".rsplit()) #已右边的i为一个分隔符,来创建一个列表
print("my title title".rsplit("i",1)) #已右边的i为一个分隔符,来创建一个列表
print("1+2\n3+4".splitlines())
- 列表
过列表可以对数据实现最方便的存储、修改等操作
定义列表
names = ['Alex',"Tenglan",'Eric']
>>> names[0]
'Alex'
>>> names[2]
'Eric'
>>> names[-1]
'Eric'
>>> names[-2] #还可以倒着取
'Tenglan'
切片:取多个元素
>>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4] #取下标1至下标4之间的数字,包括1,不包括4
['Tenglan', 'Eric', 'Rain']
>>> names[1:-1] #取下标1至-1的值,不包括-1
['Tenglan', 'Eric', 'Rain', 'Tom']
>>> names[0:3]
['Alex', 'Tenglan', 'Eric']
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
['Alex', 'Tenglan', 'Eric']
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
['Rain', 'Tom', 'Amy']
>>> names[3:-1] #这样-1就不会被包含了
['Rain', 'Tom']
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
['Alex', 'Eric', 'Tom']
>>> names[::2] #和上句效果一样
['Alex', 'Eric', 'Tom']
追加
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
>>> names.append("我是新来的")
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
>>> names.append("我是新来的")
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
- 元组
- 字典